HSTS

Iš IV pagalba klientams.
Peršokti į: navigaciją, paiešką

HTTP Strict Transport Security (HSTS) - interneto svetainių saugumo mechanizmas, skirtas apsaugoti svetainę nuo duomenų nutekėjimo. Šis mechanizmas leidžia svetainei nurodyti, kad interneto naršyklės turi ją atidaryti tik saugiu HTTPS protokolu ir negali užmegzti susijungimo HTTP protokolu.

Veikimas

Svetainės savininkas HTTP antraščių pagalba gali nurodyti, kaip ateityje interneto naršyklėms reikėtų užmegzti ryšį su jo svetaine. Pavyzdžiui, nurodžius antraštę Strict-Transport-Security: max-age=31536000 - tai reikš, kad ateinančias 31536000 sekundžių (365 dienas) visos naršyklės su svetaine ryšį turės užmegzti tik HTTPS protokolu.

Šio mechanizmo esminiai veikimo principai yra:

  1. Visos svetainės nuorodos priverstinai pakeičiamos į saugias, pavyzdžiui nuoroda http://mano-svetaine.lt/idomus-straipsnis.html bus pakeista į https://mano-svetaine.lt/idomus-straipsnis.html dar prieš pilnai užkraunant visą svetainę.
  2. Jei saugus susijungimas negali būti užmegztas (serveryje nėra įdiegtas SSL sertifikatas), tada pateikiamas klaidos pranešimas.

HSTS mechanizmas pilnai apsaugo nuo trečių šalių įsikišimo tarp lankytojo ir serverio. Vienintelis minusas yra tai, kad interneto naršyklėse, per kurias lankytojai pirmą kartą atidarys atitinkamą interneto svetainę, pirmojo susijungimo metu dar gali būti bandoma svetainę pasiekti HTTP protokolu. Norint išspręsti šią problemą, galima įtraukti savo svetainę į specialų HSTS mechanizmą naudojančių svetainių sąrašą (hstspreload.org)

Įgyvendinimas

Norėdami įjungti HSTS savo svetainėje, rekomenduotume savo svetainės faile (-uose) su PHP programiniu kodu nurodyti žemiau esantį kodą. Šis kodas turėtų būti įterptas į failą, kuris visada yra užkraunamas naršant po Jūsų svetainę. Jei naudojate turinio valdymo sistemą pvz. Wordpress Jums šį kodą reikės įterpti į dizaino temos "header.php" failą (kitose turinio valdymo sistemos failas gali būti kitoks):

<?php
 header("Strict-Transport-Security:max-age=63072000; includeSubdomains; preload");
?>

Parametrų paaiškinimas:

  • "max-age" leidžia nurodyti norimą laiką, "31536000" - 12 mėnesių arba "63072000" - 24 mėnesiai.
  • "includeSubdomains" reiškia, kad ir visi subdomenai bus pasiekiami HTTPS prievadu.
  • "preload" nurodykite, jei norite įtraukti svetainę į HSTS mechanizmą naudojančių svetainių sąrašą (hstspreload.org).