Datenschutzprüfung bei Webseiten
Mit dem monolox privacy check können folgenden Sicherheits- und Datenschutzprüfungen vorgenommen werden:
1. Sicherheits-Header
1.1. SSL/TLS-Verschlüsselung
1.2. HTTP Strict Transport Security (HSTS)
1.3. Content Security Policy (CSP)
1.4. X‑Frame-Options
1.5. X‑XSS-Protection
1.6. X‑Content-Type-Options
1.7. Referrer-Policy
1.8. Feature-Policy/Permissions-Policy
1.9. Expect-CT Header
1.10. Public Key Pinning (HPKP) (veraltet, aber noch relevant)
2. Cookies und Ressourcen
2.1. Secure Flag bei Cookies
2.2. HttpOnly Flag bei Cookies
2.3. SameSite Attribute bei Cookies
2.4. Vorhandensein eines Cookie-Banners
2.5. Externe Ressourcen (Skripte, Stylesheets)
2.6. Content Delivery Networks (CDNs)
2.7. Einbettung von Drittanbieter-Inhalten (z.B. Social Media Widgets)
2.8. Verwendung von Web Storage (localStorage, sessionStorage)
2.9. Einsatz von Web Workers
2.10. Nutzung von Service Workers
3. Dateneingabe und ‑validierung
3.1. Cross-Site Scripting (XSS) Schutz
3.2. SQL Injection Schutz
3.3. CSRF Token in Formularen
3.4. Eingabevalidierung auf Client-Seite
3.5. Eingabevalidierung auf Server-Seite (manuell)
3.6. Schutz vor HTTP Parameter Pollution
3.7. File Upload Validierung
3.8. Captcha oder andere Bot-Schutzmaßnahmen
3.9. Rate Limiting für Formulareingaben
3.10. Schutz vor XML External Entity (XXE) Attacken
4. Authentifizierung und Autorisierung
4.1. HTTPS für Login-Seiten
4.2. Passwort-Komplexitätsanforderungen
4.3. Brute-Force-Schutz bei Login
4.4. Zwei-Faktor-Authentifizierung (2FA) Option
4.5. Sichere Passwort-Zurücksetzung
4.6. Session-Timeout
4.7. Sichere Session-IDs
4.8. Logout-Funktion
4.9. Vermeidung von Credential Stuffing
4.10. OAuth2 und OpenID Connect Implementierung (falls vorhanden)
5. Datenverschlüsselung und ‑übertragung
5.1. TLS-Version und Cipher Suites
5.2. Perfect Forward Secrecy (PFS)
5.3. Verschlüsselung von Daten in Transit
5.4. Sichere Implementierung von AJAX/XHR
5.5. WebSocket Sicherheit
5.6. Einsatz von HSTS Preloading
5.7. Verschlüsselung sensibler Daten im Local Storage
5.8. Nutzung von Secure File Transfer Protokollen (SFTP, FTPS)
5.9. Implementierung von DNSSEC
5.10. Einsatz von DANE (DNS-based Authentication of Named Entities)
6. Datenspeicherung und ‑verwaltung
6.1. Sichere Konfiguration der Datenbank (manuell)
6.2. Verschlüsselung sensibler Daten in der Datenbank (manuell)
6.3. Trennung von Benutzer- und Systemdaten (manuell)
6.4. Implementierung von Datenbankzugriffskontrollen (manuell)
6.5. Regelmäßige Datenbankbackups (manuell)
6.6. Datenbankverbindungen über SSL/TLS
6.7. Vermeidung von hartcodierten Datenbankcredentials
6.8. Implementierung von Data Masking für sensible Daten
6.9. Datenbank-Auditing und Logging (manuell)
6.10. Datenlöschung und Archivierung (manuell)
7. Drittanbieter-Integrationen
7.1. Sicherheitsüberprüfung eingebundener JavaScript-Bibliotheken
7.2. Überprüfung auf veraltete/unsichere Plugins
7.3. Content Security Policy für Drittanbieter-Ressourcen
7.4. Sandbox für eingebettete Inhalte
7.5. Überprüfung der Datenschutzrichtlinien von Drittanbietern (manuell)
7.6. Sicherheitsanalyse von API-Integrationen (teilweise manuell)
7.7. Überprüfung von OAuth2-Implementierungen
7.8. Analyse der Datenfreigabe an Drittanbieter
7.9. Sicherheitsüberprüfung von CDN-Einbindungen
7.10. Überprüfung von Werbenetzwerk-Integrationen
8. Protokollierung und Überwachung
8.1. Implementierung von Sicherheits-Logging
8.2. Schutz der Log-Dateien vor unbefugtem Zugriff (manuell)
8.3. Implementierung von Intrusion Detection/Prevention Systemen (manuell)
8.4. Protokollierung von Benutzeraktivitäten
8.5. Implementierung von Log Rotation und Archivierung (manuell)
8.6. Echtzeitüberwachung für kritische Sicherheitsereignisse (manuell)
8.7. Protokollierung fehlgeschlagener Login-Versuche
8.8. Implementierung von Alarmierungsmechanismen (manuell)
8.9. Regelmäßige Log-Analyse (manuell)
8.10. Einhaltung von Compliance-Anforderungen bei der Protokollierung (manuell)
9. Fehlerbehandlung und Informationspreisgabe
9.1. Vermeidung von detaillierten Fehlerausgaben
9.2. Implementierung benutzerdefinierter Fehlerseiten
9.3. Verhinderung von Informationslecks in HTTP-Headern
9.4. Sichere Konfiguration von Debugging-Informationen
9.5. Vermeidung von Kommentaren mit sensiblen Informationen im Quellcode
9.6. Überprüfung auf versehentlich offengelegte Konfigurationsdateien
9.7. Sicherer Umgang mit Exception Handling (manuell)
9.8. Vermeidung von Directory Listing
9.9. Überprüfung auf Informationspreisgabe in Robots.txt
9.10. Sicherer Umgang mit Server-Signaturen
10. Mobile Sicherheit
10.1. Überprüfung der responsiven Designsicherheit
10.2. Sicherheit von mobilen APIs
10.3. Implementierung von App Transport Security (ATS) für iOS
10.4. Sicherheitsüberprüfung von WebViews
10.5. Schutz vor Clickjacking auf mobilen Geräten
10.6. Sichere Datenspeicherung auf mobilen Geräten (manuell)
10.7. Implementierung von Certificate Pinning für mobile Apps (manuell)
10.8. Sicherer Umgang mit Push-Benachrichtigungen
10.9. Überprüfung der Zugriffsberechtigungen mobiler Apps (manuell)
10.10. Implementierung sicherer Deep Links
11. API-Sicherheit
11.1. Authentifizierung für API-Zugriffe
11.2. Autorisierung für API-Endpunkte
11.3. Implementierung von API-Rate Limiting
11.4. Validierung von API-Eingaben
11.5. Vermeidung von Massenzuweisungsschwachstellen (manuell)
11.6. Sichere Handhabung von API-Versionierung
11.7. Implementierung von CORS für APIs
11.8. API-Dokumentation und Sicherheitsrichtlinien (manuell)
11.9. Überwachung und Logging von API-Aktivitäten
11.10. Implementierung von API-Gateways und Sicherheitskontrollen
12. Compliance und rechtliche Anforderungen
12.1. Vorhandensein einer Datenschutzerklärung
12.2. Implementierung von Cookie-Einwilligungsmechanismen
12.3. Einhaltung der DSGVO-Anforderungen (teilweise manuell)
12.4. Implementierung von Datenzugriffs- und Löschungsoptionen
12.5. Transparenz bei der Datenverarbeitung (manuell)
12.6. Einhaltung branchenspezifischer Compliance-Anforderungen (manuell)
12.7. Regelmäßige Durchführung von Datenschutz-Folgenabschätzungen (manuell)
12.8. Implementierung von Data Breach Notification Prozessen (manuell)
12.9. Einhaltung von grenzüberschreitenden Datentransferbestimmungen (manuell)
12.10. Regelmäßige Schulungen zu Datenschutz und Compliance (manuell)
13. Backup und Disaster Recovery
13.1. Regelmäßige Backups kritischer Daten (manuell)
13.2. Sichere Speicherung von Backups (manuell)
13.3. Testen der Backup-Wiederherstellung (manuell)
13.4. Implementierung eines Disaster Recovery Plans (manuell)
13.5. Redundanz kritischer Systeme (manuell)
13.6. Offsite-Backups für Katastrophenschutz (manuell)
13.7. Verschlüsselung von Backups
13.8. Zugriffskontrolle für Backups (manuell)
13.9. Dokumentation von Backup- und Recovery-Prozessen (manuell)
13.10. Regelmäßige Überprüfung und Aktualisierung des DR-Plans (manuell)
14. Nutzerkontrolle und Datenzugriff
14.1. Implementierung von Benutzerrechten und ‑rollen
14.2. Self-Service-Optionen für Benutzer zur Datenverwaltung
14.3. Transparente Darstellung gespeicherter Benutzerdaten
14.4. Möglichkeit zum Löschen des Benutzerkontos
14.5. Opt-in/Opt-out-Mechanismen für Datenverarbeitung
14.6. Implementierung von Einwilligungsmanagement
14.7. Zugriffsprotokolle für Benutzer (manuell)
14.8. Benachrichtigungen bei Änderungen am Benutzerkonto
14.9. Möglichkeit zum Export von Benutzerdaten
14.10. Implementierung von Kinderschutzmaßnahmen (falls erforderlich)
15. Sicherheits-Updates und Patch-Management
15.1. Regelmäßige Aktualisierung von Softwarekomponenten
15.2. Automatisierte Sicherheitsupdates (wenn möglich)
15.3. Patch-Management-Prozess (manuell)
15.4. Überprüfung auf veraltete Softwareversionen
15.5. Sicherheitsüberprüfungen nach Updates (manuell)
15.6. Notfallprozess für kritische Sicherheitsupdates (manuell)
15.7. Dokumentation des Update-Prozesses (manuell)
15.8. Testen von Updates in einer Staging-Umgebung (manuell)
15.9. Rollback-Plan für fehlgeschlagene Updates (manuell)
15.10. Benachrichtigungssystem für neue Sicherheitsupdates (manuell)