Zurück

HTTP Strict Transport Security (HSTS) aktivieren

3 Min Lesedauer - Aktualisiert am 26.04.2021

Mit der Funktion HTTP Strict Transport Security (HSTS) teilt eine Website beim Aufrufen mit, dass sie über eine verschlüsselte Verbindung per HTTPS erreichbar ist und der Browser diese Einstellung für längere Zeit zwischenspeichern soll. So müssen Besuchende einer Website nicht daran denken, die URL der gewünschten Seite mit https:// ins Adressfeld zu tippen. Das ist vor allem dann hilfreich, wenn sich Besuchende über ein ungesichertes Netzwerk, wie zum Beispiel einem öffentlichen WLAN in einem Café ins Internet verbinden.

HSTS in der .htaccess aktivieren

Bevor du HSTS für deine Website aktivierst, stelle bitte sicher, dass beim Aufruf der Website via HTTPS keine Probleme auftauchen.

Mit der folgenden Anweisung in der .htaccess-Datei wird der HSTS-Header an Browser gesendet:

Header set Strict-Transport-Security "max-age=3600" env=HTTPS

Der Wert «max-age» entspricht dabei der Dauer in Sekunden, während der ein Browser die HSTS-Regel zwischenspeichern soll. Mit «env=HTTPS» wird sichergestellt, dass der HSTS-Header nur gesendet wird, wenn die aufgerufene Seite per HTTPS ausgeliefert wird.

Eintrag in die Preload-List

Die Entwicklung von Google Chrome führt eine Liste mit Domains, für die HSTS aktiviert ist. Die Liste wird auch von anderen Browsern wie Firefox, Safari oder Internet Explorer genutzt und hilft das sogenannte Trust-on-first-use-Problem zu lösen. Vergleichbar mit im Browser hinterlegten Root-Zertifikaten ist so garantiert, dass bereits beim ersten Aufruf einer Domain die HSTS unterstützt, eine verschlüsselte Verbindung aufgebaut wird. Der Eintrag in diese Preload-Liste ist kostenlos unter folgender Adresse möglich: hstspreload.appspot.com

Damit deine Website in die Preload-Liste aufgenommen wird, muss sie folgende Kriterien erfüllen:

  • Die Website muss ein gültiges SSL-Zertifikat besitzen, dass nicht SHA–1-signiert sein darf.
  • Sämtlicher HTTP-Verkehr muss auf HTTPS umgeleitet werden.
  • Sämtliche Subdomains müssen über HTTPS ausgeliefert werden.
  • Unter der Basis-Domain muss ein HSTS-Header mit folgenden Werten ausgeliefert werden:
    • Der «max-age»-Wert muss mindesten 18 Wochen (10’886’400 Sekunden) betragen.
    • Der «includeSubdomains»-Token muss gesetzt sein.
    • Der «preload»-Token muss gesetzt sein.
    • Falls für deine Website eine Weiterleitung besteht, muss die Quelladresse den HSTS-Header besitzen.

Die an den HSTS-Header gestellten Anforderungen werden mit folgendem Befehl in der .htaccess-Datei erfüllt:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS

Der Eintrag in die Preload-Liste wird nicht garantiert. Ausserdem weist die Chrome-Entwicklung darauf hin, dass der Eintrag faktisch nicht mehr aus der Preload-Liste gelöscht werden kann, da die Liste auch von Drittherstellern genutzt wird für die die Entwicklung keine Garantie abgeben kann. Du solltest dir daher sicher sein, dass deine Website HTTPS über längere Zeit unterstützen wird.

Was dir auch helfen könnte

Verwandte Artikel