Tietoturva

Security Headers – mistä on kysymys?

Suojausotsakkeet ovat näkymättömiä ohjeita, jotka torjuvat yleisiä hyökkäyksiä. Selitämme ne selkokielellä ja kerromme, miten tarkistat oman sivustosi.

Kohokuvioitu A-arvosanatunnus oranssissa kehyksessä sekä pienemmät kilpi- ja lukkotunnukset.

Security Headers eli suojausotsakkeet ovat pieniä ohjeita, jotka verkkosivusto lähettää kävijän selaimelle jokaisen sivun mukana. Ne kertovat selaimelle, miten sivustoa pitää käsitellä turvallisesti. Otsakkeita ei näe sivulla, mutta ne torjuvat useita yleisiä hyökkäystapoja. Tässä kirjoituksessa kerromme yksinkertaisesti, mistä suojausotsakkeissa on kysymys, mitä yleisimmät niistä tekevät ja miten tarkistat oman sivustosi tilanteen.

Mitä otsakkeet ovat?

Kun avaat verkkosivun, selain pyytää sivua palvelimelta, ja palvelin lähettää sen takaisin. Itse sivun lisäksi palvelin lähettää joukon taustatietoja, joita kutsutaan otsakkeiksi. Ne kertovat esimerkiksi, minkä tyyppinen tiedosto on kyseessä ja kuinka kauan selain saa säilyttää sitä muistissaan.

Suojausotsakkeet ovat näiden taustatietojen joukossa olevia turvallisuusohjeita. Ne eivät muuta sivun ulkonäköä tai sisältöä, mutta ne rajaavat, mitä selain saa sivun kanssa tehdä.

Vertauksena: suojausotsakkeet ovat kuin lähetyksen kylkeen liimatut käsittelyohjeet: "avataan vain sinetöitynä", "ei saa siirtää toiseen pakettiin", "sisältö on sitä, mitä tarrassa lukee". Paketti on sama, mutta ohjeiden ansiosta kuljettaja käsittelee sitä oikein, eikä kukaan pääse peukaloimaan sitä matkalla.

Miksi suojausotsakkeet ovat tärkeitä?

Monet verkkohyökkäykset eivät murra itse palvelinta, vaan käyttävät hyväksi kävijän selainta. Hyökkääjä voi esimerkiksi upottaa sivustosi omalle huijaussivulleen, ujuttaa sivulle haitallista koodia tai yrittää kaapata yhteyden ennen kuin se on salattu. Suojausotsakkeilla selain saadaan torjumaan tällaiset yritykset automaattisesti.

Otsakkeet ovat erityisen hyödyllisiä silloin, kun jokin muu suojaus pettää. Jos sivustolle esimerkiksi pääsee haitallista koodia lisäosan aukon kautta, hyvin asetettu otsake voi estää koodia toimimasta kävijän selaimessa.

Yleisimmät suojausotsakkeet selkokielellä

OtsakeMitä se tekeeMitä se torjuu
Strict-Transport-SecurityKäskee selainta käyttämään sivustolla aina salattua yhteyttä.Yhteyden kaappaamisen esimerkiksi julkisessa wifissä.
Content-Security-PolicyKertoo, mistä osoitteista sivu saa ladata koodia, kuvia ja fontteja.Sivulle ujutetun haitallisen koodin suorittamisen.
X-Frame-OptionsEstää muita sivustoja upottamasta sivuasi omiin sivuihinsa.Huijaukset, joissa kävijä klikkaa näkymätöntä painiketta.
X-Content-Type-OptionsKieltää selainta arvaamasta tiedoston tyyppiä.Kuvaksi naamioidun haitallisen koodin suorittamisen.
Referrer-PolicyRajaa, mitä tietoja kävijän edellisestä sivusta kerrotaan muille sivustoille.Tarpeettoman tiedon vuotamisen, kuten osoitteissa olevat tunnisteet.
Permissions-PolicyMäärää, saako sivu käyttää kameraa, mikrofonia tai sijaintia.Laitteen ominaisuuksien luvattoman käytön.

Strict-Transport-Security eli "aina lukko päällä"

Kun sivustolla on suojattu yhteys, osoite alkaa https ja selaimessa näkyy lukko. Jos kävijä kuitenkin kirjoittaa osoitteen ilman https-alkua, ensimmäinen yhteys voi hetken kulkea salaamattomana. Tämä otsake käskee selainta muistamaan, että sivustolle mennään aina suojatusti, jolloin tuota hetkeä ei synny.

