HTTP Strict Transport Security

HTTP Strict Transport Security (HSTS) is een serverinstelling die het gebruik van een veilige HTTPS verbinding afdwingt.

Waarom HSTS?

Na installatie van een SSL certificaat is een website bereikbaar via een HTTPS verbinding. Hierbij worden gegevens versleuteld verzonden, zodat ze niet onderschept kunnen worden. Echter is het gebruik van HTTPS niet voldoende. Je wilt ook afdwingen dat de website alleen via HTTPS wordt bezocht, ook als een bezoeker een HTTP-adres in de adresbalk invoert.

Hoe werkt HSTS?

Bij gebruik van HSTS wordt door de browser gecontroleerd of er verbinding wordt gemaakt met een door SSL beveiligde pagina. Als dit niet het geval is worden bezoekers van een website automatisch doorgestuurd van http naar https en dus naar de beveiligde versie van de website. Indien er geen beveiligde verbinding mogelijk is krijgt de bezoeker een foutmelding te zien, en wordt de verbinding geweigerd. Het gebruik van HSTS kan 'man in the middle' aanvallen voorkomen, omdat een website op deze wijze niet omgeleid kan worden naar een onbeveiligde pagina.

Om gebruik te maken van HSTS worden alle onbeveiligde verbindingen eerst omgeleid naar een beveiligde verbinding, vervolgens wordt de browser door middel van een HSTS header geinstrueerd in het vervolg alleen nog via HTTPS verbinding te maken met het domein in kwestie. In de header wordt direct aangegeven hoe lang de instructie bewaard moet worden door middel van een 'max-age' setting, tevens bestaat de mogelijkheid in de header op te geven of de instelling ook geldig is voor subdomeinen.

HSTS preloading

Wanneer een website voor het eerst bezocht wordt, maakt de browser eerst een connectie via HTTP. Dit komt omdat de browser niet vooraf weet of HSTS aan staat. Deze verbinding is vatbaar voor een 'man in the middle' aanval. Dit kun je voorkomen door gebruik te maken van een 'pre-load' functie. Als de browser het verzenden van een "pre-load" HSTS-lijst ondersteunt, wordt door de browser automatisch een HTTPS-verbinding tot stand gebracht. Om je website op te nemen in de vooraf geladen HSTS-lijst, kun je hier een verzoek indienen. De volledige preloadlijst is openbaar leesbaar via Chromium.

Ondersteuning

Browser Ondersteuning vanaf versie
Internet Explorer 11 op Windows 7 als update KB 3058515 is geïnstalleerd
Microsoft Edge Windows 10
Opera 12
Firefox 4, preload lijst aanwezig vanaf Firefox 17
Safari OS X Mavericks
Chrome/Chromium

4.0.211.0

Blackberry browser en Webview Blackberry OS 10.3.3

HSTS instellen

Het instelen van HSTS verschilt per type webserver:

point up