Technische & organisatorische Maßnahmen
Stand: März 2026
Gemäß Art. 32 DSGVO dokumentiert Foxizer die getroffenen technischen und organisatorischen Maßnahmen zum Schutz personenbezogener Daten.
1. Zutrittskontrolle
Maßnahmen, die Unbefugten den Zutritt zu Datenverarbeitungsanlagen verwehren:
- Die Infrastruktur wird ausschließlich in einem professionellen Rechenzentrum (Hetzner Online GmbH) betrieben, das physische Zugangskontrollen, Videoüberwachung und Sicherheitspersonal vorhält.
- Kein physischer Zugang zu Serverräumen durch den Verantwortlichen oder Mitarbeiter – Verwaltung ausschließlich remote über gesicherte Verbindungen.
- SSH-Zugänge sind durch kryptografische Schlüsselpaare (Public-Key-Authentifizierung) gesichert; Passwort-Login ist deaktiviert.
2. Zugangskontrolle
Maßnahmen, die verhindern, dass Datenverarbeitungssysteme von Unbefugten genutzt werden:
- Benutzerauthentifizierung durch Benutzername und sicheres Passwort (PBKDF2 mit SHA256, Django-Standard).
- Passwörter werden ausschließlich als gesalzene Hashes gespeichert – Klartextpasswörter werden niemals gespeichert.
- Optionale Zwei-Faktor-Authentifizierung (2FA) per TOTP (zeitbasiertes Einmalpasswort) für alle Nutzerkonten.
- Automatische Account-Sperrung nach mehrfachen Fehlanmeldungen (django-axes: 10 Versuche, 15 Minuten Sperre).
- Pflicht zur E-Mail-Verifizierung vor Nutzung produktiver Funktionen.
- Session-Timeout (8 Stunden), Session-Ablauf bei Browser-Schließung und CSRF-Schutz durch Django-Framework.
- Serveradministration ausschließlich über SSH mit individuellen kryptografischen Schlüsseln (Public-Key-Auth).
3. Zugriffskontrolle
Maßnahmen, die gewährleisten, dass Berechtigte ausschließlich auf die ihrer Zugriffsberechtigung unterliegenden Daten zugreifen können:
- Mandantentrennung: Jeder Nutzer sieht ausschließlich eigene Projekte, Mitarbeiter und Optimierungsergebnisse.
- Serverseitige Autorisierungsprüfungen bei jedem Request (Django-Berechtigungssystem, @login_required-Dekoratoren).
- Datenbankzugriff nur über einen dedizierten Anwendungsbenutzer mit minimalen Rechten (Principle of Least Privilege).
- Administrativer Zugang zum Django-Admin ausschließlich für autorisierte Administratoren (abweichende URL, zusätzlich durch 2FA gesichert).
- Sicherheitsrelevante Aktionen (Login, Passwortänderung, 2FA-Aktivierung, Account-Löschung, Datenexport) werden in einem Audit-Log mit Zeitstempel und IP-Adresse protokolliert.
4. Trennungskontrolle
Maßnahmen, die gewährleisten, dass zu unterschiedlichen Zwecken erhobene Daten getrennt verarbeitet werden:
- Strikte logische Trennung von Kundendaten auf Datenbankebene durch Fremdschlüsselbeziehungen und projektbezogene Filterung.
- Produktions- und Entwicklungsumgebungen sind physisch und logisch voneinander getrennt.
- Test- und Produktivdatenbanken werden nicht vermischt.
5. Pseudonymisierung
Maßnahmen zur Pseudonymisierung personenbezogener Daten:
- Interne Datenbank-IDs (Integer-Primärschlüssel) werden für externe URLs und API-Zugriffe verwendet – keine Offenlegung interner Systemstrukturen.
- E-Mail-Adressen werden ausschließlich für Systembenachrichtigungen und Authentifizierung verwendet und nicht an Dritte weitergegeben.
- Protokolldaten enthalten keine unnötigen personenbezogenen Informationen.
6. Verschlüsselung
Maßnahmen zur Verschlüsselung personenbezogener Daten:
- Alle Datenübertragungen zwischen Nutzer und Server erfolgen ausschließlich über TLS (HTTPS), erzwungen durch HSTS.
- TLS-Zertifikate werden über Let's Encrypt bereitgestellt und automatisch erneuert.
- Passwörter werden ausschließlich mit PBKDF2 (SHA256) gespeichert – keine reversible Verschlüsselung.
- Datenbankverbindungen innerhalb der Serverinfrastruktur erfolgen über verschlüsselte Sockets.
7. Verfügbarkeitskontrolle
Maßnahmen, die gewährleisten, dass personenbezogene Daten gegen Zerstörung oder Verlust geschützt sind:
- Hosting in einem ISO 27001-zertifizierten Rechenzentrum mit redundanter Stromversorgung und Klimatisierung.
- Automatische Datenbankbackups werden täglich erstellt und an einem vom Primärsystem getrennten Speicherort aufbewahrt.
- Monitoring der Systemverfügbarkeit mit automatischen Benachrichtigungen bei Ausfällen.
- Gunicorn mit mehreren Worker-Prozessen für Ausfallsicherheit auf Anwendungsebene.
8. Belastbarkeit
Maßnahmen zur Gewährleistung der Belastbarkeit der Systeme:
- Einsatz von Nginx als Reverse Proxy mit Rate-Limiting zum Schutz vor Überlastung und DoS-Angriffen.
- Dateigröße-Limits für Uploads (max. 5 MB) zum Schutz vor Ressourcenerschöpfung.
- Django-Security-Middleware: XSS-Schutz, Clickjacking-Schutz, Content-Type-Sniffing-Schutz.
- Regelmäßige Sicherheitsupdates für Betriebssystem und Abhängigkeiten.
9. Wiederherstellbarkeit
Maßnahmen zur raschen Wiederherstellung der Verfügbarkeit personenbezogener Daten nach einem Zwischenfall:
- Dokumentierter Wiederherstellungsprozess aus Datenbank-Backups.
- Versionskontrolle des Anwendungscodes über Git (GitHub) ermöglicht schnelles Rollback auf frühere Versionen.
- Systemd-Service mit automatischem Neustart bei Prozessabsturz (Restart=always).
- Ziel-Wiederherstellungszeit (RTO): < 4 Stunden; Ziel-Wiederherstellungspunkt (RPO): < 24 Stunden.
10. Verfahren zur regelmäßigen Überprüfung
Maßnahmen zur regelmäßigen Überprüfung, Bewertung und Evaluierung der Wirksamkeit der technischen und organisatorischen Maßnahmen:
- Regelmäßige Überprüfung und Aktualisierung dieser TOM-Dokumentation, mindestens einmal jährlich.
- Code-Reviews bei sicherheitsrelevanten Änderungen.
- Überprüfung von Abhängigkeiten auf bekannte Sicherheitslücken (CVEs).
- Auswertung von Serverprotokollen auf ungewöhnliche Zugriffsmuster.
- Bei Datenpannen: unverzügliche Meldung an die zuständige Aufsichtsbehörde gemäß Art. 33 DSGVO innerhalb von 72 Stunden.