Mire jó a HSTS preload?

Mire jó a HSTS preload?

Ma a HTTPS protokoll használata már alapkövetelmény a weblapoknál. Ha ezt már beállítottuk, akkor érdemes szánni néhány percet a HSTS és a HSTS preload beállítására is. Ezeknek költsége nincs, és a lapunk biztonsági szintjét jelentősen növelhetik.

Csupán néhány szót ejtenék a HTTP Strict Transport Security (HSTS) fejlécről, hiszen az RFC 6797 dokumentumban ott a teljes leírása. Röviden, a HSTS célja, hogy meghatározhassuk a böngészők számára, hogy a weblapunk eléréséhez csak biztonságos HTTPS protokollt használhatnak. A beállításnak közvetlen SEO hatása ugyan nincs, de a lapunk biztonságát és a felhasználói adatok védelmének szintjét növelhetjük a segítségével.

Hogy néz ki egy HSTS fejléc?

Nézzünk egy konkrét példát, a SEOtrend.hu esetében például az alábbiakat küldi a szerverünk HSTS fejlécként.

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

Nincs sok paraméter, így szinte elrontani sem lehet.

  1. A max-age=63072000 meghatározza, hogy a lekérés után még 63072000 másodpercig, azaz 2 évig biztosan csak HTTPS protokollon keresztül érhető el a weblapunk.
  2. Az includeSubDomains jelzi, hogy a korlátozás valamennyi aldomainre, így pl. a www.seotrend.hu-ra is vonatkozik.
  3. A preload lehetővé teszi, hogy a HSTS preload lehetőségét is kihasználjuk.

A HSTS beállítását legtöbbször a webszeren kell megtennünk, a WordPress és egyéb CMS motorok adminisztrátori felületei erre rendszerint nem adnak lehetőséget.

Nginx szerver esetén csak az alábbi sor kell a fejléc hozzáadásához.

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

A fenti add_header sort természetesen valamennyi „server” blokkhoz hozzá kell adnunk, amely SSL beállítást tartalmaz. Ha esetleg valamely location blokkon belül szerepel már másik add_header, akkor ott ismét meg kell adnunk ezt is. Ez Nginx sajátosság, amit sokan és sokszor felejtenek el.

Ha a Chrome böngésző címsorába http:// kezdettel írjuk be a seotrend.hu címet, akkor a Chrome DevTool eszközben a Network fülön egy 307-es státuszkódú átirányítás jelenik meg. Ez nem egy valós HTTP státuszkód, csak a böngésző belső átirányítására utal. Innen láthatjuk, hogy a HSTS aktív, a böngésző pedig meg sem próbál HTTP protokollon kapcsolódni a webszerverhez.

Mi az a HSTS preload?

A HSTS fejléc elküldése után a böngésző már tudni fogja, hogy a továbbiakban csak HTTPS protokollon lesz elérhető a weblapunk. Az első kérés előtt azonban erről nem áll rendelkezésre információ, így a weblapunk az első kérés előtt még védtelen. A probléma kiküszöbölésére hozták létre a Chromium fejlesztői a HSTS preload lehetőségét. Ezzel a böngészők már az első kérés előtt egy integrált listából megkaphatják egy-egy domain HSTS beállításait.

Természetesen a HSTS preload lehetőségét nem csak a Chrome böngésző támogatja, a Firefox, Opera, Edge és szinte valamennyi jelentős böngésző is használja ezt a listát. A keresőrobotok azonban jelenleg figyelmen kívül hagyják a HSTS beállításokat.

Hogyan állítható be a HSTS preload?

Ha megfelelően beállítottuk a HSTS fejlécet, akkor a hstspreload.org oldalon kérhetjük a domain nevünk felvételét a HSTS preload listába. A weboldalon csak a domain nevet kell megadnunk, majd egy gyors ellenőrzés után meg is kapjuk a visszajelzést, hogy a lapunk beállításai megfelelnek-e a HSTS követelményeknek. Ha igen, akkor nincs is több dolgunk, a következő böngészőfrissítés után érvényre jut a beállításunk.

Tisztában kell lenni a ténnyel, hogy a HSTS preload beállítása egy egyirányú utca. Ugyan levélben kérhetjük a listáról való törlést, de ez csak a böngészők következő kiadásaiban juthat érvényre. Már egy meggondolatlanul beállított „includeSubDomains” is komoly fejtörést okozhat, ha fejlesztői vagy egyéb szerverek is vannak az érintett domain alatt. Mindenképp érdemes alaposan megfontolni a beállítást.

Ahogy írtam már, a HSTS-nek nincs közvetlen hatása a SEO-ra, de a biztonságra igen. Ezért is érthetetlen számomra, hogy számos magyar bank weblapja nem vagy csak részben használja ki a HSTS lehetőségét.

Ha problémába ütköznél a HSTS beállítás során, akkor lépj be a Facebook csoportunkba, segítünk!

További információ:

Legújabb cikkeink