← Zpět na blog Technik

Security Header als Datenschutz-Tool: CSP, HSTS und Permissions-Policy

Security Headers CSP HSTS Permissions-Policy Privacy by Design

Security Header als präventive Datenschutz-Maßnahmen

HTTP-Security-Header werden traditionell zur Abwehr von XSS und Man-in-the-Middle-Angriffen eingesetzt. Ihre Rolle als Datenschutz-Instrumente gemäß Art. 25 Abs. 1 DSGVO (Privacy by Design) wird jedoch oft übersehen. Content Security Policy (CSP), HTTP Strict Transport Security (HSTS) und Permissions-Policy können unerlaubte Datenübertragungen technisch verhindern und damit die Rechenschaftspflicht nach Art. 5 Abs. 2 DSGVO unterstützen.

Diese Header wirken als technische Schutzmaßnahmen, die bereits auf HTTP-Protokollebene greifen – bevor JavaScript-Code ausgeführt oder Verbindungen zu Drittanbietern aufgebaut werden können.

Content Security Policy: Technische Kontrolle über Datenflüsse

CSP definiert über die HTTP-Header Content-Security-Policy erlaubte Quellen für verschiedene Ressourcentypen. Für Datenschutz-Compliance sind besonders die Direktiven connect-src und script-src relevant.

Eine restriktive CSP-Konfiguration wie script-src 'self'; connect-src 'self' verhindert technisch das Laden von Tracking-Skripten Dritter und AJAX-Requests an externe Domänen. Dies unterstützt die Einhaltung der Zweckbindung nach Art. 5 Abs. 1 lit. b DSGVO, da unbeabsichtigte Datenübertragungen an Dritte ausgeschlossen werden.

Besonders relevant: Die CSP-Direktive report-uri dokumentiert Verstöße automatisch. Diese Logs können als technischer Nachweis dienen, dass keine unerlaubten Verbindungen zu Tracking-Diensten stattgefunden haben – ein wichtiger Baustein für die Rechenschaftspflicht.

Praktische CSP-Implementierung für Datenschutz

Für DSGVO-konforme Websites sollte die CSP mindestens folgende Direktiven enthalten:

  • default-src 'self' – Grundsätzlich nur eigene Ressourcen
  • script-src 'self' 'unsafe-inline' – Inline-Scripts nur wenn unvermeidbar
  • connect-src 'self' – Keine AJAX-Requests an Dritte
  • img-src 'self' data: – Verhindert Tracking-Pixel von Dritten

Ausnahmen für Consent-Management-Systeme oder notwendige Drittanbieter müssen explizit definiert und dokumentiert werden.

HSTS: Schutz sensibler Datenübertragungen

Der Strict-Transport-Security-Header erzwingt verschlüsselte Verbindungen und verhindert Downgrade-Angriffe. Aus Datenschutzsicht schützt HSTS personenbezogene Daten vor Interception während der Übertragung – eine technische Maßnahme nach Art. 32 Abs. 1 lit. a DSGVO.

Die Konfiguration Strict-Transport-Security: max-age=31536000; includeSubDomains; preload sorgt für:

  • Ganzjährige Gültigkeit der HTTPS-Erzwingung
  • Schutz aller Subdomänen
  • Aufnahme in Browser-Preload-Listen

Besonders kritisch bei Formulardaten: Ohne HSTS können Session-IDs und personenbezogene Daten bei Downgrade-Angriffen im Klartext übertragen werden.

Permissions-Policy: Granulare Kontrolle über Browser-APIs

Der Permissions-Policy-Header (ehemals Feature-Policy) kontrolliert den Zugriff auf Browser-APIs wie Geolocation, Kamera oder Mikrofon. Diese APIs verarbeiten besonders sensible personenbezogene Daten nach Art. 9 DSGVO.

Eine restriktive Policy wie Permissions-Policy: geolocation=(), camera=(), microphone=() deaktiviert diese APIs vollständig und verhindert unbeabsichtigte Zugriffe durch Third-Party-Scripts.

Für Websites, die diese APIs benötigen, sollte der Zugriff auf die eigene Domain beschränkt werden: geolocation=(self), camera=(self).

Dokumentationspflichten und rechtliche Einordnung

Die Implementierung von Security Headern muss nach Art. 30 DSGVO dokumentiert werden. Wichtige Elemente:

  1. Konfigurierte Header-Werte und ihre datenschutzrechtliche Begründung
  2. Ausnahmen für Drittanbieter mit entsprechenden AVV-Referenzen
  3. Monitoring-Logs der CSP-Reports als Compliance-Nachweis
  4. Regelmäßige Überprüfung der Header-Konfiguration

Technische Umsetzung und Monitoring

Security Header sollten sowohl server- als auch anwendungsseitig implementiert werden. Nginx-Konfiguration:

add_header Content-Security-Policy "default-src 'self'; script-src 'self'"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; add_header Permissions-Policy "geolocation=(), camera=()";

Für kontinuierliches Monitoring sollten CSP-Reports an einen dedizierten Endpoint gesendet und automatisiert ausgewertet werden. Verstöße gegen die konfigurierten Policies können Hinweise auf Datenschutzverletzungen geben.

Die regelmäßige Überprüfung der Header-Konfiguration mit Tools wie securityheaders.com oder observatory.mozilla.org gehört zu den technischen und organisatorischen Maßnahmen nach Art. 32 DSGVO.