Was ist HSTS und wie aktiviere ich es?
Die Sicherheit im Internet nimmt aufgrund der wachsenden Vernetzung einen stetig wachsenden Stellenwert ein - gleichzeitig wird die Ausführung von Attacken zunehmend komplexer und ausgefeilter. Die Verschlüsselung von Webseiten und der Kommunikation über das als sicher geltende Secure Socket Layer (SSL) oder seinen Nachfolger Transport Layer Security (TLS) gilt mittlerweile als unverzichtbarer Standard, schützt allerdings nicht vor allen Bedrohungen. Um es gegen weitere Angriffe zu sichern, existiert die Erweiterung HTTP Strict Transport Security (HSTS), die einige der etablierten Cyberattacken ausschließt.
Inhalt:
Wie erfolgt die Verschlüsselung im Internet?
HSTS - Wie funktioniert es?
Was bedeutet ein HSTS Preload?
Welche Art von Angriffen beugt HSTS vor?
Was sind die Vorteile und Nachteile von HSTS?
Wie lässt sich HSTS bei einem Webhosting aktivieren?
Wie erfolgt die Verschlüsselung im Internet?
Eine sichere Verschlüsselung setzt voraus, dass der verwendete Schlüssel bei einem Austausch zwischen den beiden Partnern von Dritten nicht entwendet, verändert oder gelesen werden kann. Der im Jahr 2018 veröffentlichte Standard TLS 1.3 als neueste Version von SSL gewährleistet dies, indem er den sicheren Diffie-Hellmann-Merkle Schlüsselaustausch (DHM Protokoll) verwendet. Dieser benutzt zunächst eine asymmetrische, nur einseitig lesbare Kryptografie für den Schlüsseltausch und wechselt erst danach auf einen symmetrischen, von beiden Seiten genutzten und einmaligen Session-Key für diese Sitzung. Die Sicherheit der Zertifikate gewährleistet dabei eine Authentifizierung durch offiziell anerkannte, vertrauenswürdige Certificate Authorities (CA) wie Let's Encrypt, Comodo oder DigiCert, die sowohl die Identität des Inhabers wie die Gültigkeit einer Verschlüsselung gewährleisten und signieren.
Seit 2010 unterstützten mehrere große IT-Konzerne die vollständige Verschlüsselung aller Verbindungen, da unter dem Hypertext Transfer Protocol (HTTP) ursprünglich selbst hochsensible Informationen wie Passwörter oder Bankdaten in einem lesbaren Klartext übertragen werden. Seit 2014 gilt die Verschlüsselung über SSL als wichtiger Faktor für das Ranking in Suchmaschinen und muss deshalb für die Search Engine Optimization (SEO) eingesetzt werden. Ältere Verfahren wie SSL 1.0 bis SSL 3.0 sowie die ersten beiden Versionen von TLS weisen allerdings mehrere später entdeckte Sicherheitslücken auf, die es einem Angreifer ermöglichen, sich in einer frühen Phase zwischen dem Client und einer Webseite zu positionieren. Um diese und weitere Gefahren effizient abwehren zu können, veröffentlichte die Internet Engineering Task Force (IETF) 2012 den neuen Standard HSTS.
Jetzt das perfekte Webhosting mit SSL sichern
Zum Webhosting mit SSL Vergleich
HSTS - wie funktioniert es?
Bei HSTS handelt es sich um ein Verfahren, das eine direkte Verbindung zwischen dem Anbieter gewährleisten soll - unabhängig davon, ob es sich um ein Webhosting, einen virtuellen oder dedizierten Server oder eine Cloud handelt. Für diesen Zweck verwendet es einen zusätzlichen Header im HTTPS-Protokoll, der den Client strikt anweist, ab dem ersten Aufruf ausschließlich SSL- oder TLS-Verschlüsselung zu benutzen. Sein Einsatz bewirkt folgende Bedingungen:
- Jede Verbindung über HTTP wird automatisch zu HTTPS umgeleitet
- Erweist sich die Sicherheit als nicht gewährleistet, wird die Kommunikation abgebrochen
- Bei dem ersten Aufruf empfängt der Client die HSTS Vorgaben
- Der Browser speichert alle Informationen für eine vorgegebene Frist
- Für den durch HSTS vorgegebenen Zeitraum ist eine Verschlüsselung obligatorisch
- Scheitert eine Verschlüsselung, ist kein Ausweichen auf einen unsicheren Standard oder eine unverschlüsselte Kommunikation möglich
Konkret besteht HSTS aus einer simplen Anweisung im Header mit der Direktive, den Standard ab dem ersten Aufruf konsequent zu verwenden. Dieser besteht in der Angabe:
Strict-Transport-Security: max-age=Zeit in Sekunden
Ein üblicher Zeitraum umfasst zum Beispiel 3153600 Sekunden, was einem vollen Kalenderjahr entspricht. Darüber hinaus ist es möglich, den HSTS-Header um weitere optionale Angaben zu ergänzen. Diese werden durch ein Semikolon getrennt und bestehen vor allem in den zusätzlichen Anweisungen includeSubDomain für weitere Unterseiten wie test.example.org sowie in der Erweiterung preload, die bereits bei dem ersten Besuch die Verwendung von HTTPS vorschreibt.
Was bedeutet ein HSTS Preload?
Es ergibt sich ein grundlegendes Problem, weil HSTS seiner Arbeitsweise nach erst ab einem ersten Besuch einer Webseite gültig und verbindlich wird. Um dieses zu umgehen, können sich Betreiber auf einer von dem Google Chromium Projekt zur Verfügung gestellten Liste (https://hstspreload.org/) registrieren, die moderne Browser wie Chrome, Apple Safari, Microsoft Edge oder Opera regelmäßig abrufen. Findet sich eine Internetadresse dort wieder, greift bereits bei einem einmaligen Aufruf die HSTS-Direktive. Die Registrierung steht grundsätzlich jedem Inhaber einer Webseite offen, schließt jedoch einige Bedingungen mit ein:
- Ein gültiges und von einer anerkannten CA signiertes SSL-Zertifikat
- Eine minimale Dauer (max-age) von mindestens 31536000 Sekunden (1 Jahr)
- Die Optionen includeSubDomains und preload im HSTS-Header
- HTTPS muss für alle in einem DNS Record erwähnten Subdomains verfügbar sein
- Redirect von HTTP auf HTTPS auf demselben Host
Wegen der erhöhten Sicherheit setzen nahezu alle große Plattformen und Konzerne, darunter zum Beispiel Google, Facebook, PayPal , Twitter und international tätige Banken und Finanzdienstleister, prinzipiell HSTS ein.
Welche Art von Angriffen beugt HSTS vor?
Die IETF entwickelte HSTS als direkte Antwort auf eine Veröffentlichung von Sicherheitslücken des HTTPS Protokolls im Jahr 2009. Bei diesen rein zu Demonstrationszwecken durchgeführten Angriffen durch einen Mann-in-der-Mitte (Man in the Middle) schaltet sich eine dritte Instanz zwischen Client und Server und stellt einen Knoten für die Kommunikation, der von außen auf den ersten Blick unsichtbar bleibt. Sie verwendet gegenüber dem Webserver eine legitime Verschlüsselung, gegenüber dem Client jedoch eine eigene Verbindung und täuscht auf diese Weise einen sicheren, unterbrechungsfreien Zugriff vor. Mit diesem Vorgehen kann ein Krimineller die gesamte Kommunikation abfangen und verändern, ohne das ein Opfer oder seine Gegenstelle dies ohne eine intensive Untersuchung des Datenverkehrs erkennt.
Durch seine strikten Vorgaben verhindert HSTS zudem weitere Szenarien, die teilweise bereits seit Langem bekannt sind und teilweise neu entwickelt werden. Eines davon ist ein von außen erzwungener Rückgriff auf eine mittlerweile als unsicher geltende SSL Verschlüsselung, die Browser wie Webserver weiterhin unterstützen, um eine weitgehende Kompatibilität mit älteren Systemen zu ermöglichen. Eine zweite Variante stellt das "Entführen" von Sitzungen (Session Hijacking) dar, bei dem ein Dritter anhand von Daten zur Identifikation wie einer Sitzungsnummer die Identität eines Clients übernimmt und in seinem Namen Pakete verschickt, die der Webserver aufgrund der bereits erfolgten Authentifizierung als legitim interpretiert.
Was sind die Vorteile und Nachteile von HSTS?
Grundsätzlich erweitert HSTS die unter HTTPS üblichen Sicherheitsregeln und schreibt dem Client eine strikte Befolgung der bestehenden Direktiven vor. Dadurch unterbindet es die Möglichkeit, zu einem späteren Zeitpunkt die Sicherheit etwa durch den Wechsel auf ältere und bereits kompromittierte oder ein zeitweiliges Aussetzen der Verschlüsselung zu unterlaufen. Daraus ergeben sich unterschiedliche Vorteile:
- Garantierte Umsetzung der im aktuellen HTTPS-Standard verankerten Sicherheitsmaßnahmen
- Keine "versehentliche" Verwendung unverschlüsselter Verbindungen möglich
- Abgreifen von Daten vor Beginn der Verschlüsselung nicht mehr durchführbar
- Geringer zusätzlicher Overhead und keine Beeinträchtigung der Performance
- Datensicherheit über einen langen Zeitraum von einem Jahr oder mehr gewährleistet
- Keine Verbindung über das unverschlüsselte HTTP Protokoll zulässig
- Keine Einschränkung der Funktionalität durch unterschiedliche CMS wie WordPress oder Joomla
Demgegenüber sind die Nachteile relativ niedrig. Nach einer einmalig durchgeführten Einrichtung und der Registrierung in der Google Chromium Preload Liste wirkt sich HSTS im alltäglichen Gebrauch nicht negativ aus und führt nicht zu einem erhöhten Verbrauch von Ressourcen. Allerdings besteht eine gewisse Einschränkung bei den Möglichkeiten zum Zugriff, weil etwa veraltete Geräte, Betriebssysteme oder Software eventuell nicht die von HSTS gestellten Anforderungen erfüllen. Es existieren jedoch zudem Alternativen, die zum Beispiel jedem Besucher die Verwendung von HTTPS vorschreiben oder direkt auf dieses umleiten.
Wie lässt sich HSTS bei einem Webhosting aktivieren?
Um HSTS bei einem Webhosting oder einem beliebigen Server einsetzen zu können, genügt es technisch, einen entsprechenden Eintrag in dem HTTP-Header zu erzeugen. Dazu muss bei dem Apache 2 Webserver das Modul Headers aktiviert sein, was zum Beispiel auf einem virtuellen oder dedizierten Server über SSH durch die Befehle
sudo a2enmod headers
für die Aktivierung und
sudo service apache restart
für einen Neustart geschieht. Abschließend kann der Betreiber HSTS fest implantieren, indem er die Zeile
Header always set Strict-Transport-Security "max-age=4838400; includeSubdomains;"
in die globale httpd.conf einfügt. Handelt es sich um ein Webhosting, das ausschließlich einen Zugriff auf die lokale Konfiguration des sogenannten Virtual Hosts zulässt, kann dies ebenfalls durch das Einfügen in dem entsprechenden Abschnitt für das HTTPS Protokoll unter Port 443 erfolgen. Eine weitere Möglichkeit, die sich bei Nutzern ohne SSH Zugriff anbietet, ist das Erzeigen einer .htaccess Datei mit dem entsprechenden Eintrag. Dies wirkt sich allerdings negativ auf die Performance aus.
Bei dem ebenfalls populären Wenserver NGINX verläuft das Vorgehen ähnlich, wobei hier die Zeile
add_header Strict-Transport-Security "max-age=4838400; includeSubDomains";
wahlweise in die globale Konfiguration oder in den lokalen Serverblock eingefügt wird.##
Der Microsoft IIS Webserver ermöglicht ebenso wie einige Anbieter für Webhosting oder Werkzeugen zur Administration wie Plesk die Aktivierung von HSTS direkt über das grafische Interface. Bei anderen Tools wie Webmin oder DirectAdmin müssen die Nutzer die Zeile hingegen über den internen Editor für Konfigurationsdateien manuell einfügen und die Änderungen über den entsprechenden Button aktivieren. Mögliche Alternativen sind Plug-ins etwa für CMS wie WordPress, TYPO3 oder Joomla, die den Header aktivieren und bei jeder Anfrage ergänzen.
Jetzt das perfekte Webhosting mit SSL sichern
Zum Webhosting mit SSL Vergleich
Foto: skylarvision auf Pixabay
Schreibe einen Kommentar
- SSL
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Verschlüsselung als Grundpfeiler der Digitalisierung
Wir durften mit der Geschäftsführerin Patrycja Schrenk während des CloudFests 2023 über die Wichtigkeit der Verschlüssel...
Was bedeutet Shared SSL? hosttest klärt auf
Was bedeutet Shared SSL? Wir erklären den Begriff, den viele Webhosting-Angebote beinhalten.
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...