Die kleine HSTS (HTTP Strict Transport Security) Falle
Heute Morgen fiel mir auf, das Administrator.de unter dem Firefox und dem Chrome nur noch auf die https Variante schaltet. Egal, ob http:eingegeben wurde oder nicht, ich landetet immer wieder auf der https-Seite. Generell nichts schlimmes, aber dummerweise funktioniert die Werbung unter https nur eingeschränkt.
Was war also passiert: HSTS hat zugeschlagen. "HSTS" bedeutet HTTP Strict Transport Security und macht genau das, was ich gerade beschrieben habe: Es leitet jeden http Aufruf auf https um. Irgendwann hatte ich als Sicherheitsempfehlung die HSTS Konfiguration für den Webserver eingetragen, ohne genau zu prüfen was das für Folgen hat (passiert mir auch - doofer Fehler, ich weiß).
Hier die Config für Lighttpd, um HSTS einzuschalten (in der lighttpd.conf):
Hier die Config für NGINX, um HSTS einzuschalten (im Server-Block für HTTPS) :
Danach muss der jeweilige Server neu gestartet werden. Wenn alles richtig läuft, sollte nach einmaliger Eingabe der https Adresse jeder zukünftige Aufruf über https erfolgen.
Eigentlich eine schöne Sache, aber ohne Werbung können wir uns nicht finanzieren. Dazu passt der folgende Artikel: Washington Post stellt Website auf HTTPS um oder Probleme bei der Umstellung von Websites auf HTTPS.
Nachdem ich den selbst verschuldeten Fehler entdeckt habe, wurde dieser Teil der Config deaktiviert (evtl schalten wir das später ja wieder aktiv) und die Server neu gestartet.
Dummerweise merken sich, bis auf den IE 11, alle anderen Browser die HSTS Einstellung (getestet mit den neuesten Versionen von IE, Firefox und Chrome). Beim Chrome reicht das Löschen des Browser-Caches aus, um diese Einstellung wieder loszuwerden (alternativ in die URL "chrome:net-internals/#hsts" eingeben). Beim Firefox leider nicht. Hier muss man erst die gesamte History löschen und dann per "about:permissions" in der URL-Zeile die entsprechende Domain auswählen und ganz rechts auf "Gesamte Webseite vergessen" klicken.
Hier die Bilder dazu:
1) Cache löschen
2) Einstellung zur Webseite vergessen
Danach kann man die ausgewählte Domäne (hier www.administrator.de) wieder ohne das HSTS-Feature aufrufen (ohne die automatische Umleitung auf https). Damit kann ich selbst und nicht der Browser steuern, welche Bereiche der Webseite per https aufgerufen werden (Mitgliederbereich, Einstellungen) und welche nicht (Startseite, Detailseiten mit Werbung).
Ich hoffe ich konnte etwas zum Thema HSTS etwas beitragen. Auf Feeback freue ich mich natürlich.
Gruß
Frank
Was war also passiert: HSTS hat zugeschlagen. "HSTS" bedeutet HTTP Strict Transport Security und macht genau das, was ich gerade beschrieben habe: Es leitet jeden http Aufruf auf https um. Irgendwann hatte ich als Sicherheitsempfehlung die HSTS Konfiguration für den Webserver eingetragen, ohne genau zu prüfen was das für Folgen hat (passiert mir auch - doofer Fehler, ich weiß).
Hier die Config für Lighttpd, um HSTS einzuschalten (in der lighttpd.conf):
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
Eigentlich eine schöne Sache, aber ohne Werbung können wir uns nicht finanzieren. Dazu passt der folgende Artikel: Washington Post stellt Website auf HTTPS um oder Probleme bei der Umstellung von Websites auf HTTPS.
Nachdem ich den selbst verschuldeten Fehler entdeckt habe, wurde dieser Teil der Config deaktiviert (evtl schalten wir das später ja wieder aktiv) und die Server neu gestartet.
Dummerweise merken sich, bis auf den IE 11, alle anderen Browser die HSTS Einstellung (getestet mit den neuesten Versionen von IE, Firefox und Chrome). Beim Chrome reicht das Löschen des Browser-Caches aus, um diese Einstellung wieder loszuwerden (alternativ in die URL "chrome:net-internals/#hsts" eingeben). Beim Firefox leider nicht. Hier muss man erst die gesamte History löschen und dann per "about:permissions" in der URL-Zeile die entsprechende Domain auswählen und ganz rechts auf "Gesamte Webseite vergessen" klicken.
Hier die Bilder dazu:
1) Cache löschen
2) Einstellung zur Webseite vergessen
Danach kann man die ausgewählte Domäne (hier www.administrator.de) wieder ohne das HSTS-Feature aufrufen (ohne die automatische Umleitung auf https). Damit kann ich selbst und nicht der Browser steuern, welche Bereiche der Webseite per https aufgerufen werden (Mitgliederbereich, Einstellungen) und welche nicht (Startseite, Detailseiten mit Werbung).
Ich hoffe ich konnte etwas zum Thema HSTS etwas beitragen. Auf Feeback freue ich mich natürlich.
Gruß
Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276292
Url: https://administrator.de/knowledge/die-kleine-hsts-http-strict-transport-security-falle-276292.html
Ausgedruckt am: 30.12.2024 um 17:12 Uhr
8 Kommentare
Neuester Kommentar
Naja, bei HTTPS geht es ja nicht nur um Verschlüsselung sondern auch das die Daten unverändert sind, solange die Zertifikatskette nicht aufgebrochen wird was man dann aber nachvollziehen kann.
Zudem gehört es meines Wissens nach zu den Google Ranking Faktoren.
Zur zusätzlichen Auslastung. Google z.b. hat bei deren Umstellung eher die Aussage gebracht das dieser Faktor zu vernachlässigen ist. Alleine schon das die meisten Grundsätzliche Apache benutzen, der PHP Code unsauber ist oder schlechte Templates verwenden macht sich mehr bemerkbar als HTTPS.
Unsere Firmenseiten laufen seit gut nem halben Jahr auf HTTPS und sind "meiner" Meinung nach schnell genug.
Bei mir ist aber auch nicht das Problem ich auf Werbung angewiesen bin.
Zudem gehört es meines Wissens nach zu den Google Ranking Faktoren.
Zur zusätzlichen Auslastung. Google z.b. hat bei deren Umstellung eher die Aussage gebracht das dieser Faktor zu vernachlässigen ist. Alleine schon das die meisten Grundsätzliche Apache benutzen, der PHP Code unsauber ist oder schlechte Templates verwenden macht sich mehr bemerkbar als HTTPS.
Unsere Firmenseiten laufen seit gut nem halben Jahr auf HTTPS und sind "meiner" Meinung nach schnell genug.
Bei mir ist aber auch nicht das Problem ich auf Werbung angewiesen bin.
Ich habe auf meiner Homepage und auf Exchange auch HTTPS und läuft sehr flott. Und ja stimmt, die Autentizität der Daten ist schon wichtig. Wengleich ich mich aber auch fragen muss warum man eine Community angreifen sollte und da Daten verändert.
Aber die Tatsache das SSL zu den PageRank faktoren gehört ist mir neu, kannst du quellen posten den ich würde es liebend gern auch selbst mal nachvolzihen. Man lernt nie aus
LG, Herbrich
Aber die Tatsache das SSL zu den PageRank faktoren gehört ist mir neu, kannst du quellen posten den ich würde es liebend gern auch selbst mal nachvolzihen. Man lernt nie aus
LG, Herbrich
Ich sehe da eher dann das Problem des Einschleusens von Schadcode.
Anbei ne Quelle
http://googlewebmastercentral.blogspot.de/2014/08/https-as-ranking-sign ...
Anbei ne Quelle
http://googlewebmastercentral.blogspot.de/2014/08/https-as-ranking-sign ...
hmm schade... https sollte mittlerweile echt default sein.
...ich meine letztens gelesen zu haben das google adwords mittlerweile auch per https ausgeliefert werden kann...?
...ich meine letztens gelesen zu haben das google adwords mittlerweile auch per https ausgeliefert werden kann...?