Strict Transport Security (HSTS) is een beveiligingsregel, geleverd als een kleine header, die browsers opdraagt om je website alleen nog via een versleutelde verbinding te benaderen en nooit via gewoon, onbeveiligd HTTP. Zodra een browser de regel heeft gezien, onthoudt hij die en zet hij elk volgend bezoek stilletjes om naar de veilige versie, ook als iemand het adres zonder https intypt.
Stel je een portier voor die na je eerste bezoek noteert: ‘deze gast gebruikt alleen de gepantserde achteringang’. Vanaf dan word je, welke deur je ook nadert, rustig naar de veilige geleid. HSTS geeft de browser dezelfde staande instructie voor je domein, en haalt zo het riskante moment weg waarop er überhaupt een onveilige verbinding wordt geprobeerd.
Het werkt bovenop HTTPS en een geldig SSL-certificaat; HSTS vervangt die niet, maar zorgt dat ze altijd worden gebruikt. Als een van de impactvollere website-beveiligingsheaders blokkeert het een klasse aanvallen die bezoekers naar een onversleutelde verbinding proberen te downgraden. De keerzijde is discipline: met HSTS aan moet je certificaten geldig houden, want de browser weigert liever dan terug te vallen.
Een paar details zijn handig om te weten voordat je hem aanzet. De header heeft een max-age, vaak een jaar, en dat is hoelang de browser de regel afdwingt, dus begin met een korte waarde terwijl je controleert of alles werkt. Met includeSubDomains breid je het uit naar elk subdomein, en dat verrast mensen als er nog een interne tool op gewoon HTTP draait. En de preload-lijst, ingebakken in browsers als Chrome en Firefox, is praktisch permanent, dus een domein krijg je er lastig weer af. Behandel die stap als een deur die maar één kant op gaat.
Bij TopDevs zetten we HSTS aan zodra de HTTPS-opzet van een klant solide is, zodat elke bezoeker vanaf zijn allereerste klik vastzit op de veilige verbinding.