Content Security Policy (CSP) on tietoturvastandardi ja -tekniikka, joka kertoo verkkoselaimelle, mitkä ovat sallittuja resursseja kyseisellä sivustolla.
Julkaistu
Päivitetty

Tietoturva on monesti kilpajuoksua verkkorikollisia vastaan. Ns. script kiddiet ja ammattimaisemmat toimijat skannaavat tauotta läpi internetiä bottiarmeijat aseinaan löytääkseen haavoittuvaisia kohteita: reitittimiä, tulostimia, www-palvelimia ja jääkaappeja. Kohteen tyypillä ei ole väliä, kaikki kelpaa. Kun bottiverkko löytää sopivan kohteen, on vuorossa automatisoitu tietoturva-aukkojen etsintä: kohdejärjestelmille lähetään erilaisia syötteitä ja yritetään saada järjestelmä palauttamaan sensitiivistä tietoa, tai muuttamaan toimintaansa hyökkääjän toiveiden mukaiseksi.

WordPress -sivustojen osalta hyökkääjät yleensä keskittyvät kaivamaan esiin heikkoja salasanoja sekä haavoittuvaisia lisäosia. Yksi yleisimmistä haavoittuvuustyypeistä on Cross-Site Scripting, eli XSS. Käytännössä kyseessä on tilanne, jossa käyttäjä onnistuu syöttämään sivulle omavalintaista koodia, esimerkiksi sivustolle upotetun yhteydenottolomakkeen avulla. Haavoittuvuustyyppi on mukana mm. OWASP TOP10 -listauksessa, joka on ajantasainen listaus vakavimmista verkkopalveluita koskevista uhkaluokista.

Content Security Policy eli CSP estää sivuston kaappaamisen

Pieni virhe sivuston koodissa voikin johtaa sivuston kaappaamiseen. Mikä siis avuksi? Yksi keino on Content Security Policy (CSP), tietoturvastandardi ja -tekniikka, jossa sivusto kertoo vierailijan verkkoselaimelle, mitkä ovat sallittuja resursseja kyseisellä sivustolla, sekä toisaalta voidaan pyytää selainta raportoimaan tietoturvapoikkeamista sivustolle upotetuissa sisällöissä. CSP:n tavoitteena on rajoittaa vieraan koodin ja muiden komponenttien sisällyttämistä sivustolle ja näin ehkäistä muun muassa cross-site-scripting ja ClickJacking -tyyppisiä hyökkäyksiä. Edellytyksenä CSP:n käytölle on, että kävijällä on käytössään moderni verkkoselain (Chrome 25+ ,Edge 14+, Firefox 23+, IE 10+, Opera 15+, Safari 7+).

Tieto sallituista resursseista välitetään palvelimelta selaimelle HTTP-otsakkeena Content-Security-Policy. Sen avulla voidaan määritellä sallitut lähteet esimerkiksi skripteille, tyylitiedostoille, upotetuille fonteille, kehyksille ja muille sisältötyypeille. CSP-säännöllä voidaan sallia joko yksittäisiä tiedostoja, tai kokonaisia verkkotunnuksia tai protokollia. Kokonainen HTTP-otsake voi näyttää esimerkiksi seuraavalta (esimerkin sisältö on muotoiltu helpommin luettavaksi, tarkempi tekninen kuvaus löytyy Mozillan kehittäjädokumentaatiosta):

content-security-policy:
default-src 'self';
script-src 'self' https://www.google-analytics.com https://code.jquery.com https://www.gstatic.com https://www.google.com/recaptcha/api.js https://v2.zopim.com https://platform.twitter.com https://cdn.syndication.twimg.com https://www.googletagmanager.com;
  style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:;
font-src 'self' data: https://fonts.gstatic.com https://use.fontawesome.com https://v2.zopim.com/widget/fonts/zopim.ttf https://*.bootstrapcdn.com;
frame-src https://www.slideshare.net https://www.google.com https://platform.twitter.com https://syndication.twitter.com https://www.youtube.com;
connect-src 'self' wss://*.zopim.com;
upgrade-insecure-requests;
report-uri https://seravo-cspreports.seravo.fi/receive.php;

