IT-Sicherheit

Sicherheits-Checkliste für Web-Apps – Deine 15-Punkt-Liste

Kevin KrögerIT-Sicherheit

Bevor du eine Web-App launchst, überprüfe diese 15 Security-Punkte. Alle sind essentiell.

Die Checkliste

1. HTTPS überall - [ ] Alle Seiten sind HTTPS, nicht HTTP - [ ] Redirects von HTTP zu HTTPS - [ ] HSTS Header ist gesetzt 2. Authentifizierung - [ ] Passwörter werden gehashed (bcrypt/Argon2, nicht MD5/SHA1) - [ ] Password Resets sind sicher (token-based) - [ ] MFA (Multi-Factor Auth) ist implementiert (zumindest optional) - [ ] Session Timeouts sind konfiguriert 3. Authorization - [ ] Nur Users können ihre eigenen Daten sehen - [ ] Admins können alle Daten sehen (aber müssen identifiziert sein) - [ ] Privilege Escalation ist nicht möglich - [ ] CORS ist richtig konfiguriert 4. Input Validation - [ ] Alle User-Input wird validiert auf dem Server - [ ] SQL Injection wird verhindert (prepared statements) - [ ] XSS wird verhindert (output escaping) - [ ] CSRF Protection ist aktiv 5. Daten-Sicherheit - [ ] Sensible Daten sind verschlüsselt (passwords, credit cards, etc.) - [ ] Database Backups werden gemacht und getestet - [ ] Daten-Retention Policy ist implementiert (alte Daten löschen) 6. Error Handling - [ ] Error Messages sind nicht zu informativ (keine Stack Traces in Production) - [ ] Logging ist implementiert für wichtige Events - [ ] Monitoring ist aktiv (du wirst benachrichtigt bei Issues) 7. Dependencies - [ ] Keine outdated Libraries - [ ] Vulnerability Scanner (Snyk, Dependabot) ist aktiv - [ ] Dependencies werden regelmäßig updated 8. Infrastructure - [ ] Server ist hardened (unnötige Services sind disabled) - [ ] Firewall ist konfiguriert - [ ] DDoS Protection ist aktiv (wenn möglich) 9. Access Control - [ ] Nur notwendige Ports sind offen - [ ] SSH läuft nicht auf Default Port - [ ] Admin-Panels sind IP-restricted - [ ] SSH Keys werden genutzt (kein Password) 10. API Security - [ ] API ist authenticated (API Keys oder OAuth) - [ ] Rate Limiting ist aktiv - [ ] API Documentation nennt keine sensiblen Details 11. Third-Party - [ ] Alle Third-Party Services sind überprüft (Security Policy) - [ ] Nur absolut notwendige Third-Parties sind integriert - [ ] Data Sharing Agreements sind signed 12. Privacy & Compliance - [ ] Privacy Policy ist up-to-date - [ ] DSGVO ist beachtet (wenn EU) - [ ] Cookies sind consent-based - [ ] Data Requests (Lösch-Requests) sind implementiert 13. Testing - [ ] Security Testing ist gemacht (oder geplant) - [ ] Unit Tests für Security-kritigen Code - [ ] Integration Tests für Auth und Authorization 14. Deployment & DevOps - [ ] Secrets (API Keys, Passwords) sind in Environment Variables, nicht im Code - [ ] Build Pipeline hat Security Checks - [ ] nur autorisierte Personen können deployen 15. Incident Response - [ ] Du hast einen Plan falls deine App gehackt wird - [ ] Contact Info für Security Issues ist dokumentiert - [ ] Bug Bounty oder Pentest ist geplant

Wie du diese Checkliste nutzt

1. Gehe jede Punkt durch 2. Für jeden Punkt: "Ist das implementiert? Ja / Nein / Teilweise" 3. Für "Nein": Erstelle einen Task, um es zu fixen 4. Prioritäise: Die oberen Punkte sind am wichtigsten 5. Review: Ein anderer Entwickler sollte deine Answers überprüfen

Häufige Fehler

- "Wir fixen Sicherheit später" – Nein, mach es jetzt - "Wir sind zu klein um gehackt zu werden" – Das ist falsch - "Unser Framework kümmert sich um Sicherheit" – Nein, du musst es auch tun - "Pentesting ist zu teuer" – Ein Breach ist teurer

Fazit

Diese Checkliste ist nicht 100% komplett – es gibt hunderte von Security-Details. Aber wenn du alle 15 Punkte implementierst, bist du besser geschützt als 95% der Websites da draußen.

Häufige Fragen