
HSTS je varnostni mehanizem, s katerim spletno mesto brskalniku sporoči, naj vse prihodnje povezave vzpostavi izključno prek protokola HTTPS. Obiskovalec zato ne dostopa do nezaščitene različice strani, tudi ob ročnem vpisu naslova brez oznake HTTPS. Pravilo se shrani v brskalniku in ostane dejavno toliko časa, kot je določeno v nastavitvah HSTS za posamezno spletno mesto.
Uporaba HTTPS danes predstavlja osnovo varnega prenosa podatkov, vendar običajna preusmeritev z naslova HTTP še vedno vključuje začetno nezaščiteno zahtevo. HSTS to pomanjkljivost odpravi po prvem varnem obisku ter zmanjša možnost prestrezanja povezave, lažnih preusmeritev in zlorab v nezaščitenih omrežjih.
HSTS brskalniku določi obvezno uporabo povezave
Ob obisku varne različice strani strežnik brskalniku pošlje navodilo, naj pri prihodnjih obiskih uporablja samo povezavo HTTPS. V njem je zapisan čas veljavnosti pravila, imenovan max age, brskalnik pa si domeno shrani na seznam naslovov z obvezno uporabo HTTPS. Pri naslednjem obisku sam spremeni morebitno zahtevo HTTP v HTTPS, še preden jo pošlje spletnemu strežniku.
Razlika v primerjavi z navadno preusmeritvijo je predvsem v mestu izvedbe. Običajna preusmeritev se zgodi šele po prihodu zahteve na strežnik, medtem ko HSTS ukrepa že znotraj brskalnika. S tem se skrajša nezaščiteni del povezovanja in zmanjša prostor za poseg tretje osebe med uporabnikom ter spletnim mestom.
Zaščita pred HTTPS downgrade napadi
Napadalec v javnem ali slabo zaščitenem omrežju poskuša uporabnika včasih preusmeriti na različico HTTP. Namen je odstraniti šifriranje ter pridobiti vpogled v promet, prijavne podatke ali druge občutljive informacije. Ta vrsta napada je znana kot napad z znižanjem ravni varnosti povezave (ang. HTTPS downgrade attack), saj uporabnik namesto varnega protokola neopazno pristane na manj varni poti.
Pri aktivnem pravilu HSTS brskalnik zavrne vzpostavitev povezave HTTP in takoj zahteva HTTPS. Ob morebitni težavi s SSL certifikatom obiskovalcu ne ponudi preprostega nadaljevanja prek nezaščitene različice. Spletno mesto zato ohrani enoten varnostni standard, uporabnik pa je manj odvisen od lastne pozornosti pri preverjanju naslova v brskalniku.
Nastavitev max age določa trajanje zaščite
Direktiva max age vsebuje število sekund, v katerih brskalnik ohrani pravilo HSTS. Na začetku je priporočljivo uporabiti krajše obdobje in preveriti delovanje spletne strani, SSL certifikata, preusmeritev ter vseh povezanih storitev. Po uspešnem preizkusu vrednost postopoma podaljšamo na več mesecev ali eno leto, s čimer postane zaščita trajnejša.
Predolg čas veljavnosti ob napačni nastavitvi povzroči resne težave, saj brskalniki do izteka pravila vztrajajo pri povezavi HTTPS. Če SSL certifikat poteče ali strežnik varne povezave ne podpira več, obiskovalci strani ne bodo mogli normalno odpreti, zato HSTS vključimo šele po temeljitem pregledu infrastrukture in urejenem samodejnem podaljševanju SSL certifikata.
Direktiva includeSubDomains za poddomene
HSTS se privzeto nanaša samo na domeno, za katero je brskalnik prejel navodilo o obvezni uporabi povezave HTTPS. Z direktivo includeSubDomains zaščito razširimo tudi na poddomene, denimo trgovino, uporabniški portal, podporo ali spletno aplikacijo. S tem preprečimo, da bi posamezen pozabljen naslov ostal dostopen prek nezaščitene povezave in postal šibkejši del celotnega spletnega okolja.
Pred vključitvijo moramo preveriti vse aktivne in stare poddomene, tudi tiste za zunanje storitve, razvojna okolja ter interne sisteme. Vsaka mora pravilno podpirati HTTPS in uporabljati veljaven SSL certifikat. Ena neurejena poddomena po vključitvi direktive postane nedosegljiva, zato je popoln seznam naslovov pomembnejši od hitrega vklopa najstrožje nastavitve.
Seznam HSTS preload zaščiti že prvi obisk
Običajno pravilo HSTS začne veljati šele po prvem uspešnem obisku prek HTTPS, zato začetna povezava še nima shranjenega navodila. Seznam HSTS preload to vrzel zmanjša, saj so vključene domene že vnaprej zapisane v podprtih brskalnikih. Brskalnik zato uporabi HTTPS že ob prvem obisku, brez predhodno prejetega strežniškega pravila.
Vpis na seznam zahteva strogo in dolgoročno ureditev celotne domene, visoko vrednost max age, vključene poddomene ter posebno direktivo preload. Odločitev mora biti premišljena, saj odstranitev s seznama ni takojšnja in je odvisna od novih različic brskalnikov.





