Was sind HTTP Security Headers?
Security Headers sind HTTP-Response-Header, die der Webserver bei jedem Seitenaufruf an den Browser sendet. Sie weisen den Browser an, bestimmte Sicherheitsmaßnahmen zu aktivieren, beispielsweise nur verschlüsselte Verbindungen zu akzeptieren, das Einbetten der Seite in Frames zu verbieten oder die Ausführung unsicherer Skripte zu unterbinden.
Das Besondere: Security Headers kosten nichts, verlangsamen die Website nicht und lassen sich in wenigen Minuten konfigurieren. Trotzdem fehlen sie auf einem Großteil aller Websites.
Diese 7 Security Headers prüft ThreatPulse
Strict-Transport-Security (HSTS): kritisch wenn fehlend
Erzwingt, dass der Browser die Website ausschließlich über HTTPS aufruft. Verhindert Downgrade-Angriffe, bei denen ein Angreifer die Verbindung von HTTPS auf HTTP herunterstuft.
Empfohlener Wert: max-age=31536000; includeSubDomains. ThreatPulse warnt zusätzlich, wenn der max-age-Wert unter 6 Monaten liegt.
X-Frame-Options: kritisch wenn fehlend
Verhindert, dass die Website in einem <iframe> auf einer fremden Seite eingebettet wird. Schützt vor Clickjacking-Angriffen.
Empfohlener Wert: DENY oder SAMEORIGIN.
Content-Security-Policy (CSP): Warnung wenn fehlend
Definiert eine Whitelist, welche Ressourcen der Browser laden darf. Wirksamer Schutz gegen Cross-Site-Scripting (XSS). Eine korrekte CSP ist komplex, deshalb stuft ThreatPulse einen fehlenden CSP-Header bewusst nur als Warnung ein, nicht als kritisch.
ThreatPulse prüft nicht nur ob ein CSP-Header vorhanden ist, sondern warnt auch bei unsicheren Direktiven wie unsafe-inline für Skripte.
X-Content-Type-Options: Warnung wenn fehlend
Verhindert MIME-Sniffing. Der Browser darf den Dateityp nicht erraten. Ohne diesen Header könnte ein Angreifer eine als Bild getarnte JavaScript-Datei einschleusen.
Einziger gültiger Wert: nosniff.
Referrer-Policy: Warnung wenn fehlend
Steuert, welche Referrer-Informationen bei Klicks auf externe Links übermittelt werden. Ein zu offener Referrer kann sensible URL-Parameter an Dritte verraten.
Empfohlener Wert: strict-origin-when-cross-origin oder no-referrer.
Permissions-Policy: Warnung wenn fehlend
Kontrolliert, welche Browser-Funktionen (Kamera, Mikrofon, Geolocation) die Website verwenden darf. Begrenzt die Angriffsfläche, falls ein Drittanbieter-Skript kompromittiert wird.
X-XSS-Protection: informativ
Aktiviert den integrierten XSS-Filter älterer Browser. Moderne Browser haben diesen Filter teilweise entfernt. ThreatPulse prüft diesen Header als informativen Hinweis.
Information Disclosure
Neben fehlenden Security Headers prüft ThreatPulse auch, ob dein Server unnötige Informationen preisgibt. Header wie Server, X-Powered-By, X-ASPNet-Version oder X-Generator verraten Angreifern die eingesetzte Software und Version und sollten entfernt oder maskiert werden.
Security Headers einrichten
Die Header werden in der Webserver-Konfiguration gesetzt. Bei Apache geschieht das über die .htaccess-Datei, bei Nginx in der server-Direktive. Bei WordPress können alternativ Plugins wie Headers Security Advanced & HSTS WP verwendet werden.
Wichtig: Teste neue Security Headers immer zuerst auf einem Staging-System. Besonders eine falsch konfigurierte Content-Security-Policy kann dafür sorgen, dass Teile deiner Website nicht mehr funktionieren.