Was ist HSTS
HSTS steht für HTTP Strict Transport Security und ist ein Sicherheitsmechanismus, der Browser dazu bring, Websites für eine bestimmte Zeit, nur über eine gesicherte Verbindung (HTTPS) zu öffnen. HSTS schützt gegen Downgrade-Angriffe, bei denen ein Angreifer eine sichere Verbindung zwischen einem Benutzer und einer Website auf eine unsichere Verbindung downgraded. Durch die Verwendung von HSTS kann ein Angreifer keine unsicheren Verbindungen mehr herstellen, was das Risiko von Man-in-the-Middle-Angriffen und Cookie-Entführungen verringert.
HSTS wurde als Reaktion auf eine Schwachstelle im SSL-Protokoll entwickelt, die Moxie Marlinspike in einem BlackHat Federal-Vortrag von 2009 mit dem Titel „New Tricks for Defeating SSL in Practice“ demonstriert hatte. Marlinspike hatte ein Tool namens SSLStrip vorgestellt, das es Angreifern ermöglichte, HTTPS-Verbindungen in ungesicherte HTTP-Verbindungen umzuwandeln, um so auf vertrauliche Informationen zuzugreifen. Um diese Schwachstelle im SSL-Protokoll zu beheben, wurde HSTS als Mechanismus entwickelt, um sicherzustellen, dass ein Webbrowser immer eine sichere HTTPS-Verbindung zu einer Website verwendet. HSTS ist seit 2012 ein Standard der Internet Engineering Task Force (IETF) und wird von vielen modernen Webbrowsern unterstützt.
Wie funktioniert HSTS?
HSTS weist den Webbrowser an, eine sichere HTTPS-Verbindung zu einer Website herzustellen und aufrechtzuerhalten. Wenn ein Benutzer zum ersten Mal eine Website besucht, die HSTS verwendet, sendet die Website dem Browser eine spezielle Header-Datei zurück, die angibt, dass die Website nur über eine sichere Verbindung aufgerufen werden sollte. Der Browser speichert diese Information dann in einem HSTS-Cache. Bei zukünftigen Besuchen der Website überprüft der Browser zuerst den HSTS-Cache, bevor er eine Verbindung zur Website herstellt. Wenn die Website in der HSTS-Liste des Browsers aufgeführt ist, wird automatisch eine sichere HTTPS-Verbindung aufgebaut, auch wenn der Benutzer die Website über eine ungesicherte HTTP-Verbindung aufzurufen versucht.
HSTS erhöht somit die Sicherheit von Webanwendungen und schützt die Vertraulichkeit und Integrität von Daten, die zwischen einem Benutzer und einer Website ausgetauscht werden.
HSTS kann auch dazu beitragen, dass cookiebasierte Login-Anmeldeinformationen nicht von gängigen Tools wie Firesheep gestohlen werden.
Leider können einige HSTS-Einstellungen versehentlich Browserfehler verursachen. Wenn Sie beispielsweise Chrome verwenden, können Sie auf folgendes Problem stoßen:
„DIES IST KEINE SICHERE VERBINDUNG“
Sollten Sie dieselbe Website in einem anderen Browser problemlos öffnen können, könnte es ein Problem mit den HSTS-Einstellungen geben, die Ihren ursprünglichen Browser beeinflusst haben. In diesem Fall müssen Sie die Einstellungen löschen.
Warum HSTS-Einstellungen löschen?
Wenn Ihr Browser HSTS-Einstellungen für eine Domain gespeichert hat und Sie später über HTTP oder eine fehlerhafte HTTPS-Verbindung (z.B. nicht übereinstimmender Hostname oder ein abgelaufenes Zertifikat etc.) versuchen eine Verbindung herzustellen, bekommen Sie eine Fehlermeldung. Anders als bei HTTP-Fehlern können HSTS-bezogene Fehler nicht umgangen werden. Das liegt daran, dass der Browser die Anweisung erhalten hat, nur eine sichere Verbindung zuzulassen.
Die HSTS-Einstellungen beinhalten eine Zeitangabe-Option, die sogenannte ‚max-age‘ , die dem Browser mitteilt, wie lange er die Einstellung zwischenspeichern soll, bevor er erneut überprüft. Um also die Fehlermeldung zu umgehen, müssen Sie die lokalen HSTS-Einstellungen Ihres Browsers für diese Domain löschen. Eine Anleitung dazu finden Sie weiter unten.
Die Einstellungen müssen in jedem Browser gelöscht werden. Als Entwickler können Sie, wenn Sie HSTS-Konfigurationen testen, auf diesen Fehler stoßen. In Chrom z. B. können Sie diesen Fehler auf localhost erhalten. Wenn auf einer Live-Site mit viel Traffic HSTS-Fehler auftreten, kann es für den Betreiber schwierig sein, diese Fehler für alle Benutzer zu beheben. Das Löschen der lokalen HSTS-Einstellungen für jeden Benutzer, ist ein zeitaufwändiger Prozess, und es kann sein, dass nicht alle Benutzer wissen, wie man die Einstellungen löscht oder dass sie überhaupt vorhanden sind. Zudem kann es sein, dass einige Benutzer die Site nicht mehr besuchen, wenn sie aufgrund von HSTS-Fehlern keinen Zugriff auf die Site haben. In diesem Fall kann der Traffic auf der Site sinken, was für den Betreiber nachteilig ist. Aus diesem Grund kann es für den Betreiber sinnvoller sein, die HSTS-Einstellungen so anzupassen, dass sie für die meisten Benutzer funktionieren, anstatt zu versuchen, die Einstellungen für jeden Benutzer individuell anzupassen.
Löschen von HSTS-Einstellungen in Chrome und Firefox
Diese Anweisungen sind hauptsächlich für Entwickler, die HSTS getestet haben und die Einstellungen jetzt löschen müssen. Für eine Website, die Sie nicht betreiben, hilft das Löschen der lokalen HSTS-Einstellungen Ihres Browsers nicht, wenn die Website weiterhin einen HSTS-Header ausliefert, da Ihr Browser die Einstellungen bei jedem Besuch einfach erneut speichern wird.
HSTS Fehlermeldung in Google CHROME
In Chrome kann folgender Fehler angezeigt werden: „NET::ERR_CERT_COMMON_NAME_INVALID“
Wenn Sie auf ‚Erweitert‘ klicken, wird die Fehlermeldung folgende Information enthalten:
„Sie können domainname.com derzeit nicht besuchen, da die Website HSTS verwendet“
Auf localhost kann folgende Fehlermeldung angezeigt werden:
„Diese Seite kann keine sichere Verbindung bereitstellen“
HSTS Fehlermeldung in Mozilla FIREFOX
In Firefox lautet die Fehlermeldung der Zwischenseite:
„Diese Seite verwendet HTTP Strict Transport Security (HSTS), um anzugeben, dass Firefox nur eine sichere Verbindung herstellen kann. Es ist daher nicht möglich, eine Ausnahme für dieses Zertifikat hinzuzufügen.
Wenn Sie festgestellt haben, dass der Fehler auf zwischengespeicherte HSTS-Einstellungen zurückzuführen ist, befolgen Sie die folgenden Anweisungen, um den Fehler zu beheben.
HSTS-Einstellungen löschen in Google Chrome
- Navigieren Sie zu ‚chrome://net-internals/#hsts‘.
So gelangen Sie in die Benutzeroberfläche von Chrome zur Verwaltung der lokalen HSTS-Einstellungen Ihres Browsers.
- Um zu bestätigen, dass die HSTS-Einstellungen der Domain in Chrome aufgezeichnet sind, geben Sie zu nächste den Hostnamen im Feld unter ‚Query HSTS/PKP domain‘ ein und bestätigen mit Klick auf ‚Query‘. Wird jetzt ein ‚Found‘ ausgegeben, sind die HSTS-Einstellungen der Domain in Ihrem Browser gespeichert.
Bitte beachten Sie, dass dies eine sehr sensible Suche ist. Geben Sie daher nur den Hostnamen ein, wie z.B. www.beispielseite.de oder bespielseite.com, ohne Protokoll oder Pfad.
- Geben Sie jetzt den selben Hostnamen in das Feld unter ‚Delete domain security policies‘ ein.
- Klicken Sie auf ‚Delet‘ um den Vorgang abzuschließen.
Ihr Browser erzwingt nun keine HTTPS-Verbindung mehr für diese Seite. Sie können es überprüfen, in dem Sie die Seite neu laden oder zu der Seite navigieren.
Beachten Sie, dass je nach den von der Website bereitgestellten HSTS-Einstellungen möglicherweise die richtige Subdomain angegeben werden muss. Zum Beispiel können die HSTS-Einstellungen für beispiel.deineseite.com von deineseite.com getrennt sein, so dass Sie die Schritte eventuell wiederholen müssen.
HSTS-Einstellungen löschen in Mozilla Firefox
Es gibt mehrere Möglichkeiten die HSTS-Einstellungen in Firefox zu löschen, zwei davon werden wir hier vorstellen:
Die erste Methode sollte in den meisten Fällen funktionieren, falls nicht, stellen wir zur Sicherheit noch die manuelle Option zur Verfügung.
- Schließen Sie alle geöffneten Tabs/ Registerkarten in Firefox.
- Öffnen Sie das vollständige Verlaufsfenster mit der Tastenkombination Strg + Umschalt + H oder auf dem Mac cmd + Shift + H. Dieses Fenster bzw. diese Seitenleiste müssen Sie öffnen, damit Ihnen die unten aufgeführten Optionen zu verfügung stehen.
- Suchen Sie jetzt die Website, für die Sie die HSTS-Einstllungen löschen möchten – Sie können oben rechts die Suchfunktion nutzen.
- Klicken Sie dann mit der rechten Maustaste auf die Website in der Liste und wählen Sie ‚diese Website vergessen‘. Dadurch werden die HSTS-Einstellunge (und andere Cache-Daten) für diese Domain gelöscht.
Starten Sie Firefox neu und besuchen Sie die Website. Sie sollten jetzt die Seite über HTTP besuchen können. Wenn diese Anweisung nicht funktioniert hat, können Sie die HSTS-Einstellungen manuell bearbeiten:
Manuelle Methode HSTS-Einstellungen löschen in Firefox
Windows-Rechner
- Wenn Sie mit einem Windows-Rechner arbeiten suchen Sie über Ihrem Datei-Explorer Ihres Betriebsystems den Firefox-Profilordner. Sie können diesen Ordner über Firefox finden, indem Sie zu about:support navigieren.
- In der Mitte der Seite im Abschnitt „Anwendungsgrundlagen“ sehen Sie den Profilordner. Klicken Sie auf „Ordner öffnen“.
- Schließen Sie nun Firefox, damit der Browser keine Einstellungen überschreibt, die Sie gleich ändern werden.
- Öffnen Sie in Ihrem Profilordner die Datei ‚SiteSecurityServiceState.txt‘. Diese Datei enthält die zwischengespeicherten HSTS- und HPKP-Einstellungen (Key Pinnin, ein separater HTTPS-Mechanismus) für Domains, die Sie besucht haben. Zur Info, die Auflistung ist meist sehr unorganisiert.
- Suchen Sie hier nach der Domain, für die Sie die HSTS-Einstellungen löschen möchten und löschen Sie sie. Jeder Eintrag beginnt mit dem Domain-Namen. Löschen Sie den gesamten Eintrag vom Anfang des gewünschten Domain-Namens bis zur nächsten aufgeführten Domain. Alternativ können Sie sicherheitshalber die Datei in .bak umbenennen, somit bleibt die vorhandene Datei noch erhalten und Firefox erstellt beim nächsten Start eine neue Datei. Ein Beispiel für die Auflistung finden Sie unter der Beschreibung für Mac OS.
Mac-Rechner
Wenn Sie mit einem Mac arbeiten, gehen Sie wie folgt vor:
- Öffnen Sie den „Finder“
- Wählen auf im Laufwerk „Macintosh HD“ den Benutzer-Ordner aus. Wählen Sie hier Ihren Profil-Ordner (benannt nach Ihrem Benutzernamen) und öffnen hier den Ordner „Library“: Ordner „Application Support“: Ordner „Firefox“: Ordner „Profiles“.
- Im Ordner „Profiles“ öffnen Sie den Ordner name. Default-releases.
- Hier finden Sie die Datei „SiteSecurityServicesState.txt“. Öffnen Sie diese Datei, suchen Sie die entsprechende Domain und löschen Sie den Eintrag.
Auch hier beginnt jeder Eintrag mit dem Domain-Namen. Löschen Sie den gesamten Eintrag vom Anfang des gewünschten Domain-Namens bis zur nächsten aufgeführten Domain. Alternativ können Sie sicherheitshalber die Datei in .bak umbenennen, somit bleibt die vorhandene Datei noch erhalten und Firefox erstellt beim nächsten Start eine neue Datei.
Beispiel für die Auflistung der Domains in der SiteSecurityServicesState.txt-Datei:
Wir hoffen, wir konnten Ihnen mit dieser Anleitung weiterhelfen, fall Sie dennoch Hilfe benötigen oder Fragen haben, kontaktieren Sie uns gerne!