3.6 KiB
Sicherheitshinweise für Frida & Fred Webseite
✅ Implementierte Sicherheitsmaßnahmen
1. Geschützte Konfigurationsdatei
- config.php enthält sensible Zugangsdaten (SMTP-Passwort)
- Wird durch .htaccess vor direktem Zugriff geschützt
- Ist in .gitignore und wird NICHT ins Git-Repository committed
2. Git-Sicherheit
config.phpwird automatisch ignoriert- Nur
config.php.example(ohne echte Passwörter) wird ins Repository committed - Bei neuem Deployment:
config.php.examplekopieren und umbenennen
3. Spam-Schutz
- Honeypot-Feld: Verstecktes Feld fängt Bots ab
- Rate-Limiting: Max. 1 Nachricht pro Minute pro Benutzer
- CSRF-Token: Schutz vor Cross-Site-Request-Forgery
- Server-seitige Validierung: Alle Eingaben werden geprüft
4. Zugriffsbeschränkungen (.htaccess)
- Direkter Zugriff auf
config.phpist gesperrt - GET-Requests auf
send-mail.phpsind blockiert (nur POST erlaubt) - Sensible Dateien (.env, composer.json, .git) sind geschützt
🚀 Deployment auf neuem Server
Schritt 1: Dateien hochladen
Lade alle Dateien AUSSER config.php hoch (die ist in .gitignore).
Schritt 2: config.php erstellen
cp config.php.example config.php
Schritt 3: Zugangsdaten eintragen
Öffne config.php und trage die echten SMTP-Zugangsdaten ein.
Schritt 4: Berechtigungen setzen (empfohlen)
chmod 600 config.php # Nur Besitzer kann lesen/schreiben
🔒 Best Practices
Was du TUN solltest:
✅ config.php mit restriktiven Berechtigungen (600 oder 640)
✅ Regelmäßig das SMTP-Passwort ändern
✅ HTTPS verwenden (SSL-Zertifikat)
✅ PHP-Error-Logs regelmäßig prüfen
✅ config.php.example als Vorlage pflegen
Was du NICHT tun solltest:
❌ config.php ins Git-Repository committen
❌ Passwörter in öffentlichen Dateien speichern
❌ .htaccess löschen oder deaktivieren
❌ Debug-Modus in Produktion aktivieren
❌ Passwörter per E-Mail oder unsichere Kanäle teilen
📁 Dateistruktur
Webseite/
├── config.php # ❗ NICHT ins Git! (wird ignoriert)
├── config.php.example # ✅ Vorlage (ohne echte Passwörter)
├── send-mail.php # Mailer-Script
├── .htaccess # Zugriffsbeschränkungen
├── .gitignore # Ignoriert sensible Dateien
├── vendor/ # PHPMailer-Bibliothek
└── ...
🔐 Zusätzliche Sicherheitsempfehlungen
1. Umgebungsvariablen (fortgeschritten)
Noch sicherer: Verwende Umgebungsvariablen statt PHP-Dateien
- Bei Shared Hosting oft nicht verfügbar
- Bei VPS/Dedicated Server:
.envmit php-dotenv
2. Zwei-Faktor-Authentifizierung
Aktiviere 2FA für:
- E-Mail-Account (kontakt@webfarben.net)
- Server/FTP-Zugang
- Git-Repository
3. SSL/TLS-Zertifikat
- Stelle sicher, dass HTTPS aktiv ist
- Erzwinge HTTPS-Umleitung in .htaccess
4. Regelmäßige Updates
- PHPMailer regelmäßig aktualisieren
- PHP-Version aktuell halten
- Server-Software patchen
🆘 Was tun bei Kompromittierung?
Falls das Passwort kompromittiert wurde:
- Sofort Passwort ändern im E-Mail-Account
- config.php aktualisieren mit neuem Passwort
- Server-Logs prüfen auf verdächtige Aktivitäten
- Alle Zugriffe prüfen (FTP, SSH, Admin-Panels)
- Optional: Alle Passwörter rotieren
📞 Support
Bei Fragen zur Sicherheit:
- Prüfe die PHP-Error-Logs
- Kontaktiere deinen Hosting-Provider
- Dokumentation von PHPMailer: https://github.com/PHPMailer/PHPMailer
Wichtig: Diese Datei (SECURITY.md) kann ins Git-Repository committed werden, da sie keine sensiblen Informationen enthält.