CSP on otsaketieto

Yksinkertaistetusti ilmaistuna CSP-otsakkeen avulla verkkopalvelu käytännössä kertoo käyttäjän selaimelle, että ”skriptejä voit lukea ainoastaan palvelimilta A ja B, tyylisivuja palvelimilta A ja C, sekä kuvia palvelimilta A, B, D”. Selain ei suostu avamaan mitään muita resursseja, jolloin esimerkiksi hyökkääjän sivustolle injektoima JavaScript -haittakoodi ei käynnistykään. Mikäli sivusto yrittää tarjota muita resursseja, selain osaa raportoida asiasta sivuston ylläpitäjälle, joka voi välittömästi ryhtyä toimenpiteisiin hyökkääjää vastaan.

CSP:n käyttöönotto

CSP:n käyttöönotto on monivaiheinen prosessi, jossa on tärkeää huolehtia siitä, että koko kehitystyössä otetaan huomioon tekniikan vaikutukset mm. uusien ominaisuuksien käyttöönottoon. Toiminnon tuottamia raportteja on tärkeää seurata aktiivisesti, jotta mahdolliset poikkeamat voidaan havaita. Virheellinen toteutus voi helposti tarkoittaa rikkinäistä verkkosivustoa. Lisähaasteen tekniikan käyttöönottoon tuo WordPress, jonka ytimessä on vielä tällä hetkellä muutamia tiedossa olevia CSP-tekniikan kanssa yhteensopivuutta heikentäviä tekijöitä.

Oikein käytettynä CSP tuo kuitenkin huomattavan lisäsuojan hyökkäysyrityksiä vastaan ja voi toimia pelastavana tekijänä murtoyrityksen osuessa omalle kohdalle. Mikäli tekniikan käyttöönotto kiinnostaa, hyvä tapa päästä aiheessa eteenpäin on tutustua Firefox -selainta kehittävän Mozilla-säätiön kehittäjädokumentaatioon aiheesta.

Kommentoi

Lue lisää

Kategoriassa: Tietoturva

Kansainvälinen tietoturvapäivä – Turvaa tietosi

Tänään 30.11. vietetään kansainvälistä tietoturvapäivää. Miten tietoturvasta voi huolehtia? Miten WordPress-sivusto pysyy mahdollisimman tietoturvallisena?

30 marraskuun, 2023

WordPress-sivuston tietoturvan parantaminen

Kun sivustosi on Seravon WP-palvelussa, voit olla varma että se pysyy turvassa. Miten tietoturvaan liittyviä riskejä voi minimoida? Näillä ohjeilla parannat WordPress-sivustosi tietoturvaa!

17 lokakuun, 2023

Vuodettu salasana keskeinen syy sivustojen tietomurtoihin

Viime aikoina on havaittu poikkeuksellisen paljon WordPress-sivustojen tietomurtoja, joiden perimmäisenä syynä on ollut sivuston käyttäjän heikko salasana. Onkin jälleen aika muistuttaa WordPress-käyttäjiä hyvän salasanahygienian noudattamisesta!

23 syyskuun, 2022

Miten suojautua palvelunestohyökkäyksiltä?

Palvelunestohyökkäyksessä sivustolle lähetetään loputon määrä samanaikaisia pyyntöjä, jolloin sivusto ei enää avaudu vierailijoille. Miten niiltä voi suojautua?

12 huhtikuun, 2022

Salasanojen suojauksia tiukennetaan

Seravo tiukentaa helmikuun aikana suojauksia asiakkaidensa WordPress-sivustoilla liittyen salasanojen, kirjautumisten ja yhteyksien suojaamiseen.

9 helmikuun, 2021

WordPress-tietokannan suojaukset Seravolla

Viime viikkoina tietoturva on ollut esillä Suomalaisissa uutisotsikoissa. Lue Seravon blogista, mitä kaikkea Seravo tekee tietokannan suojaamiseksi WordPress-sivustoillamme.

9 marraskuun, 2020