HSTS aktivieren: HTTPS im Browser festschreiben
HSTS (HTTP Strict Transport Security) weist den Browser an, deine Domain für eine festgelegte Zeit ausschließlich über HTTPS aufzurufen — noch bevor eine Server-Umleitung überhaupt gefragt wird. Das schließt die Lücke, die eine 301-Umleitung offen lässt: den allerersten unverschlüsselten Aufruf, den ein Angreifer im selben Netz per SSL-Stripping Angriff, bei dem die HTTPS-Verbindung eines Besuchers unbemerkt auf unverschlüsseltes HTTP heruntergestuft wird. abfangen könnte. Aktiviert wird HSTS in Plesk per Schalter, in cPanel per .htaccess — aber erst, wenn HTTPS dauerhaft stabil läuft, denn der Browser merkt sich die Vorgabe.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Ein gültiges Zertifikat mit funktionierender Auto-Erneuerung — egal ob Let’s Encrypt per AutoSSL oder ein Kauf-Zertifikat.
- Eine aktive 301-Umleitung von HTTP auf HTTPS, die seit einiger Zeit fehlerfrei läuft.
Was HSTS bewirkt — und was es unumkehrbar macht
Abschnitt betitelt „Was HSTS bewirkt — und was es unumkehrbar macht“Der Server sendet den Header Strict-Transport-Security mit einer Gültigkeitsdauer (max-age in Sekunden). Ab dem ersten Empfang ruft der Browser die Domain für diese Dauer nur noch per HTTPS auf — auch wenn jemand http:// eintippt oder ein alter Link darauf zeigt.
Die Kehrseite: Läuft dein Zertifikat ab oder ist falsch konfiguriert, gibt es keinen „Trotzdem fortfahren”-Knopf mehr — die Seite ist für Besucher mit gemerktem HSTS schlicht unerreichbar, bis das Zertifikat wieder stimmt. Deshalb gilt: klein anfangen, dann hochsetzen.
HSTS aktivieren
Abschnitt betitelt „HSTS aktivieren“- Öffne
Websites & Domainsund bei der Domain die KachelSSL/TLS-Zertifikate. - Aktiviere im Abschnitt
HTTP Strict Transport Security (HSTS)den Schalter. - Wähl die Gültigkeitsdauer — zum Testen kurz, im Regelbetrieb sechs oder zwölf Monate.
In cPanel gibt es keinen Schalter — der Header kommt per .htaccess im Document Root:
- Öffne die
.htaccessimDateimanageroder per SFTP. - Ergänze am Anfang:
Der Zusatz<IfModule mod_headers.c>Header always set Strict-Transport-Security "max-age=300" env=HTTPS</IfModule>
env=HTTPSsorgt dafür, dass der Header nur über verschlüsselte Verbindungen gesendet wird — so verlangt es der Standard. - Nach erfolgreichem Test den Wert auf
max-age=31536000(ein Jahr) erhöhen.
Danach prüfen, ob der Header ankommt:
curl -sI https://deinedomain.de | grep -i strictHSTS wieder loswerden
Abschnitt betitelt „HSTS wieder loswerden“Abschalten heißt nicht löschen: Browser, die den Header schon gesehen haben, halten sich bis zum Ablauf von max-age daran. Der saubere Rückweg ist, den Header zunächst mit max-age=0 weiter auszuliefern — damit verwerfen zurückkehrende Besucher den Eintrag — und ihn erst später ganz zu entfernen. Auch deshalb: mit kleinem max-age starten.
Wenn etwas schiefläuft
Abschnitt betitelt „Wenn etwas schiefläuft“Seite nach Zertifikatsproblem komplett unerreichbar
Abschnitt betitelt „Seite nach Zertifikatsproblem komplett unerreichbar“HSTS lässt bei Zertifikatsfehlern keine Ausnahme zu — genau das ist sein Zweck.
Lösung: Das Zertifikat reparieren (siehe Let’s Encrypt / HTTPS aktivieren); danach ist die Seite sofort wieder erreichbar. Den HSTS-Header nicht panisch entfernen — das hilft bereits betroffenen Besuchern nicht.
Eine Subdomain ist plötzlich nicht mehr erreichbar
Abschnitt betitelt „Eine Subdomain ist plötzlich nicht mehr erreichbar“includeSubDomains ist gesetzt, und die Subdomain hat kein (gültiges) Zertifikat.
Lösung: Zertifikat für die Subdomain ausstellen lassen — oder includeSubDomains entfernen und die Wartezeit bis zum max-age-Ablauf einplanen.
Der Header erscheint nicht in der curl-Ausgabe
Abschnitt betitelt „Der Header erscheint nicht in der curl-Ausgabe“Bei der .htaccess-Variante: Tippfehler, falsche Datei oder der Test lief gegen http:// — dort wird der Header standardkonform nicht gesendet.
Lösung: Gegen https://… testen, Schreibweise der Direktive prüfen und sicherstellen, dass die .htaccess im Document Root der Domain liegt.
Verwandte Artikel
Abschnitt betitelt „Verwandte Artikel“- HTTPS erzwingen: HTTP auf HTTPS umleiten — die Grundlage, die vor HSTS stehen muss.
- Let’s Encrypt / HTTPS aktivieren — Zertifikat und Auto-Erneuerung, an denen HSTS hängt.
- Verzeichnisschutz einrichten — weiterer Baustein für abgesicherte Bereiche.
Du kommst nicht weiter?
Abschnitt betitelt „Du kommst nicht weiter?“Wenn der Header nicht ankommt oder eine Domain nach der Aktivierung klemmt: Ticket im Kundencenter öffnen. Nenn die Domain, den Aktivierungsweg (Plesk-Schalter oder .htaccess) und deinen max-age-Wert.