Sicherheitsheader: Die erste Verteidigungslinie des Browsers
HTTP-Sicherheitsheader sind Anweisungen, die der Webserver zusammen mit der Antwort an den Browser sendet und angeben, wie er sich verhalten soll, um den Benutzer zu schuetzen. Ohne diese Header wendet der Browser nur seine Standardrichtlinien an, die oft nicht ausreichen, um Angriffe wie XSS (Cross-Site Scripting), Clickjacking, Content-Type-Sniffing und HTTPS-Downgrade zu verhindern. Die richtigen Header zu konfigurieren ist eine der effektivsten und am wenigsten invasiven Sicherheitsmassnahmen, die Sie implementieren koennen.
Unser Security Headers Analyzer ueberprueft das Vorhandensein und die korrekte Konfiguration jedes Sicherheitsheaders, vergibt einen Score und liefert spezifische Empfehlungen. Aber im Gegensatz zu einem einfachen Vorhanden/Nicht-vorhanden-Check analysiert er auch die Werte: Ein zu permissives CSP (unsafe-inline, unsafe-eval) ist fast schlimmer, als keines zu haben, weil es ein falsches Sicherheitsgefuehl erzeugt.
Die wesentlichen Header
CSP (Content-Security-Policy) ist der maechtigste: Er definiert, welche Ressourcen der Browser laden kann und woher. Er verhindert effektiv XSS-Angriffe, indem er die Ausfuehrung nicht autorisierter Skripte blockiert. HSTS (Strict-Transport-Security) zwingt den Browser, immer HTTPS zu verwenden, auch wenn der Benutzer http:// eingibt. Der Preload-Parameter ermoeglicht es, die Domain in die HSTS-Preloaded-Liste der Browser aufzunehmen, wodurch HTTPS ab dem allerersten Besuch gewaehrleistet wird.
Praktische Implementierung
Die Implementierung erfolgt auf Webserver-Ebene. In Nginx fuegen Sie add_header in Server- oder Location-Direktiven hinzu. In Apache verwenden Sie Header set in der .htaccess-Datei oder Virtualhost-Konfiguration. Wenn Sie ein CDN nutzen (Cloudflare, AWS CloudFront), koennen Sie die Header direkt im CDN konfigurieren. Ueberpruefen Sie immer das Ergebnis mit unserem Security Headers Check nach jeder Aenderung, und testen Sie die Website, um sicherzustellen, dass CSP keine legitimen Ressourcen blockiert.
Kombinieren Sie die Header-Ueberpruefung mit SSL Check zur Ueberpruefung des SSL-Zertifikats und HTTP Headers fuer eine vollstaendige Analyse aller Antwort-Header (nicht nur der Sicherheits-Header). Eine Website mit perfektem HTTPS, aber ohne Sicherheitsheader ist anfaellig fuer Angriffe, die HTTPS nicht verhindert (XSS, Clickjacking). Umgekehrt haben Sicherheitsheader ohne HTTPS nur begrenzte Wirksamkeit. Web-Sicherheit erfordert beides.
Der empfohlene Ansatz ist inkrementell: Beginnen Sie mit den einfachsten Headern (X-Content-Type-Options, X-Frame-Options), fuegen Sie dann HSTS und Referrer-Policy hinzu, und implementieren Sie schliesslich CSP, beginnend mit einer permissiven Richtlinie und schrittweiser Verschaerfung unter Ueberwachung der Verstösse mit dem report-uri-Parameter. Ein zu restriktives CSP, das ohne Tests gestartet wird, kann Website-Funktionalitaeten brechen, daher testen Sie immer im Report-Only-Modus, bevor Sie es durchsetzen.