HSTS
Was HSTS ist, welchen Angriff es verhindert und warum includeSubDomains und preload mit Bedacht zu setzen sind.
HSTS steht für HTTP Strict Transport Security. Der Server schickt eine Kopfzeile, mit der er dem Browser sagt: Sprich mit dieser Domain ab jetzt ausschließlich über HTTPS, für die angegebene Dauer.
Strict-Transport-Security: max-age=31536000
Welchen Angriff HSTS verhindert
Eine Weiterleitung von HTTP auf HTTPS ist gut, aber der erste Aufruf läuft trotzdem kurz unverschlüsselt. Genau dort kann sich jemand im selben Netz dazwischenschalten und die Weiterleitung abfangen. Mit HSTS entfällt dieser Moment: Der Browser ruft die Seite von sich aus verschlüsselt auf, ohne den unverschlüsselten Umweg.
includeSubDomains und preload mit Bedacht
includeSubDomains erstreckt die Regel auf alle Subdomains. Hat eine davon kein gültiges Zertifikat, ist sie für die Dauer der max-age nicht mehr erreichbar, und zwar ohne Möglichkeit zum Wegklicken.
preload trägt die Domain in eine Liste ein, die in den Browsern fest verdrahtet ist. Sie greift dann schon vor dem ersten Kontakt. Aus dieser Liste wieder herauszukommen dauert Monate.
Empfehlung für HSTS
Erst sicherstellen, dass jede Subdomain sauber über HTTPS läuft. Dann mit einer kurzen max-age anfangen und hochsetzen. preload nur, wenn die Domain langfristig so bleibt.