Wie aktiviere ich HTTP Strict Transport Security (HSTS) für meine Website?


Mit der Funktion HTTP Strict Transport Security (HSTS) teilt eine Website Ihren Besuchern mit, dass sie über eine verschlüsselte Verbindung (HTTPS) erreichbar ist und der Browser diese Einstellung für längere Zeit zwischenspeichern soll. So müssen Besucher 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 Besucher über ein ungesichertes Netzwerk wie z.B. einem öffentlichen WLAN in einem Café ins Internet verbinden.

HSTS in der .htaccess aktivieren

Bevor Sie HSTS für Ihre Website aktivieren, stellen Sie 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 Entwickler von Google Chrome führen 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 Ihre 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 Ihre 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 weisen die Chrome-Entwickler 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 Entwickler keine Garantie abgeben können. Sie sollten sich daher sicher sein, dass Ihre Website HTTPS über längere Zeit unterstützen wird.

Weitere Artikel zum Thema Technisches Weitere Artikel zum Thema Vor dem Kauf