"Mittels eines Header-Eintrags informieren HSTS-taugliche Webserver
anfragende Browser beim ersten Kontakt via HTTP darüber, dass alle
Verbindungen zur Website per SSL/TLS verschlüsselt werden sollen."
Der Standard definiert, dass man den HSTS-Header nicht über
unverschlüsselter Verbindungen senden/verarbeiten darf:
"An HSTS Host MUST NOT include the STS header field in HTTP responses
conveyed over non-secure transport."
und
"If an HTTP response is received over insecure transport, the UA MUST
ignore any present STS header field(s)."
Das ist so, damit eben kein MITM-Angreifer einen trivialen DOS auf
nicht-SSL-Server machen kann.
Man muss also schon ein Mal per SSL auf die Seite zugreifen, danach
macht der Browser immer SSL. Quasi ein eingebauter Sanity-Check.
Man stelle sich beispielsweise mal vor, die aktuelle Heise-Konfig
würde von einem Fiesling bei einem HTTP-Aufruf einen HSTS-Header
verpasst bekommen...
Wenn Browser den auswerten würden, wäre Heise instant nicht mehr
zugreifbar (heise macht einen Redirect von https nach http, der würde
vom Browser wieder auf https umgeschrieben usw usf).
cu, Paeniteo
anfragende Browser beim ersten Kontakt via HTTP darüber, dass alle
Verbindungen zur Website per SSL/TLS verschlüsselt werden sollen."
Der Standard definiert, dass man den HSTS-Header nicht über
unverschlüsselter Verbindungen senden/verarbeiten darf:
"An HSTS Host MUST NOT include the STS header field in HTTP responses
conveyed over non-secure transport."
und
"If an HTTP response is received over insecure transport, the UA MUST
ignore any present STS header field(s)."
Das ist so, damit eben kein MITM-Angreifer einen trivialen DOS auf
nicht-SSL-Server machen kann.
Man muss also schon ein Mal per SSL auf die Seite zugreifen, danach
macht der Browser immer SSL. Quasi ein eingebauter Sanity-Check.
Man stelle sich beispielsweise mal vor, die aktuelle Heise-Konfig
würde von einem Fiesling bei einem HTTP-Aufruf einen HSTS-Header
verpasst bekommen...
Wenn Browser den auswerten würden, wäre Heise instant nicht mehr
zugreifbar (heise macht einen Redirect von https nach http, der würde
vom Browser wieder auf https umgeschrieben usw usf).
cu, Paeniteo