Strict-Transport-Security fehlt

Worum es geht

Ihre Website sendet den Strict-Transport-Security-Header (HSTS) nicht. Dieser Header sagt dem Browser „Sieh auf dieser Website nie wieder HTTP, geh immer direkt über HTTPS“.

Warum das ein Problem ist

Selbst wenn Sie funktionierendes HTTPS und einen HTTP-Redirect haben, hat der erste Besuch eine Schwachstelle. Der Nutzer tippt example.de — der Browser beginnt mit einem HTTP-Versuch. Befindet sich in diesem Moment ein Angreifer zwischen Ihnen und dem Server (öffentliches WLAN, kompromittierter Router), kann er:

Mit HSTS weiß der Browser im Voraus, dass example.de nicht über HTTP aufgerufen werden darf, und der Angriff schlägt fehl.

Wie Sie es beheben

Schritt 1 — sicherstellen, dass HTTPS stabil läuft

HSTS „lernt“ der Browser für einen längeren Zeitraum. Wenn Sie dann HTTPS kaputtmachen (abgelaufenes Zertifikat, versehentlich deaktiviertes SSL), ist Ihre Website für wiederkehrende Besucher nicht erreichbar — der Browser verweigert sogar den Fallback auf HTTP.

Bevor Sie HSTS aktivieren, prüfen Sie:

Schritt 2 — einen kurzen Wert zum Testen setzen

Strict-Transport-Security: max-age=300

5 Minuten. Wenn etwas kaputtgeht, klingt es innerhalb von 5 Minuten ab. Überwachen Sie die Verfügbarkeit und führen Sie ein paar Tests durch.

Schritt 3 — den Produktionswert ausrollen

Strict-Transport-Security: max-age=15552000; includeSubDomains

Schritt 4 (optional) — preload

Wenn Sie in der eingebauten Liste der Browser (Chrome, Firefox, Safari) stehen und HSTS auch beim allerersten Besuch aus einem frischen Browser haben wollen:

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

Registrieren Sie die Domain anschließend auf hstspreload.org.Dieser Schritt ist nur schwer rückgängig zu machen — die Entfernung aus der Liste dauert Wochen bis Monate.

Konkrete Konfigurationen

nginx:

add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;

Apache:

Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

Cloudflare: SSL/TLS → Edge Certificates → HTTP Strict Transport Security — UI-Checkbox.

Referenzen