@harrasteblogi JUURI NYT
--:--

Tilaa uutiskirje

Saat tuoreimmat 10 uusinta artikkelia kerran viikossa sähköpostiisi.

Tilaa uutiskirje

WordPress Security Headers -asetuksetSelaimen 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.

🍪