Selaimen ja verkkopalvelimen välinen tiedonsiirto sisältää paljon muutakin kuin HTML-sivuja, kuvia ja tyylitiedostoja. Jokaisen HTTP-vastauksen mukana voidaan lähettää myös suojausotsakkeita eli Security Headereita, jotka kertovat selaimelle, miten sivustoa tulee käsitellä turvallisesti. Oikein määritellyt Security Headers -asetukset vähentävät useiden yleisten verkkohyökkäysten riskiä ja täydentävät WordPress-sivuston muuta tietoturvaa.
Mitä ovat Security Headers?
Security Headers ovat HTTP-vastausotsakkeita, joiden avulla palvelin antaa selaimelle turvallisuuteen liittyviä ohjeita.
Niiden avulla voidaan esimerkiksi:
- estää haitallisten skriptien suorittamista
- pakottaa salattu HTTPS-yhteys
- vähentää XSS-hyökkäysten riskiä
- estää clickjacking-hyökkäyksiä
- hallita resurssien lataamista
- suojata käyttäjien yksityisyyttä
Ne toimivat palvelintasolla, joten käyttäjän ei tarvitse tehdä mitään niiden hyödyntämiseksi.
Miksi Security Headers ovat tärkeitä?
Monet verkkohyökkäykset hyödyntävät selaimen oletuskäyttäytymistä. Security Headers -asetuksilla voidaan rajoittaa tätä toimintaa ja estää selainta suorittamasta vaarallisia toimintoja.
Hyötyjä ovat esimerkiksi:
- parempi tietoturva
- pienempi hyökkäyspinta
- turvallisempi käyttäjäkokemus
- tehokkaampi suoja tunnettuja hyökkäyksiä vastaan
- parempi yhteensopivuus nykyaikaisten selainten kanssa
Ne täydentävät muita suojausratkaisuja, kuten palomuuria ja kaksivaiheista tunnistautumista.
Strict-Transport-Security (HSTS)
HSTS pakottaa selaimen käyttämään HTTPS-yhteyttä aina, kun käyttäjä vierailee sivustolla.
Sen tärkeimmät hyödyt ovat:
- salatun yhteyden pakottaminen
- suojaus SSL Strip -hyökkäyksiä vastaan
- turvallisempi tiedonsiirto
- pienempi riski käyttää vahingossa HTTP-yhteyttä
HSTS kannattaa ottaa käyttöön vasta sen jälkeen, kun HTTPS toimii luotettavasti koko sivustolla.
Content-Security-Policy (CSP)
Content Security Policy määrittää, mistä lähteistä selain saa ladata sisältöä.
CSP voi rajoittaa esimerkiksi:
- JavaScript-tiedostoja
- CSS-tiedostoja
- kuvia
- fontteja
- iframe-upotuksia
- AJAX-yhteyksiä
Huolellisesti laadittu CSP on yksi tehokkaimmista tavoista torjua XSS-hyökkäyksiä.
X-Frame-Options
Clickjacking-hyökkäyksissä verkkosivusto voidaan upottaa toisen sivun sisään käyttäjän huijaamiseksi.
X-Frame-Options voi:
- estää iframe-upotukset
- sallia upotuksen vain samalta verkkotunnukselta
- estää kokonaan kolmannen osapuolen kehykset
Näin vähennetään riskiä, että käyttäjä suorittaa toimintoja tietämättään.
X-Content-Type-Options
Selain voi joskus yrittää päätellä tiedoston tyypin itse.
Tämä otsake:
- estää MIME-tyypin arvailun
- vähentää haitallisten tiedostojen suorittamisen riskiä
- parantaa selaimen turvallisuutta
Useimmissa tapauksissa turvallinen asetus on estää sisällön automaattinen tunnistaminen.
Referrer-Policy
Referrer-Policy määrittää, kuinka paljon tietoa selain välittää käyttäjän siirtyessä toiselle sivustolle.
Sen avulla voidaan:
- suojata käyttäjän yksityisyyttä
- vähentää tarpeettomien tietojen vuotamista
- hallita viittaajatietojen jakamista
- parantaa tietosuojan toteutumista
Sopiva käytäntö riippuu sivuston käyttötarkoituksesta.
Permissions-Policy
Permissions-Policy rajoittaa selaimen ominaisuuksien käyttöä.
Sen avulla voidaan hallita esimerkiksi:
- kameran käyttöä
- mikrofonia
- sijaintitietoja
- kokoruututilaa
- antureita
- maksutoimintoja
Näin voidaan estää tarpeettomien selainominaisuuksien käyttö.
Cross-Origin Resource Policy
Monet modernit verkkopalvelut hyödyntävät useita eri verkkotunnuksia.
Cross-Origin-suojaukset auttavat hallitsemaan:
- resurssien jakamista
- selaineristystä
- ulkoisten palveluiden käyttöä
- tietojen turvallista siirtymistä
Oikein määriteltyinä ne vähentävät useita selainpohjaisia hyökkäyksiä.
Security Headers WordPressissä
Security Headers voidaan ottaa käyttöön useilla eri tavoilla.
Yleisiä vaihtoehtoja ovat:
- Apache-palvelimen asetukset
- Nginx-palvelimen määritykset
- CDN-palvelut
- Web Application Firewall
- tietoturvalisäosat
Palvelintasolla tehdyt asetukset ovat yleensä tehokkaimpia.
Testaa asetukset
Asetusten käyttöönoton jälkeen niiden toiminta kannattaa tarkistaa.
Testauksessa voidaan arvioida esimerkiksi:
- otsakkeiden olemassaolo
- mahdolliset määritysvirheet
- selaimen yhteensopivuus
- CSP-sääntöjen toimivuus
- HTTPS-pakotuksen onnistuminen
Säännöllinen testaus auttaa pitämään asetukset ajan tasalla.
Yleisimmät virheet
Security Headers -asetuksissa tehdään usein samoja virheitä.
Tyypillisiä ongelmia ovat:
- HSTS otetaan käyttöön ennen toimivaa HTTPS-yhteyttä
- CSP on liian salliva
- suojausotsakkeita ei päivitetä
- ristiriitaiset palvelinasetukset
- testaus jätetään tekemättä
- selainyhteensopivuutta ei huomioida
Huolellinen suunnittelu ehkäisee käyttökatkoksia ja yhteensopivuusongelmia.
Parhaat käytännöt
WordPress-sivuston Security Headers -asetuksissa kannattaa noudattaa seuraavia suosituksia:
- käytä HTTPS-yhteyttä koko sivustolla
- ota HSTS käyttöön vasta toimivan HTTPS:n jälkeen
- määritä Content Security Policy huolellisesti
- estä tarpeettomat iframe-upotukset
- suojaa MIME-tyypit
- rajoita selaimen tarpeettomia ominaisuuksia
- testaa asetukset jokaisen merkittävän muutoksen jälkeen
Näillä käytännöillä voidaan vahvistaa sivuston tietoturvaa ilman vaikutusta normaaliin käyttöön.
Milloin Security Headers ovat erityisen tärkeitä?
Security Headers hyödyttävät kaikkia WordPress-sivustoja, mutta niiden merkitys korostuu erityisesti palveluissa, joissa käsitellään käyttäjätietoja tai kirjautumista.
Niiden käyttö on erityisen suositeltavaa:
- verkkokaupoissa
- jäsenportaaleissa
- yritysten verkkosivustoilla
- asiakasportaaleissa
- oppimisympäristöissä
- julkishallinnon verkkopalveluissa
Näissä ympäristöissä selainpohjaisilta hyökkäyksiltä suojautuminen on keskeinen osa kokonaisvaltaista tietoturvaa.
Yhteenveto
Security Headers ovat tehokas tapa vahvistaa WordPress-sivuston suojausta selaintasolla. HSTS, Content Security Policy, X-Frame-Options, Referrer-Policy ja muut suojausotsakkeet auttavat ehkäisemään useita yleisiä verkkohyökkäyksiä sekä parantavat käyttäjien turvallisuutta.
Kun suojausotsakkeet yhdistetään säännöllisiin ohjelmistopäivityksiin, turvalliseen palvelinympäristöön, Web Application Firewalliin ja huolelliseen käyttäjähallintaan, WordPress-sivusto muodostaa huomattavasti vahvemman puolustuksen nykyaikaisia tietoturvauhkia vastaan.