Blog Allgemein HSTS: Definition, Funktionsweise und Aktivierung

HSTS: Definition, Funktionsweise und Aktivierung

Artikel teilen

Facebook
Twitter
Whatsapp
Linkedin
Mail

In Zeiten steigender Digitalisierung wird die Sicherheit im World Wide Web immer wichtiger. Cyber-Kriminalität nimmt laufend zu und gewinnt täglich an neuen Facetten. Um Ihren Seitenbesuchern ein sicheres Surfen gewährleisten zu können, sollten Sie Ihre Domain mit einem HSTS-Header ausstatten. Was das genau ist und wie Sie HSTS aktivieren, erfahren Sie hier.

Was ist HSTS?

HSTS ist ein zusätzlicher Sicherheitsmechanismus für HTTPS-Verbindungen und steht für HTTP Strict Transport Security. Es handelt sich hierbei um einen Header, der dem Browser mitteilt, dass Verbindungen zu dieser Domain in Zukunft nur noch über HTTPS laufen dürfen.

HTTPS stellt eine gesicherte Verbindung dar, allerdings gibt es ohne HSTS selbst hier mögliche Sicherheitslücken. Besonders problematisch ist das sogenannte SSL-Stripping – ein Man-in-the-Middle-Angriff, bei dem sich Hacker zwischen Server und Browser schalten. So gelingt es Ihnen, die SSL/TLS-Verschlüsselung zu umgehen und empfindliche Daten wie etwa Passwörter oder Bankdaten abzufangen.

Selbst ein Redirect von HTTP zu HTTPS reicht mittlerweile nicht mehr aus. Denn während der User darauf wartet, auf die sichere Seite weitergeleitet zu werden, hat ein Hacker die Möglichkeit, sich dazwischenzuschalten. Bevor die sichere Seite fertig geladen hat, ist der Angriff schon im vollen Gang und wichtige Daten in Gefahr.

Die Kombination aus HTTPS und HSTS bietet Internetnutzern derzeit den optimalen Schutz. Unabhängig davon, ob in der Adresszeile die URL mit http:// oder www. eingegeben wird, öffnet der Browser dank HSTS die Domain automatisch über eine gesicherte HTTPS-Verbindung ohne jegliche Weiterleitungen.

Interessant zu wissen:

Entstanden ist HSTS aufgrund demonstrativer Man-in-the-Middle-Angriffe von Moxie Marlinspike im Jahr 2009. Dieser wollte mittels SSL-Stripping die Angreifbarkeit von HTTPS aufzeigen. 2012 wurde HSTS als Reaktion auf diese Angriffe eingeführt.

Wie funktioniert HSTS?

Damit HSTS funktioniert, müssen sowohl der Browser als auch der Server gewisse Aufgaben erledigen. Zunächst teilt der Server dem Browser über einen Header mit, dass die Verbindung zukünftig nur mehr verschlüsselt verfügbar ist. Diese Verschlüsselung wird immer für einen bestimmten Zeitraum (max-age) durchgeführt und ist in Sekunden angegeben. Die Standarddauer ist ein Jahr, also 31.536.000 Sekunden. Der Header sieht dann folgendermaßen aus:

Strict-Transport-Security: max-age=31536000

hsts-header

Erhält der Browser diesen Header, so muss er von nun an unverschlüsselte Links zu dieser Domain in verschlüsselte umwandeln. Kann die Sicherheit aus irgendeinem Grund nicht gewährleistet werden, erhält der User eine Fehlermeldung und die Verbindung wird abgebrochen. Der Nutzer kann die Seite dann nicht mehr aufrufen.

In den meisten Fällen kann dem Browser aber mitgeteilt werden, dass die Website dennoch besucht werden soll. Dies sollte jedoch vermieden werden! Denn der Browser merkt sich diesen Aufruf und wird die Webseite dann auch in Zukunft und unabhängig von fehlender Sicherheit aufrufen, wenn er einmal dazu aufgefordert wurde!

Zudem verwenden einige Browser eine Preload-Liste, auf der eine Reihe unterschiedlicher Domains eingetragen ist. Selbst Online-Giganten wie Google, PayPal oder Twitter nutzen das Preloading. Bei den Domains auf der Liste baut der Browser automatisch eine sichere Verbindung auf, ohne, dass Sie selbst HSTS aktivieren müssen – doch dazu gleich mehr.

Der Vorteil: Befindet sich die Domain in der Preload-Liste, greift der Sicherheitsmechanismus bereits beim ersten Aufruf. Ansonsten ist die Domain beim Erstbesuch nämlich immer angreifbar, da erst danach der HSTS-Header greift.

Wie aktiviere ich HSTS?

Wie Sie HSTS aktivieren, hängt von diversen Faktoren ab. So arbeiten die unterschiedlichen Provider beispielsweise mit individuellen Einstellungen und Möglichkeiten zur Aktivierung von HSTS. Die Voraussetzung ist lediglich, dass alle Verbindungen auf der Domain über HTTPS laufen und es keine Fehlermeldungen gibt.

