Mikä on HSTS? HTTP Strict Transport Security selitettynä
HSTS käskee selainta lataamaan sivustosi vain HTTPS:n kautta – ei protokollan alennuksia eikä mahdollisuutta ohittaa varmennevirheitä. Näin se toimii, näin otat sen käyttöön nginxissä, Apachessa, IIS:ssä ja Cloudflaressa – ja näin esilataat sen turvallisesti.
Suorita sama tarkistus heti — ilmaiseksi
Anna verkkotunnuksesi ja saat 9-kohdan auditoinnin — DNS, SPF/DKIM/DMARC, SSL, tietoturvaotsikot, dark web -altistus — 60 sekunnissa.
Ei rekisteröitymistä · <60s · GDPR/EU-käsittely
Sivustosi ohjaa luultavasti jo HTTPS:ään, ja lukkokuvake näkyy niin kuin pitää. Silti aina, kun palaava kävijä kirjoittaa osoitteesi ilman https://-alkua, selain lähettää ensin yhden salaamattoman HTTP-pyynnön – ennen kuin uudelleenohjauksesi ehtii vastata. Vihamielisissä verkoissa – lentokenttä-Wi-Fi, hotellien tukiasemat, kaapattu reititin – juuri se yksi pyyntö on hyökkääjän tarvitsema aukko. HTTP Strict Transport Security (HSTS) sulkee sen lopullisesti: yksi vastausotsake, joka käskee selainta olemaan enää koskaan puhumatta salaamatonta HTTP:tä verkkotunnuksesi kanssa.
Aukko on todellinen: W3Techsin mukaan (heinäkuu 2026) 90,1 % kaikista verkkosivustoista käyttää HTTPS:ää oletuksena, mutta vain 34,1 % lähettää HSTS-otsakkeen. Yhdeksän kymmenestä salaa liikenteensä – vain joka kolmas pakottaa salauksen.
Mikä on HSTS?
HSTS (HTTP Strict Transport Security) on tietoturvakäytäntö, joka standardoitiin RFC 6797:ssä jo vuonna 2012. Se on yksi ainoa HTTP-vastausotsake:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Kun selain vastaanottaa otsakkeen kelvollisen HTTPS-yhteyden yli, se muistaa max-age-sekuntien ajan, että palvelimeesi saa yhdistää vain HTTPS:llä. Siitä hetkestä alkaen:
- Jokainen verkkotunnuksesi
http://-linkki, kirjanmerkki tai käsin kirjoitettu osoite muutetaan muotoonhttps://selaimen sisällä (sisäinen 307-uudelleenohjaus) – ennen kuin yksikään paketti lähtee laitteesta. - Sivustosi varmennevaroituksista tulee ohittamattomia: ei "Jatka silti" -linkkiä. Jos varmenne on rikki – tai joku sieppaa yhteyttä – selain kieltäytyy, piste.
Kaikki suuret selaimet – Chrome, Edge, Firefox ja Safari – ovat tukeneet HSTS:ää noin vuosikymmenen ajan sekä työpöydällä että mobiilissa.
Miksi pelkkä HTTPS-uudelleenohjaus ei riitä
Klassinen 301-uudelleenohjaus HTTP:stä HTTPS:ään tapahtuu palvelimen päässä: selaimen on ensin lähetettävä salaamaton HTTP-pyyntö, ja kävijän ja palvelimen välissä istuva hyökkääjä näkee sen ennen kuin uudelleenohjauksesi ehtii vastata. Juuri näin toimii SSL stripping, downgrade-hyökkäys, jonka Moxie Marlinspike esitteli jo vuonna 2009: hyökkääjä pitää uhrin HTTP:ssä ja puhuu itse HTTPS:ää oikean palvelimen kanssa – ja lukee kaiken siinä välissä.
| Suojaus | Vain 301-ohjaus | HSTS | HSTS + preload |
|---|---|---|---|
| Myöhemmät käynnit päivitetään ennen verkkopyyntöä | ❌ | ✅ | ✅ |
| Aivan ensimmäinen käynti suojattu | ❌ | ❌ | ✅ |
| Varmennevirheet ohittamattomia | ❌ | ✅ | ✅ |
| Estää SSL strippingin (downgrade) | ❌ | ✅ ensimmäisen käynnin jälkeen | ✅ aina |
Mitä kukin HTTPS-pakotuksen taso todella suojaa.
Pidä uudelleenohjaus – ensikävijät ja preload-vaatimukset tarvitsevat sitä – mutta tiedä, mihin se ei yksin pysty.
Näin HSTS toimii, vaihe vaiheelta
- Ensimmäinen käynti. Selain lataa sivun
https://example.com, vastaus sisältääStrict-Transport-Security-otsakkeen ja käytäntö tallentuu. - Jokainen myöhempi käynti. Kaikki yritykset avata
http://example.compäivitetään sisäisesti HTTPS:ään. Verkkoliikenteen kaappaus ei näyttäisi yhtäkään selväkielistä pyyntöä. - Ajastin uusiutuu. Jokainen uusi HTTPS-vastaus, jossa otsake on mukana, nollaa
max-age-laskurin, joten vakiokävijät pysyvät suojattuina jatkuvasti. - Kova pysäytys varmennevirheissä. Vanhentunut, itseallekirjoitettu tai väliin asettuneen hyökkääjän varmenne tuottaa virhesivun, jota ei voi ohittaa.
Kolme direktiiviä
| Direktiivi | Pakollinen? | Mitä tekee | Suositeltu arvo |
|---|---|---|---|
max-age | Kyllä | Kuinka kauan (sekunteina) selain pakottaa HTTPS:n | 31536000 (1 vuosi); myös 63072000 (2 vuotta) on yleinen |
includeSubDomains | Preloadia varten | Laajentaa käytännön kaikkiin aliverkkotunnuksiin | Vasta kun kaikki aliverkkotunnukset tarjoavat HTTPS:n |
preload | Preloadia varten | Ilmoittaa verkkotunnuksen selainten sisäänrakennettuun listaan | Vakaan vuoden jälkeen täydellä max-age-arvolla |
Näin otat HSTS:n käyttöön palvelimella
Lisää otsake vain HTTPS-konfiguraatioon – selaimet ohittavat salaamattoman HTTP:n yli lähetetyn HSTS:n, kuten määrittely vaatii.
nginx (porttia 443 kuuntelevassa server-lohkossa):
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apache (mod_headers käytössä, HTTPS-vhostissa):
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
IIS (web.config):
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
</customHeaders>
</httpProtocol>
Cloudflare: SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) → Ota käyttöön, ja valitse max-age ja aliverkkotunnusasetukset hallintapaneelista.
Varmista sitten, että otsake todella lähtee: avaa sivustosi, katso selaimen kehittäjätyökalujen Verkko-välilehteä ja etsi vastausotsakkeista strict-transport-security – tai aja ilmainen FortifyNet-skannaus, joka merkitsee puuttuvan tai heikon HSTS-käytännön.
Ota käyttöön vaiheittain
Virheellinen HSTS-käytäntö lukitsee kävijät ulos rikkinäisistä vain-HTTP-resursseista koko jäljellä olevan max-age-ajan – et voi perua sitä etänä muuten kuin tarjoamalla max-age=0 kelvollisen HTTPS:n yli jokaiselle selaimelle erikseen. Nosta arvoa portaittain:
| Vaihe | Otsakkeen arvo | Odota |
|---|---|---|
| 1 – Testi | max-age=300 | Päivä tai kaksi |
| 2 – Lyhyt | max-age=86400 | Viikko |
| 3 – Keskipitkä | max-age=2592000 | Kuukausi |
| 4 – Täysi | max-age=31536000; includeSubDomains | 3+ kuukautta |
| 5 – Preload | max-age=31536000; includeSubDomains; preload | Pysyvä |
HSTS-preload: ensimmäisen käynnin aukko kiinni
Tavallinen HSTS perustuu periaatteeseen trust on first use: upouuden kävijän aivan ensimmäinen pyyntö on suojaamaton, kunnes ensimmäinen otsake saapuu. Preload-lista korjaa tämän – verkkotunnuksesi toimitetaan selaimen sisään rakennettuna HTTPS-only-tilassa, joten edes käynti numero yksi ei koske salaamattomaan HTTP:hen.
Ilmoittautuminen on ilmaista osoitteessa hstspreload.org (Chromiumin ylläpitämä lista, jota myös Edge, Firefox ja Safari käyttävät). Vaatimukset:
- Kelvollinen TLS-varmenne.
- HTTP ohjaa HTTPS:ään samalla palvelinnimellä (portti 80 → 443).
- HSTS-otsake pääverkkotunnuksen HTTPS-vastauksessa,
max-agevähintään 31536000 (1 vuosi) sekäincludeSubDomainsjapreload. - Jokainen aliverkkotunnus – myös
www– tavoitettavissa HTTPS:llä.
Suhtaudu preloadiin kuin yksisuuntaiseen oveen. Listalta poistuminen kestää kuukausia selainten julkaisusyklien takia. Älä esilataa, ennen kuin jokaisella aliverkkotunnuksella – myös sisäisillä kuten intranet. tai mail. – on toimiva HTTPS.
Tilanne 2026: HTTPS kaikkialla, pakotus laahaa
HTTPS on lähes kaikkialla, mutta vain noin kolmannes sivustoista pakottaa sen HSTS:llä (lähde: W3Techs, heinäkuu 2026).
Selaimet työntävät samaan suuntaan. Chrome 147:ssä (huhtikuu 2026) Google kytki "Always Use Secure Connections" -asetuksen päälle yli miljardille Enhanced Safe Browsing -käyttäjälle, ja Chrome 154:ssä (lokakuu 2026) siitä tulee oletus kaikille: Chrome kokeilee ensin HTTPS:ää ja varoittaa ennen julkisten HTTP-sivujen lataamista.
Tekeekö se HSTS:stä tarpeettoman? Ei. Chromen varoituksen voi ohittaa; HSTS on palvelimesi oma ohittamaton tae. Se toimii jokaisessa selaimessa asetuksista riippumatta, kattaa kaikki aliverkkotunnuksesi ja estää varmennevirheiden ohituksen. Ne täydentävät toisiaan.
Yleiset HSTS-virheet
includeSubDomainspäälle sokkona – yksi unohtunut vain-HTTP-aliverkkotunnus (intranet, staging, tulostinportaali) on tavoittamattomissa kokomax-age-ajan.- Otsakkeen lähettäminen HTTP:n yli – vaaratonta mutta hyödytöntä; selaimet ohittavat sen.
- Muutaman minuutin
max-agetuotannossa – lähes olematon suoja, eikä kelpaa preloadiin. - HSTS unohtuu palvelin- tai CDN-muuton jälkeen – käytäntö vanhenee hiljaa eikä kukaan huomaa.
Usein kysytyt kysymykset
Korvaako HSTS HTTP→HTTPS-uudelleenohjauksen? Ei. Pidä uudelleenohjaus: ensikävijät tarvitsevat sitä, ja preload-lista edellyttää sitä.
Voinko perua HSTS:n?
Tarjoa Strict-Transport-Security: max-age=0 HTTPS:n yli, niin selaimet hylkäävät käytännön seuraavalla käynnillä. Preload-listalta poistuminen on paljon hitaampaa – kuukausia – siksi arvoa nostetaan varovasti.
Vaikuttaako HSTS hakukonenäkyvyyteen? Vain myönteisesti: käyttäjät ja hakurobotit päätyvät taatusti sivustosi yhteen kanoniseen HTTPS-versioon. Sijoituksille ei ole mitään haittaa.
Mistä tiedän, lähettääkö sivustoni HSTS:n?
Tarkista vastausotsakkeet selaimen kehittäjätyökaluista (Verkko-välilehti) ja etsi strict-transport-security – tai aja ilmainen FortifyNet-skannaus, joka tarkistaa HSTS:n muiden tietoturvaotsakkeiden ohella.
Riittääkö HSTS yksinään? Se on yksi useista otsakkeista, jotka kovennettu sivusto lähettää. Yhdistä se Content-Security-Policyyn, X-Content-Type-Optionsiin ja muihin – katso kattava tietoturvaotsakkeiden oppaamme.
Testaa HSTS 60 sekunnissa
Ilmainen FortifyNet-skannaus testaa SSL/TLS-asetuksesi, HSTS:n ja kaikki muut tietoturvaotsakkeet, DNS:n ja sähköpostin todennuksen sekä dark web -altistuksesi – noin minuutissa, ilman rekisteröitymistä. Jos HSTS puuttuu tai on väärin määritetty, näet täsmälleen mitä korjata.
Aiheeseen liittyvät oppaat
Frequently Asked Questions
Tarkista verkkotunnuksesi nyt
Suorita ilmainen tietoturvatarkastus ja katso onko verkkotunnuksellasi artikkelin ongelmia.