Defaults.Exposed › Popravki › HSTS (Strict-Transport-Security)
Kako popraviti HSTS (Strict-Transport-Security)
HSTS je navodilo ene vrstice, ki ga vaša spletna stran da vsakemu brskalniku: 'Vedno se vrni k meni prek varne, šifrirane povezave — nikoli prek nevarne.' Brez njega se vaša ključavnica na skupnem omrežju WiFi tiho odstranj in prav prva stran vašega mesta je izpostavljena.
Bistvo za vaše podjetje: Imati HTTPS (ključavnico) ni enako kot ga uveljavljati. Brez HSTS lahko napadalec v istem omrežju WiFi kot vaša stranka tiho zniža povezavo na navadni, nešifrirani HTTP — zajame prijave, podatke kartice in podatke iz obrazcev, medtem ko stranka ne vidi ničesar narobe. Vaš SSL certifikat, za katerega morda plačujete, je obšen. Popravek je brezplačen in vzame približno 15 minut za tistega, ki vodi vašo stran.
Kaj vas to lahko stane
- Stranke v kavarnah, hotelih, na letališčih ali konferenčnem omrežju WiFi imajo lahko svojo zvezo z vašo stranjo tiho znižano in njihove podatke prebrane — brez opozorila na njihovem zaslonu.
- Plačali ste za HTTPS in imate ključavnico, a brez HSTS napadalci preprosto obhodijo to; certifikat daje lažen občutek varnosti.
- Prav prva stran (preden pride do katere koli preusmeritve na HTTPS) je šibka točka, ki jo napadalci ciljajo — HSTS je tisto, kar jo zapre za vsak povratni obisk.
- Varnostni vprašalnik, obrazec za kibernetsko zavarovanje ali kontrolni seznam kupca podjetja označi 'brez HSTS' in zaustavi posel, dokler ni popravljen.
- Nastavite vrednost narobe (prekratko) in dobite najslabše od obeh svetov: izgleda konfigurirano, a zagotavlja skoraj nič realne zaščite.
Zakaj je to pomembno. HTTPS ščiti zvezo, ko je šifrirana — a ne prisili brskalnikov, da jo uporabijo. Napadalci izkoriščajo to vrzel z 'odstranjevanjem SSL': v katerem koli skupnem omrežju tiho ohranijo obiskovalca na nevarnem HTTP in preberejo vse. HSTS brskalniku naroči, da v celoti zavrne navadni HTTP za vašo domeno, za dolgo časa, tako da se vrzel zapre po prvem obisku. Je ena odgovornik glave, brezplačna za dodajanje, in pri našem točkovanju je vredna resnih točk, ker manjkajoča ali preshortka vrednost izpostavi vsakega obiskovalca na javnem omrežju WiFi.
Kaj to je v preprostem jeziku
Skoraj zagotovo imate HTTPS — malo ključavnico v naslovni vrstici brskalnika. Dobro. A tukaj je del, ki ga skoraj nihče ne pove: imeti HTTPS ni enako kot ga uveljavljati.
HTTPS naredi zvezo šifrirano ko se brskalnik odloči, da jo uporabi. HSTS — skrajšano za HTTP Strict Transport Security — je navodilo, ki naredi, da brskalnik vedno uporabi to. Je ena, nevidna vrstica, ki jo vaša spletna stran pošlje vsakemu obiskovalcu in ki v bistvu pravi:
“Od zdaj naprej za mojo domeno govori z mano le prek varne povezave. Nikoli prek nevarne. Tega sploh ne poskusi.”
Brskalnik si to zapomni in to upošteva toliko časa, kolikor mu naročite — navadno eno leto. Po prvem varnem obisku obiskovalca bo njihov brskalnik preprosto zavrnil nalaganje vaše strani prek navadnega, nešifriranega HTTP, četudi ga poskuša kdo prisiliti.
Brez HSTS to pravilo “vedno uporabi varno različico” ne obstaja — in napadalci točno vedo, kako izkoristiti to vrzel.
Kaj vas to lahko stane
To so realistični, vsakodnevni scenariji. Nikoli ne omenjamo resničnega podjetja; to so ilustracije načinov uporabe vrzeli.
-
Blagajna v kavarni. Stranka odpre vašo trgovino na omrežju WiFi kavarne in gre k blagajni. Napadalec v istem omrežju zažene brezplačno, dobro znano orodje, ki obdrži stranko na navadnem HTTP namesto HTTPS. Stranka vidi tisto, kar izgleda kot vaša normalna stran — brez opozorila, brez zlomljene ključavnice na mestu, kjer bi ga opazila — in vtipka podrobnosti kartice. Napadalec prebere vsak pritisk tipke. Vaš SSL certifikat ni naredil ničesar, ker zvezna nikoli ni dobila priložnosti, da postane varna.
-
Potejoči delavec. Zaposleni se prijavi v vaš skrbniški panel ali spletno pošto z hotela ali letališča. Isti trick znižanja zajame njeno uporabniško ime in geslo. Zdaj ima napadalec pot v vaše podjetje — ne zato, ker je bila politika gesel šibka, a ker je bila stran za prijavo dosegljiva prek nevarne HTTP.
-
Zaustavljeni posel. Večji naročnik vam pošlje standardni varnostni vprašalnik pred podpisom. Ena vrstica vpraša: “Ali vaša spletna stran uveljavlja HTTPS prek HSTS?” Vaš IT kontakt mora odgovoriti “ne” in nabavni postopek se zaustavi, medtem ko se trudite popraviti brezplačno, 15-minutno nastavitev, ki zdaj izgleda kot rdeča zastavica pred kupcem.
-
Preverjanje kibernetskega zavarovanja ali skladnosti. Skeniranje zavarovalnice ali revizor, ki pregleda vašo pozicijo varstva podatkov, označi manjkajočo glavo. Šifriranje osebnih podatkov je izrecna pričakovanje pod predpisi o varstvu podatkov (GDPR člen 32) in “imamo certifikat, a ga ne uveljavljamo” je šibko mesto za stanje.
-
Lažen občutek varnosti. Plačujete za SSL, ključavnica se prikazuje in vsi domnevajo, da je stran varna. Večinoma je — dokler stranka ni v skupnem omrežju, kar je natanko takrat, ko je najbolj ranljiva in najmanj verjetno opazi karkoli narobe.
Skupna nit: strošek ni abstrakten. Je prava kartica ali prijava stranke, zajeta v najslabšem možnem trenutku, brez alarmnega zvonca.
Kaj to dejansko je
Ko brskalnik zahteva stran od vaše spletne strani, vaš strežnik pošlje nazaj stran plus nekatere nevidne “glave” — dodatna navodila, ki jih brskalnik prebere, a obiskovalec nikoli ne vidi. HSTS je ena teh glav:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Tri dele je pomembno razumeti:
max-age— kako dolgo (v sekundah) si brskalnik zapomni, da uveljavlja HTTPS.31536000je eno leto. To je srce tega: preshortko in komajda pomaga.includeSubDomains— razširi pravilo na vsako poddomeno (shop.,app.,mail.itd.), ne le vaš glavni naslov.preload— prijavi vašo domeno na seznam, vgrajen v brskalnike, zato zaščita velja celo na obiskovalčevi prav prvi zahtevi, preden so kdaj videli vašo stran.
Zakaj je “prvi obisk” pomemben
HSTS ima eno inherentno omejitev: brskalnik upošteva pravilo šele potem, ko je glavo videl vsaj enkrat. Torej je prav prva zveza povsem novega obiskovalca še vedno majhno okno izpostavljenosti. Dve stvari to zožita: preusmeritev HTTP-v-HTTPS (ki jih hitro prenese na varno različico) in preload (ki v celoti odstrani okno).
Kako izgleda “dobro” — in kako se točkuje
Naše preverjanje prebere vašo živo glavo in oceni max-age:
| Vrednost max-age | Kaj pomeni | Rezultat |
|---|---|---|
| 1 leto ali več (≥ 31536000) | Odlično — priporočena nastavitev | Polne točke |
| 6 mesecev ali več (≥ 15768000) | Dobro, a ne polno leto | Delno |
| 1 dan ali več (≥ 86400) | Šibko — preshortko za zanesljivost | Nizko / delno |
| Pod 1 dan ali brez glave | Dejansko brez zaščite | Neuspeh (visoka resnost) |
Torej se glava, ki obstaja, a je nastavljena na nekaj minut, obravnava kot neuspeh — izgleda konfigurirano, a ne opravlja svojega dela. Ciljajte na eno leto. Preverjanje prav tako zabeleži, ali sta prisotni includeSubDomains in preload.
Kako to popraviti (brezplačno, ~15 minut)
Posredujte ta razdelek tistemu, ki vodi vašo spletno stran — vaši IT osebi, spletnemu razvijalcu ali podpori gostovanja. Popravek je brezplačen. Je ena glava ali preklop na vaši platformi gostovanja. Ničesar ni za kupiti.
Eno pomembno pravilo vrstnega reda najprej: HSTS je lepljiv — ko je omogočen, bodo brskalniki zavrnili navadni HTTP za vašo domeno za celoten max-age. Torej potrdite, da HTTPS deluje pravilno na vaši glavni strani in vsaki poddomeni, preden ga široko vklopite. Varna pot je: preizkusite s kratko vrednostjo → potrdite, da se nič ne pokvari → dvignite na eno leto.
1. korak — Prepričajte se, da HTTPS že deluje povsod
Obiščite svojo stran in ključne poddomene prek https:// in potrdite, da se čisto nalagajo z veljavnim certifikatom. Prav tako potrdite, da se zahteve navadnega http:// preusmerijo na https://.
2. korak — Dodajte glavo (izberite svojo platformo)
Cloudflare (ali podoben CDN): To je najlažje. Pojdite na SSL/TLS → Robni certifikati → HTTP Strict Transport Security (HSTS) in ga omogočite. Nastavite Max-Age na 6 mesecev ali 12 mesecev in omogočite “Uveljavi pravilnik HSTS na poddomenah”, ko ste prepričani, da so vse poddomene na HTTPS.
Nginx: dodajte v vaš blok HTTPS server:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Apache: zagotovite, da je mod_headers omogočen, nato dodajte na vaš virtualni gostitelj HTTPS:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Microsoft IIS: dodajte v web.config znotraj <customHeaders>:
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
Opomba Google Workspace / Microsoft 365: ti poganjata vašo e-pošto, ne gostovanje vaše spletne strani — HSTS se nastavi kjerkoli javna spletna stran dejansko živi (vaš CDN, spletni strežnik ali gradnik strani), ne v skrbniški konzoli Workspace/365.
3. korak — Preizkusite malega, nato potrdite
Začnite z max-age=300 (5 minut). Potrdite, da se stran še vedno nalaga popolnoma povsod. Nato jo dvignite na max-age=31536000 (eno leto). To je nastavitev za polne točke.
4. korak (neobvezni, zlati standard) — preload
Ko ste prepričani in ste za en čas izvajali enoletno glavo z includeSubDomains, lahko svojo domeno oddajte na hstspreload.org, da se vgradi v brskalnike. To popolnoma zapre okno prvega obiska. Obravnavajte to kot namerno zavezo — odstranitev domene s seznama je počasna.
Pogoste napake
- Nastavitev
max-agepreshortko. Vrednost nekaj minut ali ur izgleda konfigurirano, a zagotavlja skoraj nič zaščite — naše preverjanje obravnava karkoli pod en dan kot neuspeh. Uporabite eno leto. - Vklop
includeSubDomains, preden so poddomene pripravljene na HTTPS. Če poddomena ni povsem na HTTPS, lepljivo pravilo jo lahko naredi nedostopno za obiskovalce. Najprej vsa preselite na HTTPS. - Dodajanje HSTS, a brez preusmeritve HTTP-v-HTTPS. HSTS predpostavlja, da obiskovalci dosežejo varno različico; brez preusmeritve je prvi obisk po nepotrebnem izpostavljen. Skupaj popravite oboje.
- Hiter skok na
preload, da bi bili “temeljiti”. Preload je težko razveljaviti. Zaslužite si ga postopoma po stabilni enoletni glavi — ne hitite. - Predpostavljanje, da ključavnica vas pokriva. Ključavnica in HSTS sta različni stvari. Imate lahko popoln certifikat in še vedno ne prestanete tega preverjanja.
Pogosta vprašanja
Že imamo HTTPS in ključavnica se prikazuje. Ali ni to dovolj?
Ne — in to je najpogostejši nesporazum. Ključavnica pomeni, da se zvezna LAHKO šifrira; ne prisili brskalnikov, da uporabijo šifrirano različico. Brez HSTS lahko napadalec v istem omrežju obdrži obiskovalca na navadnem HTTP (imenuje se odstranjevanje SSL) in prebere vse, kar vtipkajo, medtem ko stranka vidi normalno izgledajočo stran. HSTS je navodilo, ki naredi 'samo šifrirano' obvezno. HTTPS brez HSTS je zaklenjena vrata, ki dejansko niso zaprta.
Ali je to drago ali tvegano vklopiti?
Popravek sam je brezplačen — je ena vrstica v vašem spletnem strežniku ali preklop pri vašem CDN-u — in vzame okoli 15 minut. Edina resnična previdnost: HSTS je lepljiv. Ko ga brskalnik vidi, bo zavrnil navadni HTTP za vašo domeno za toliko časa, kolikor ste določili. Torej morate biti prepričani, da HTTPS deluje na vaši glavni strani IN vsaki poddomeni, preden ga široko omogočite. Začnite s kratko preizkusno vrednostjo, potrdite, da se nič ne pokvari, nato jo dvignite na eno leto.
Kako izgleda 'dobro'?
Max-age vsaj eno leto (31536000 sekund). Naše preverjanje podeli polne točke pri letu ali več, delne točke pri šestih mesecih, šibke/delne pri enem dnevu in karkoli pod en dan obravnava kot dejansko odsotno. Najmočnejša nastavitev prav tako doda includeSubDomains (pokriva shop.vasastran.com, app.vasastran.com itd.) in preload (zapiše zaščito v brskalnike, tako da je zaščiten celo na prvi obisk).
Kaj je 'preload' in ga potrebujemo?
HSTS ščiti obiskovalca šele POTEM, ko je brskalnik videl glavo vsaj enkrat — torej je prva zahteva povsem novega obiskovalca še vedno majhno okno izpostavljenosti. Seznam vnaprejšnjega nalaganja HSTS, vgrajen v Chrome, Firefox, Safari in Edge, to okno zapre z vnaprejšnjim dostavo vaše domene brskalniku. Je neobvezno in nekoliko večja zaveza (odstranitev je počasna), a je zlati standard. Za večino malih podjetij je enoletni max-age z includeSubDomains že močan, varen rezultat; preload je dodaten korak, ko ste se ustalili.
Smo na Squarespace / Wix / Shopify — ali moramo sploh karkoli narediti?
Večina popolnoma gostovanih gradnikov spletnih strani (Squarespace, Wix, Shopify in podobni) uveljavlja HTTPS in pogosto samodejno nastavi HSTS — zato morda že prestanete brez kakršnega koli ukrepanja. Izjema je, ko uporabljate domeno po meri ali CDN pred svojo stranjo; takrat nastavitev lahko pade skozi razpoke. Zaženite preverjanje: če prestane, ste zaključili. Če označi, je popravek preklop v nastavitvah SSL/varnosti vaše platforme ali ena vrstica pri vašem CDN-u.
Če tega ne popravimo, ali to zniža naš oceno?
Da. HSTS je ocenjevano preverjanje spletne varnosti, ne informativno — manjkajoča ali preshortka glava stane točke in je ocenjena kot visoka resnost, ker neposredno izpostavi podatke vaših obiskovalcev na skupnih omrežjih. Je prav tako ena od najcenejših točk za povrnitev: ena brezplačna glava, okoli 15 minut dela.