HSTS sorgt dafür, dass Webseiten nur noch über eine sichere HTTPS-Verbindung aufgerufen werden können. Damit wird die Arbeit von Hackern erschwert. Aus diesem Grund empfiehlt Google den Einsatz dieses Sicherheitsmechanismus und nutzt ihn auch selbst.
Seit diesem Monat ist google.com nur noch über HSTS erreichbar - die anderen Google-Domains werden in Kürze folgen. Durch HSTS ist ein Aufruf der Seite über eine unsichere HTTP-Verbindung nicht mehr möglich. Das funktioniert so:
Selbst bei Webseiten, die normalerweise verschlüsselt über das Transport Layer Security-Protocol (TLS), also via HTTPS, ausgeliefert werden, gibt es oftmals Schlupflöcher, weil noch immer eine ungesicherte HTTP-Verbindung aufgebaut werden kann. Man spricht hierbei von Protocol Downgrade-Attacken. Das funktioniert, weil viele Webseiten eine Abwärtskompatibilität zum unverschlüsselten HTTP-Protokoll bieten. Hacker nutzen dies aus und sind auf diese Weise in der Lage, beispielsweise vertrauliche Nutzerdaten zu stehlen.
Eine weitere Angriffsmöglichkeit besteht im sogenannten Cookie Hijacking: Bei einer unverschlüsselten Übertragung könnte ein Hacker ein Session-Cookie entwenden, in dem sich Nutzerdaten wie Name, Adresse oder Kreditkarteninformationen befinden können. Auf diese Weise kann sich ein Hacker unautorisierten Zutritt zur betreffenden Webseite verschaffen. Auch diese Angriffsform wird durch den Einsatz von HSTS deutlich erschwert.
Wie funktioniert HSTS?
HSTS ist ein Sicherheitsmechanismus, der dem Browser beim Aufruf einer Webseite mitteilt, dass diese nicht per HTTP geladen werden kann und dass Aufrufe auf HTTPS umgestellt werden müssen. Dazu wird in den Antwort-Header des Servers eine Erweiterung eingebracht. Diese kann beispielsweise so aussehen:
Strict-Transport-Security: max-age=31536000
Dabei muss darauf geachtet werden, dass alle Subdomains eingeschlossen werden, denn sonst kann es zum Beispiel beim Aufruf der Domain mit oder ohne "www" Probleme geben. Auch sollte ein Preloading stattfinden, was das sogenannte "First Visit"-Problem löst - ansonsten besteht selbst beim Einsatz von HSTS beim ersten Besuch einer solchen Seite eine Angriffsmöglichkeit. Der entsprechende Header würde dann wie folgt aussehen:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Mittlerweile unterstützen die meisten akuellen Browser HSTS, dazu gehören Microsoft Edge, Firefox, Chrome und Safari:
HSTS ist einfach eingerichtet
Zum Aktivieren von HSTS wendet man sich am besten an seinen Hoster - viele Dienstleister bieten diese Funktion inzwischen auch für Shared-Hosting-Pakete an. Ist man im Besitz eines eigenen Servers, kann man die Konfiguration selbst vornehmen. Dazu gibt es entsprechende Module - im Apache nutzt man dazu beispielsweise das mod_headers-Modul.
Google empfiehlt HSTS
Auch Google empfiehlt den Einsatz eines HSTS-fähigen Webservers. Das führt auch dazu, dass Google in den Suchergebnissen ausschließlich die sicheren HTTPS-URLs anzeigt.
Gleichzeitig muss man aber darauf achten, dass keine HTTPS-Seiten in der robots.txt-Datei gesperrt werden, weil Google diese ansonsten nicht crawlen kann.
Fazit
HSTS ist bietet eine deutliche Verbesserung der Sicherheit bei gleichzeitig geringem Einrichtungsaufwand. Durch die inzwischen hohe Abdeckung kompatibler Browser gibt es wenig, was gegen die Verwendung dieses Sicherheitsmechanismus spricht.
Titelbild © jamdesign - Fotolia.com