HSTS: Skirtumas tarp puslapio versijų

Iš IV pagalba klientams.
Peršokti į: navigacija, paiešką
 
24 eilutė: 24 eilutė:
 
* "max-age" leidžia nurodyti norimą laiką, "31536000" - 12 mėnesių arba "63072000" - 24 mėnesiai.
 
* "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.
 
* "includeSubdomains" reiškia, kad ir visi subdomenai bus pasiekiami HTTPS prievadu.
* "preload" nurodykite, jei norite įtraukti svetainę į HSTS mechanizmą naudojančių svetainių sąrašą ([https://hstspreload.org/ hstspreload.org]).
+
* "preload" nurodykite, jei norite įtraukti svetainę į HSTS mechanizmą naudojančių svetainių sąrašą .
  
 
'''Pastaba:''' jeigu Jūsų svetainė yra parašyta su '''HTML''' programiniu kodu, šis kodas turi būti aprašytas '''.htaccess''' faile. Naudojami tokie patys pagrindiniai parametrai, tačiau naudojama ir papildoma šiam failui reikalinga sintaksė, pavyzdžiui:
 
'''Pastaba:''' jeigu Jūsų svetainė yra parašyta su '''HTML''' programiniu kodu, šis kodas turi būti aprašytas '''.htaccess''' faile. Naudojami tokie patys pagrindiniai parametrai, tačiau naudojama ir papildoma šiam failui reikalinga sintaksė, pavyzdžiui:
32 eilutė: 32 eilutė:
 
Papildomai turi būti sukurtas automatinis peradresavimą į HTTPS protokolą. Šį peradresavimą esame aprašę kitoje savo [[Automatinis peradresavimas i HTTPS protokola|pamokoje]].
 
Papildomai turi būti sukurtas automatinis peradresavimą į HTTPS protokolą. Šį peradresavimą esame aprašę kitoje savo [[Automatinis peradresavimas i HTTPS protokola|pamokoje]].
  
Patikrinimui ar '''HSTS''' buvo įvestas sėkmingai, galite naudoti šią patikros formą: https://hstspreload.org/
+
Patikrinimui ar '''HSTS''' buvo įvestas sėkmingai, galite naudoti šią patikros formą: https://securityheaders.com/
  
 
[[Kategorija:Serverio_ir_PHP_nustatymai]]
 
[[Kategorija:Serverio_ir_PHP_nustatymai]]

Dabartinė 15:24, 14 sausio 2022 versija

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

SVARBU - prieš išsaugodami HSTS parametrus įsitikinkite, kad domenas bei naudojami subdomenai palaiko HTTPS sertifikatą. HSTS parametrai po įvedimo svetainėje būna išsaugomi naršyklėje globaliai. Gali užtrukti kelis mėnesiui kol naršyklė atliks atnaujinimą ir priverstinai nebevykdys peradresavimo į HTTPS protokolą. Tol kol HSTS įrašas nebus pašalinamas iš naršyklės bus atliekamas priverstinį peradresavimas ir Jūsų svetainė nebus atvaizduojama.

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šą .

Pastaba: jeigu Jūsų svetainė yra parašyta su HTML programiniu kodu, šis kodas turi būti aprašytas .htaccess faile. Naudojami tokie patys pagrindiniai parametrai, tačiau naudojama ir papildoma šiam failui reikalinga sintaksė, pavyzdžiui:

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS

Papildomai turi būti sukurtas automatinis peradresavimą į HTTPS protokolą. Šį peradresavimą esame aprašę kitoje savo pamokoje.

Patikrinimui ar HSTS buvo įvestas sėkmingai, galite naudoti šią patikros formą: https://securityheaders.com/