Strict Transport Security
Silktide controleert of je versleutelde pagina's browsers instrueren om altijd de beveiligde versie van je website te gebruiken. Deze instructie, die Strict Transport Security wordt genoemd, voorkomt dat browsers ooit verbinding maken via een onversleutelde verbinding, zelfs wanneer een bezoeker een gewoon adres invoert of een oude link volgt.
De instructie is een die met elke pagina via wordt verzonden:
Strict-Transport-Security: max-age=31536000
Waarom dit belangrijk is
Zelfs een website die volledig via HTTPS wordt aangeboden, accepteert meestal eerst één
onversleuteld verzoek: de bezoeker typt example.com, de browser probeert http://,
en de server verwijst door naar https://. Die ene onversleutelde stap is genoeg voor
een aanvaller op hetzelfde netwerk om de verbinding te onderscheppen en de bezoeker op
een valse of gemanipuleerde versie van de site te houden: een
man-in-the-middle-aanval.
Strict Transport Security (HSTS) dicht deze maas. Zodra een browser de header heeft
gezien, zet deze elk toekomstig verzoek zelf om naar HTTPS, zolang de max-age dit
aangeeft. Zo vindt het kwetsbare eerste verzoek nooit meer plaats.
Hoe je dit oplost
- Zorg ervoor dat je volledige website eerst via HTTPS werkt. Zodra HSTS actief is, zullen browsers de onversleutelde versie volledig weigeren.
- Configureer je webserver, hostingplatform of om de
Strict-Transport-Security-header mee te sturen met alle HTTPS-reacties. Veel platforms hebben een HSTS-instelling die je met één klik kunt inschakelen. - Stel een betekenisvolle
max-agein seconden in. Begin klein (bijvoorbeeld86400, één dag) als je een proefperiode wilt, en verhoog deze daarna naar één jaar (max-age=31536000) zodra je er vertrouwen in hebt. - Voeg optioneel
includeSubDomainstoe om elk subdomein te omvatten, maar alleen als al deze subdomeinen HTTPS ondersteunen.
Hoe Silktide dit test
- Controleer elke pagina die via HTTPS wordt aangeboden op een
Strict-Transport-Security-header met een niet-lege waarde. - Rapporteer de pagina als de header ontbreekt.
- Pagina's die via onversleutelde verbindingen worden aangeboden, worden overgeslagen, omdat browsers deze header daar negeren. Het beveiligen van die pagina's valt onder de SSL-versleutelingscontrole.
Problemen oplossen
Ik heb de header ingesteld, maar de controle mislukt nog steeds
Controleer of de header wordt verzonden door precies de pagina's die worden gescand, en niet alleen door de homepage. Je kunt de antwoordheaders van een pagina bekijken in de ontwikkelaarstools van je browser, onder het tabblad Netwerk.
Kan HSTS bezoekers buitensluiten?
Als je HSTS inschakelt en je HTTPS-configuratie later niet meer werkt (bijvoorbeeld door
een verlopen certificaat), zullen browsers die de header hebben onthouden weigeren terug
te vallen op de onversleutelde site totdat max-age verloopt. Dit is opzettelijk. Zorg
er daarom voor dat het vernieuwen van je certificaten geautomatiseerd is.