A HSTS (HTTP Strict Transport Security) egy biztonsági mechanizmus, amellyel a weboldal arra utasítja a látogató böngészőjét, hogy a jövőben kizárólag titkosított HTTPS kapcsolaton keresztül próbálja meg elérni az oldalt, még akkor is, ha a felhasználó HTTP-vel (titkosítás nélkül) próbálná megnyitni.
Miért van rá szükség?
SSL tanúsítvány telepítése és a HTTPS-re irányítás önmagában nem nyújt teljes védelmet: ha egy látogató véletlenül vagy egy régi linkről HTTP-vel próbálja elérni az oldalt, egy köztes támadó (pl. nyilvános WiFi hálózaton) elméletileg lehallgathatja vagy módosíthatja az első, titkosítatlan kérést, mielőtt az átirányítás megtörténne. A HSTS ezt a rövid időablakot zárja be azzal, hogy a böngésző már eleve HTTPS-sel próbálkozik.
Hogyan kapcsolható be?
A HSTS egy HTTP válaszfejléc (Strict-Transport-Security) hozzáadásával aktiválható, amelyet a szerver konfigurációjában vagy a weboldal .htaccess fájljában állíthatunk be Apache szerveren:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Ez a példa egy évre (31 536 000 másodperc) jegyzi meg a böngészőben, hogy az adott domain és annak aldomainjei kizárólag HTTPS-en érhetők el.
Mire figyeljünk bekapcsolás előtt?
Mielőtt HSTS-t állítanánk be, győződjünk meg róla, hogy weboldalunk minden aloldala és erőforrása (képek, szkriptek) hibátlanul működik HTTPS-en, vegyes tartalom (mixed content) hibák nélkül. Mivel a HSTS fejlécet a böngésző hosszú ideig megjegyzi, egy elhamarkodottan bekapcsolt, de hibás HTTPS-konfiguráció esetén a látogatók átmenetileg egyáltalán nem tudják elérni az oldalt HTTP-n keresztül sem.