Bei statischen Websites aktivieren Sie HSTS einfach in der .htaccess-Datei. Dazu müssen Sie den Header set Strict-Transport-Security max-age=31536000 env=HTTPS einfügen. Zusätzlich besteht die Möglichkeit, den Header noch mit zwei weiteren Direktiven, also Befehlen, auszustatten:

  • includeSubDomains: Dieser Befehl ermöglicht es Ihnen, HSTS auf alle Subdomains auszuweiten.
  • preload: Mit dieser Direktive können Sie Ihre Domain für die Preload-Liste markieren.

hsts-htaccess

Zudem steht es Ihnen frei, Ihre Website jederzeit in die Preload-Liste einzutragen. Dafür gibt es allerdings spezifische Grundvoraussetzungen:

  • Die Website muss ein gültiges SSL-Zertifikat ausliefern.
  • Alle HTTP-URLs müssen auf HTTPS-URLS weitergeleitet werden.
  • Alle Subdomains müssen über HTTPS abrufbar sein.
  • Sie müssen den HSTS-Header in der Basis-Domain integrieren.
  • Die max-age muss mindestens ein Jahr betragen.
  • Die Direktive includeSubDomains muss spezifiziert sein.
  • Die Direktive preload muss spezifiziert sein.
  • Alle zusätzlichen Redirects von der HTTPS-Website müssen den HSTS-Header beinhalten.

Wie richte ich HSTS im Webserver ein?

Mit ein paar Handgriffen können Sie HSTS in Ihrem Webserver einrichten. Wir sehen uns hier nun die Herangehensweise für die vier Webserver Apache, Microsoft IIS, NGINX und Lighttpd genauer an.

Apache

Apache gehört zu den meistbenutzen Webservern. Hier steht HSTS nur VirtualHosts mit der Portnummer 443 zur Verfügung. Um HSTS in Apache zu aktivieren, gehen Sie wie folgt vor:  

  1. Öffnen Sie die Konfigurationsdatei httpd.conf.
  2. Aktivieren Sie das Apache Header Modul.
  3. Erweitern Sie den VirtualHost um die Codezeile Header always set Strict-Transport-Security "max-age=31536000".
  4. Starten Sie Apache neu.
<VirtualHost *:443>
...
Header always set Strict-Transport-Security "max-age=31536000"
...
</VirtualHost>

Lighttpd

Der freie Webserver Lighttpd funktioniert in vielerlei Hinsicht ähnlich wie Apache. Auch hier müssen Sie lediglich die Konfigurationsdatei anpassen:

  1. Rufen Sie die Konfigurationsdatei /etc/lighttpd/lighttpd.conf. auf.
  2. Tragen Sie die Codezeile setenv.add-response-header = ("Strict-Transport-Security" => "max-age=31536000" ein.
  3. Starten Sie Lighttpd neu.
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=4838400")
}

NGINX

NGINX gehört zu den leistungsstärksten Webservern und wird für viele große Services wie etwa Facebook oder LinkedIn verwendet. Hier braucht es ebenfalls lediglich eine einzige Codezeile, um HSTS zu aktivieren:

  1. Öffnen Sie die Konfigurationsdatei /etc/nginx/nginx.conf.
  2. Fügen Sie die Codezeile add_header Strict-Transport-Security max-age=31536000 hinzu.
  3. Starten Sie NGINX neu.
server {
...
add_header Strict-Transport-Security "max-age=31536000";
...
}

Microsoft IIS

Die Plattform Microsoft Internet Information Services ist ein flexibler und unkomplizierter Service für Windows. Bei Microsoft IIS wird HSTS über eine grafische Oberfläche und nicht direkt im Code eingerichtet:

  1. Starten Sie den IIS Manager.
  2. Wählen Sie die gewünschte Website aus.
  3. Klicken Sie im Menüpunkt http Response Header auf Add. Daraufhin öffnet sich ein Dialogfenster.
  4. Im Dialogfenster tragen sie unter Name „Strict-Transport-Security“ und unter Value die Zeitspanne in Sekunden ein.
  5. Starten Sie IIS neu.

Sicherheitsstandard HSTS

HSTS gehört zum heutigen Sicherheitsstandard im Web dazu und sollte daher auch bei Ihrer Domain nicht fehlen. Befolgen Sie dazu einfach die oben genannten Schritte und schon garantieren Sie Ihren Seitenbesuchern ein sicheres Surfen!

Neuen Kommentar schreiben

Plain text

  • No HTML tags allowed.
  • Global tokens will be replaced with their respective token values (e.g. [site:name] or [current-page:title]).
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Newsletter

Abonnieren Sie unseren Newsletter!

Jetzt Anmelden

Information

Spam-, beleidigende oder anderweitig unpassende Kommentare werden nicht toleriert. Wir behalten uns vor, unangemessene Kommentare zu entfernen.