Die kleine HSTS (HTTP Strict Transport Security) Falle
Frank (Level 5) - Jetzt verbinden
02.07.2015, aktualisiert 03.07.2015, 20547 Aufrufe, 8 Kommentare, 2 Danke
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
8 Kommentare
- LÖSUNG Herbrich19 schreibt am 03.07.2015 um 20:37:02 Uhr
- LÖSUNG wiesi200 schreibt am 03.07.2015 um 21:32:50 Uhr
- LÖSUNG Herbrich19 schreibt am 03.07.2015 um 21:43:57 Uhr
- LÖSUNG wiesi200 schreibt am 03.07.2015 um 21:53:59 Uhr
- LÖSUNG Herbrich19 schreibt am 03.07.2015 um 22:03:25 Uhr
- LÖSUNG mathu schreibt am 06.07.2015 um 11:25:51 Uhr
- LÖSUNG Herbrich19 schreibt am 08.07.2015 um 00:57:50 Uhr
- LÖSUNG mathu schreibt am 06.07.2015 um 11:25:51 Uhr
- LÖSUNG Herbrich19 schreibt am 03.07.2015 um 22:03:25 Uhr
- LÖSUNG wiesi200 schreibt am 03.07.2015 um 21:53:59 Uhr
- LÖSUNG Herbrich19 schreibt am 03.07.2015 um 21:43:57 Uhr
- LÖSUNG wiesi200 schreibt am 03.07.2015 um 21:32:50 Uhr
- LÖSUNG win-dozer schreibt am 11.07.2015 um 23:44:10 Uhr
LÖSUNG 03.07.2015 um 20:37 Uhr
LÖSUNG 03.07.2015, aktualisiert um 21:39 Uhr
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.
LÖSUNG 03.07.2015 um 21:43 Uhr
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
LÖSUNG 03.07.2015 um 21:53 Uhr
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 ...
LÖSUNG 03.07.2015 um 22:03 Uhr
LÖSUNG 06.07.2015, aktualisiert um 11:27 Uhr
LÖSUNG 08.07.2015 um 00:57 Uhr
LÖSUNG 11.07.2015, aktualisiert 17.07.2015