Content-Security-Policy eli sallittujen lähteiden lista

Tämä on otsakkeista tehokkain mutta myös vaativin. Siinä luetellaan kaikki paikat, joista sivu saa ladata sisältöä: oma palvelin, maksupalvelu, analytiikka, videot ja niin edelleen. Selain kieltäytyy lataamasta mitään muuta. Jos murtautuja onnistuu lisäämään sivulle viittauksen omaan haitalliseen koodiinsa, selain ei suorita sitä.

X-Frame-Options eli "ei upottamista"

Ilman tätä otsaketta huijari voi näyttää sivustosi omalla sivullaan näkymättömänä kerroksena ja houkutella kävijän klikkaamaan jotain, mitä hän ei aio. Otsake estää upottamisen kokonaan tai sallii sen vain omalle sivustollesi.

Miten tarkistan oman sivustoni?

Tarkistus on helppo tehdä itse, eikä se vaadi teknistä osaamista:

  1. Mene osoitteeseen securityheaders.com.
  2. Kirjoita kenttään sivustosi osoite ja paina Scan.
  3. Saat arvosanan asteikolla A+–F sekä listan otsakkeista, jotka ovat käytössä ja jotka puuttuvat.

Moni sivusto saa ensimmäisellä tarkistuksella arvosanan D tai F. Se ei tarkoita, että sivusto olisi murrettu, vaan sitä, että selaimen tarjoamat lisäsuojaukset ovat käyttämättä. Arvosana kannattaa ottaa suuntaa antavana, sillä oikea kokonaisuus riippuu sivustosta.

Riittävätkö suojausotsakkeet?

Eivät yksinään. Suojausotsakkeet ovat yksi kerros muiden joukossa, eivätkä ne korvaa perusasioita. Tärkeimmät suojaukset ovat edelleen:

  • WordPressin, teeman ja lisäosien säännölliset päivitykset
  • päivittäiset varmuuskopiot, jotka säilytetään erillään sivustosta
  • vahvat salasanat ja kaksivaiheinen tunnistautuminen
  • suojattu yhteys ja hyökkäyksiä torjuva palvelu, kuten Cloudflare

Otsakkeet täydentävät näitä ja paikkaavat aukkoja, jotka jäisivät muuten auki. Lue lisää kirjoituksista Miksi WordPress-sivusto pitää päivittää? ja Miksi Cloudflare?

Voinko lisätä otsakkeet itse?

Otsakkeet asetetaan palvelimen asetuksissa, Cloudflaressa tai WordPressissä lisäosalla. Osa niistä on helppo ottaa käyttöön, mutta niissä on myös sudenkuoppia:

  • Content-Security-Policy voi rikkoa sivuston. Jos sallittujen lähteiden listasta puuttuu esimerkiksi maksupalvelu, chat tai analytiikka, ne lakkaavat toimimasta. Lista pitää rakentaa huolella ja testata ennen käyttöönottoa.
  • Strict-Transport-Security on sitoumus. Kun selain on kerran saanut ohjeen, se vaatii suojattua yhteyttä pitkään. Jos varmenteessa on myöhemmin ongelma, sivusto ei aukea kävijöille ennen kuin vika on korjattu.
  • Päällekkäiset asetukset. Jos otsakkeita asetetaan sekä palvelimella, Cloudflaressa että lisäosalla, ne voivat olla ristiriidassa keskenään.

Siksi otsakkeet kannattaa ottaa käyttöön vaiheittain ja tarkistaa sivuston toiminta jokaisen muutoksen jälkeen.

Yhteenveto

  • Suojausotsakkeet ovat ohjeita, jotka kertovat selaimelle, miten sivustoa käsitellään turvallisesti.
  • Ne torjuvat muun muassa yhteyden kaappauksen, haitallisen koodin ja huijausupotukset.
  • Oman sivuston tilanteen voi tarkistaa ilmaiseksi securityheaders.com-palvelussa.
  • Otsakkeet täydentävät päivityksiä, varmuuskopioita ja muita suojauksia, mutta eivät korvaa niitä.
  • Erityisesti Content-Security-Policy pitää rakentaa ja testata huolella, ettei sivusto rikkoudu.

Tietoturva

Haluatko tietää, miten sivustosi on suojattu?

Tarkistamme sivustosi suojausotsakkeet, päivitykset ja varmuuskopiot osana kartoitusta ja kerromme selkeästi, mitä kannattaa korjata.