Security-Header erklärt: Was HSTS, CSP & Co. wirklich bringen
Security-Header sind HTTP-Antwort-Header, die ein Server bei jeder Anfrage mitschickt und die dem Browser sagen, wie er sich bei deiner Seite verhalten soll. Sie kosten nichts, brauchen keine Plugins und schließen reale, bekannte Angriffsflächen. Trotzdem fehlen sie auf den meisten kleinen und mittleren Websites komplett. Hier die fünf wichtigsten, ohne Fachchinesisch.
HSTS (Strict-Transport-Security)
Sagt dem Browser: “Verbinde dich ab jetzt immer per HTTPS mit dieser Seite, auch wenn jemand explizit http:// eingibt.” Ohne HSTS kann ein Angreifer im selben WLAN (öffentliches Café-WLAN z. B.) den ersten Verbindungsversuch abfangen und auf eine gefälschte Version der Seite umleiten, bevor die Verschlüsselung überhaupt greift. Mit HSTS ist dieser Angriffsweg zu.
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Frame-Options
Verhindert, dass deine Seite in einem unsichtbaren <iframe> auf einer fremden Seite eingebettet wird – die Grundlage für sogenanntes Clickjacking, bei dem Besucher glauben, auf einen Button der fremden Seite zu klicken, tatsächlich aber unbemerkt mit deiner Seite interagieren (z. B. einen Kauf auslösen oder Daten preisgeben).
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Ein einzeiliger Header, der verhindert, dass der Browser versucht, Dateitypen zu “erraten” (MIME-Sniffing). Klingt harmlos, war aber lange ein beliebter Trick, um eine als Bild getarnte Datei doch als ausführbares Skript laufen zu lassen.
X-Content-Type-Options: nosniff
Content-Security-Policy (CSP)
Der mächtigste, aber auch aufwendigste der fünf. CSP legt fest, von welchen Quellen überhaupt Skripte, Styles oder Bilder geladen werden dürfen. Richtig konfiguriert macht das die häufigste Angriffsart im Web – Cross-Site-Scripting (XSS), bei dem Angreifer fremden JavaScript-Code in deine Seite einschleusen – weitgehend wirkungslos, selbst wenn eine Lücke im restlichen Code existiert. Der Haken: eine zu strenge Policy kann Teile der eigenen Seite (Tracking-Skripte, eingebettete Videos) blockieren, deshalb lohnt sich hier ein Test vor dem Go-Live.
Content-Security-Policy: default-src 'self'
Referrer-Policy
Steuert, wie viel von der ursprünglichen URL an andere Seiten weitergegeben wird, wenn jemand von dir aus einen externen Link klickt. Ohne diesen Header können interne URLs (z. B. mit Session-Parametern) ungewollt an Drittanbieter durchgereicht werden.
Referrer-Policy: strict-origin-when-cross-origin
Wo einrichten?
Bei WordPress am saubersten direkt am Webserver (Apache .htaccess, Nginx-Config oder bei vorgeschaltetem Reverse-Proxy wie Caddy) statt per Plugin – ein zusätzliches Sicherheits-Plugin ist selbst wieder eine potenzielle Angriffsfläche. Wer unsicher ist, ob die eigenen Header überhaupt gesetzt sind: Der kostenlose Sicherheitscheck zeigt in Sekunden, welche der fünf fehlen.