HSTS on veebiturvalisuse vastuse päis. Nimi on akronüüm sõnast "HTTP Strict Transport Security". HSTS-i päise ülesanne on sundida brausereid looma HTTPS-i kaudu ühendust veebisaitidega.
Näpunäide. HTTPS kasutab krüptimist, et kaitsta teie veebiühendust häkkerite eest, kes üritavad seda muuta või jälgida. HTTP-l pole neid kaitseid ja seega võib õiges kohas asuv häkker teie HTTP-liiklust jälgida ja muuta.
Veebivastuse päis on osa metaandmetest, mille server saadab veebipäringutele vastamisel. Nende päiste alamhulka nimetatakse sageli turvapäisteks, kuna nende eesmärk on suurendada veebisaidi ja kasutaja turvalisust.
HSTS-i päises on kaks kohustuslikku osa ja kaks valikulist. Päise nimi "Strict-Transport-Security" ja seejärel operaator "maksimaalne vanus" ja väärtus on mõlemad kohustuslikud. Mõnikord kasutatakse ka teist operaatoripaari, "includeSubDomains" ja "preload".
Kui brauser saab HTTPS-i vastuse koos HSTS-i päisega, antakse talle korraldus luua ühendus selle veebisaidi ja kõigi sellel olevate ressurssidega, kasutades ainult HTTPS-i maksimaalse vanuse taimeri kestel. "Max-vanus" on muutuja, mis kirjeldab, kui kaua peab brauser seadet meeles pidama. “Max-age” väärtus on loetletud sekundites, soovitatav väärtus on “31536000”, mis on üks aasta.
Idee seisneb selles, et selle taimeri kestuse jooksul, mis lähtestatakse iga järgmise lehe laadimisega, nõuab brauser HTTPS-ühendust ja lükkab tagasi kõik HTTP-ressursid. See kaitseb rünnakute eest, kus teie ja veebiserveri vaheline häkker saab teie vastustega manipuleerida.
Peamine punkt, kus see teid kaitseb, on esimene ühendus. Tavaliselt võite veebisaidiga ühenduse loomisel taotleda HTTP veebisaiti ja seejärel suunata teid HTTPS-i veebisaidile. Kahjuks võib keskpositsioonil olev häkker takistada HTTPS-ile üleminekut ja seejärel varastada või jälgida teie tegevust veebisaidil. Kui brauser on HSTS-i päist näinud, loob teie brauser aga isegi esimese ühenduse HTTPS-i kaudu, kaitstes teid häkkerite eest.
HSTS takistab ka ebaturvaliste ressursside laadimist, mida ründaja võib samuti pahatahtlikult muuta, kui need tarnitakse HTTP kaudu.
Operaatorit "includeSubDomains" kasutatakse näitamaks, et päis peaks kehtima ka veebisaidi kõikide alamdomeenide kohta.
HSTS-i eellaadimise loend
Võite märgata, et HSTS ei kaitse teid ikkagi esimesel veebisaidiga ühenduse loomisel. Siin tuleb sisse operaator "eellaadimine". Veebisaidid võivad end esitada HSTS-i eellaadimisloendisse lisamiseks, sellisel juhul on operaator "eellaadimine" kohustuslik. HSTS-i eellaadimise loendit värskendatakse regulaarselt ja talletatakse brauseris. Kui sait on sellesse kaasatud, rakendab brauser sellele HSTS-i kaitset. See juhtub isegi kõige esimesel ühendusel, enne kui brauser oleks kunagi näinud HSTS-i vastuse päist.
Näpunäide. HSTS-i eellaadimisloendisse lisamiseks on nõutav "maksimaalne vanus" vähemalt aasta.
Probleemid HSTS-iga
HSTS-i üks põhipunkte on see, et HTTPS-i ühendusega seotud probleemide korral kuvatakse veateade. Täiendava turvameetmena ei peaks kasutajad saama HSTS-i veateadetest mööda minna, nagu nad saaksid seda teha tavaliste HTTPS-i vigade korral.
Kahjuks võib see põhjustada probleeme, kui ettevõte võtab HSTS-i kasutusele enne kogu veebisaiti ja iga sellel kasutatud ressurss toetab HTTPS-i. Sel juhul hakkavad kasutajad nägema HSTS-i turvatõrketeateid, millest nad ei saa mööda minna, rikkudes sisuliselt veebisaidi täielikult. Halvim on see, et lihtsalt HSTS-i päise eemaldamine ei lahenda nende kasutajate probleemi, kuna nende brauser jätkab HSTS-i jõustamist potentsiaalselt kuude pikkuse "maksimaalse vanuse" jooksul.
Seetõttu on ülimalt oluline, et päise esmakordsel juurutamisel kasutataks lühikest "maksimaalset vanust". Kui on probleeme, püsivad need pärast avastamist vaid lühikest aega. Alles siis, kui olete kindel, et teie veebisait on täielikult HSTS-iga ühilduv, peaksite konfigureerima pika HSTS-taimeri.
Näpunäide. Samuti on võimalik määrata "maksimaalne vanus" 0, mis sisuliselt eemaldab salvestatud HSTS-kirje kõigilt, kes seda näevad. See võib aidata, kui tekib probleem, kuid see mõjutab kasutajaid ainult siis, kui nad otsustavad uuesti proovida.