Wat is HTTP Strict Transport Security (HSTS)?

HTTP Strict Transport Security, oftewel HSTS, is een response header die toestaat dat browsers gedwongen worden voor alle opvolgende requests die ze naar een server sturen, HTTPS te gebruiken. Dit betekent dat een bezoek naar http://www.networking4all.com automatisch wordt doorgestuurd naar https://www.networking4all.com, zonder dat er eerst een request wordt gestuurd voor de HTTP-pagina. Dit voorkomt ook dat er tijdens een Man in the Middle attack een downgrade attack kan worden toegepast die het verkeer over een onbeveiligde verbinding zou dwingen in plaats van de versleutelde HTTPS-verbinding.

HSTS werkt zo, dat niet alleen direct verkeer naar de website in kwestie automatisch wordt omgezet naar een HTTPS-verbinding. Ook links die op een externe pagina staan en die linken naar de HTTP-pagina worden automatisch naar de HTTPS-pagina gestuurd. Daarnaast voorkomt het gedwongen gebruik van HTTPS ook dat via cookies de sessie key kan worden gekaapt.

Het instellen van HSTS is een kwestie van het toevoegen van één response header aan de config:

Strict-Transport-Security: max-age= 31536000;

De server stelt zo vast dat HSTS voor één jaar, of 31.536.000 seconden, het gebruik van HTTPS verplicht stelt.