Warum Sicherheits-Header wichtig sind
HTTP-Sicherheits-Header sind Anweisungen, die Ihr Webserver an den Browser sendet und ihm mitteilen, wie er sich beim Umgang mit den Inhalten Ihrer Website verhalten soll. Sie gehoeren zu den effektivsten und kostenguenstigsten Sicherheitsmassnahmen, die Sie implementieren koennen. Keine Code-Aenderungen an Ihrer Anwendung. Keine neuen Abhaengigkeiten. Nur ein paar Zeilen Serverkonfiguration.
Dennoch fehlen der Mehrheit der von uns auditierten Websites kritische Sicherheits-Header. Weniger als 15% der Top-Million-Websites haben einen Content-Security-Policy-Header.
Content-Security-Policy (CSP)
CSP ist der maechtigste und komplexeste Sicherheits-Header. Er kontrolliert, welche Ressourcen der Browser auf Ihrer Seite laden darf. Ein korrekt konfigurierter CSP ist Ihre staerkste Verteidigung gegen Cross-Site-Scripting-Angriffe (XSS).
Wichtige Direktiven
| Direktive | Kontrolliert | Gaengige Werte |
|---|---|---|
default-src |
Fallback fuer alle Ressourcentypen | 'self' |
script-src |
JavaScript-Quellen | 'self', spezifische CDN-Domains |
style-src |
CSS-Quellen | 'self' 'unsafe-inline' |
img-src |
Bildquellen | 'self' data: https: |
frame-ancestors |
Wer Ihre Seite einbetten darf | 'none' |
object-src |
Flash, Java-Applets | 'none' |
Das 'unsafe-inline'-Problem
Die korrekte Alternative ist die Verwendung von Nonces oder Hashes fuer Skripte.
CSP-Reporting
Beginnen Sie mit Content-Security-Policy-Report-Only, um Ihre Policy zu testen, ohne etwas zu blockieren.
Haeufige CSP-Fehler
'unsafe-inline'und'unsafe-eval'fuer Skripte verwenden.- Zu permissive Wildcards.
object-src 'none'vergessen.- Fehlendes
base-uri. - Reports nicht ueberwachen.
X-Frame-Options
Kontrolliert, ob Ihre Website in einem iframe auf einer anderen Domain eingebettet werden kann. Schuetzt gegen Clickjacking.
Empfehlung: X-Frame-Options: DENY
X-Content-Type-Options
Verhindert MIME-Type-Sniffing.
X-Content-Type-Options: nosniff
Referrer-Policy
Kontrolliert, wie viele Referrer-Informationen der Browser sendet.
Empfehlung: Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy
Kontrolliert, welche Browser-Funktionen Ihre Website nutzen darf.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Strict-Transport-Security (HSTS)
Weist Browser an, sich nur ueber HTTPS mit Ihrer Website zu verbinden. Fuer eine breitere Diskussion lesen Sie unseren Leitfaden zu SSL/TLS-Zertifikaten.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Deployment-Strategie
- Beginnen Sie mit
max-age=300(5 Minuten). Testen Sie alles. - Erhoehen Sie auf
max-age=86400(1 Tag). - Erhoehen Sie auf
max-age=604800(1 Woche). - Gehen Sie auf
max-age=31536000(1 Jahr) mitincludeSubDomainsundpreload.
Implementierungsbeispiele
Nginx
Fuegen Sie die Header im server-Block der nginx.conf hinzu. Verwenden Sie das Schluesselwort always, um sicherzustellen, dass Header auch bei Fehlerantworten gesendet werden.
Apache
Fuegen Sie in der .htaccess oder der Virtual-Host-Konfiguration hinzu. Stellen Sie sicher, dass mod_headers aktiviert ist.
Cloudflare
Transform Rules, Workers oder _headers-Datei fuer Cloudflare Pages.
Auswirkung auf die Sicherheit
| Schutz | Ohne Header | Mit Headern |
|---|---|---|
| XSS-Angriffe | Verwundbar | Durch CSP abgemildert |
| Clickjacking | Verwundbar | Durch X-Frame-Options blockiert |
| MIME-Sniffing | Verwundbar | Durch X-Content-Type-Options verhindert |
| SSL-Stripping | Beim ersten Besuch verwundbar | Durch HSTS verhindert |
| securityheaders.com-Note | D oder F | A oder A+ |
Sicherheits-Header und OWASP
Viele der besprochenen Header adressieren direkt OWASP-Top-10-Risiken. Fuer weitere Informationen lesen Sie unseren Artikel OWASP Top 10 erklaert.
Schrittweiser Implementierungsplan
Phase 1: Schnelle Gewinne (Tag 1)
X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy.
Phase 2: HSTS (Woche 1-2)
Mit niedrigem max-age beginnen und schrittweise erhoehen.
Phase 3: CSP (Woche 2-4)
Im Report-Only-Modus deployen, analysieren, verstaerken, Enforcement aktivieren.
Fazit
Sicherheits-Header bieten eines der besten Kosten-Nutzen-Verhaeltnisse unter den Sicherheitsmassnahmen. Ihr Ziel sollte ein A+ auf securityheaders.com sein. Wenn Sie Hilfe benoetigen, kontaktieren Sie unser Team in Lugano. Wir helfen Unternehmen in der ganzen Schweiz, sichere Webanwendungen mit korrekten Sicherheits-Headern zu erstellen.
Wollen Sie wissen, ob Ihre Website sicher ist?
Fordern Sie ein kostenloses Sicherheitsaudit an. In 48 Stunden erhalten Sie einen vollständigen Bericht.
Kostenloses Audit Anfordern