HSTS (HTTP Strict Transport Security) ist ein zusätzlicher Schutz für HTTPS-Verbindungen. Dabei wird dem Browser ein HTTP Response Header Strict-Transport-Security vom Server gesendet. Dies veranlasst den Browser zukünftig bzw. für die im Header definierte Zeit, nur noch verschlüsselte Verbindungen zu dieser Domain aufzubauen. Weitere Informationen zu diesem Thema gibt es z.B. auf der Seite von Wikipedia.
Ist diese Header einmal an den Browser gesendet ist der Zugriff ohne Verschlüsselung auf diese URL nicht mehr ohne Weiteres mit diesem Browser möglich. Soll die Kommunikation wieder unverschlüssel erfolgen müssen zuerst die Einstellungen am Webserver geändert werden und das Senden der Strict-Transport-Security Header verhindert werden. Anschliessen muss im Browser der HSTS-Cache entfernt werden.
Ob der Strict-Transport-Security Header noch gesendet wird kann man z.B. mit cURL prüfen.
curl -I https://der-linux-admin.de/
HTTP/1.1 200 OK Server: nginx/1.11.3 Date: Wed, 10 Aug 2016 12:58:16 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding Link: <https://der-linux-admin.de/wp-json/>; rel="https://api.w.org/" Strict-Transport-Security: max-age=31536000 X-Frame-Options: SAMEORIGIN
In diesem Beispiel ist der Header noch aktiv.
In diesem Artikel wird beschrieben wie man den HSTS Cache in den verschiedenen Browsern löscht.
Firefox – HSTS Cache löschen
Die HSTS Informationen der Domains liegen beim Browser Firefox im Profil-Ordner.
Dazu geben wir im Firefox in der Adressleiste about:support ein. Anschliessend kann der Profilordner durch ein Klick auf Profilordner anzeigen geöffnet werden. Dort befindet sich eine Textdatei mit dem Namen SiteSecurityServiceState.txt.
Nun muss sichergestellt werden, das Firefox vollständig beendet wurde. Danach können wir die Datei mit einen Texteditor bearbeiten und die entsprechende Zeile löschen.
vi SiteSecurityServiceState.txt
Löschen der Zeile mit der entsprechenden Domain:
der-linux-admin.de:HSTS 202 17023 1502367722113,1,0
Chorme – HSTS Cache löschen
Es ist recht komfortabel den HSTS Cache einer bestimmten Domain im Google-Chrome Browser zu löschen. Dazu geben wir in der Adressleiste chrome://net-internals/#hsts ein. Anschliessend können wir unter dem Punkt Query domain die HSTS Informationen zu einer bestimmen Domain abfragen.
Das Löschen erfolgt dann unter dem Punkt Delete domain. Nach dem Löschen sollte nochmals eine Abfrage durchgeführt werden um sicherzustellen, dass keine Einträge mehr vorhanden sind.
Safari – HSTS Cache löschen (macOS)
Dazu muss Safari vollständig beenden werde und auch wieder sichergestellt werden, dass dieser nicht mehr läuft. Anschliessend löschen wir die Datei unter ~/Library/Cookies/HSTS.plist
rm ~/Library/Cookies/HSTS.plist
Leider ist es nicht möglich gezielt Einträge aus dieser Datei zu enfernen. Dadurch sind damit alle Informationen zu bisher gesammelten HSTS-Einstellungen verloren.