Takaisin muihin artikkeleihin

HTTP-otsakkeet parantamaan kotisivujen tietoturvaa

HTTP-otsakkeet parantaa kotisivujen tietoturvaa - HTTP-otsakkeet parantamaan kotisivujen tietoturvaa

Verkkosivujen turvallisuus ja HTTP-otsakkeet

Tässä kirjoituksessa käyn läpi, miten voit parantaa verkkosivujen tietoturvaa laittamalla palvelimen HTTP-otsakkeet (HTTP Headers) kuntoon. HTTP-otsakkeiden muokkaaminen tulisi tehdä palvelintasolla, ja moderneja webhotellipalveluita tarjoavan yrityksen tulisi hoitaa nämä sinulle pyytämättä. Asetuksia voi myös muokata WordPress-lisäosilla, mikäli palvelintasolle ei ole suoraa pääsyä.

Mozilla tarjoaa ilmaisen ja tehokkaan työkalun, jolla voit testata ennen ja jälkeen asetusten laiton, miten sivustosi turvallisuus parani. Testaa sivustosi tästä: Mozilla Observatory.

1. Content Security Policy (CSP)

Content Security Policy on kenties tärkein yksittäinen HTTP-otsake. Se auttaa sinua torjumaan ns. Cross Site Scripting (XSS) -hyökkäyksiä, joilla pyritään syöttämään haitallista koodia verkkosivuillesi. Hyökkäystä yritetään käyttää mm. sivuilla, joissa on kirjautumismahdollisuus. Onnistuneen hyökkäyksen jälkeen hakkeri voi saada käsiinsä sisäänkirjautuvien henkilöiden tunnukset.

Content Security Policy -otsake estää oletuksena liikenteen ulkopuolisilta palvelimilta. On siis tärkeää, että määrittelet säännöissä tarkasti, mitkä ulkoiset lähteet (kuten Google Analytics) ovat sallittuja.

Esimerkki CSP-asetuksesta NGINX- tai Apache-verkkopalvelimen asetuksissa:

content-security-policy: script-src 'self' https://www.google-analytics.com

2. HTTP Strict Transport Security (HSTS)

Vaikka verkkosivuilla olisi käytössä HTTPS-alkuinen osoite ja SSL-sertifikaatti, se ei automaattisesti tarkoita täydellistä turvaa. On tärkeää tarkistaa HTTP-otsakkeet, jotta yhteys pysyy salattuna alusta loppuun. HTTP Strict Transport Security eli HSTS-asetus pakottaa kaiken verkkosivun liikenteen kulkemaan suojatun HTTPS-yhteyden läpi.

HSTS-otsakkeen avulla varmistat, etteivät asiakkaasi vahingossakaan tee esimerkiksi verkkokauppaostoksia epäturvallisen yhteyden läpi.

Esimerkki HSTS-asetuksesta:

strict-transport-security: max-age=31536000; includeSubDomains; preload

3. X-Frame-Options

Clickjacking on tekniikka, jolla saadaan netinkäyttäjä luovuttamaan tietojaan samalla kun he selaavat turvallisen oloisia verkkosivuja. Hyökkäyksessä käytetään usein iFrame-elementtejä sivuston "kaappaamiseen".

Vaikka moderni tapa estää tämä on käyttää kohdassa 1 mainittua CSP-otsaketta (`frame-ancestors`-direktiiviä), on X-Frame-Options edelleen hyödyllinen lisä vanhempien selaimien turvaamiseksi.

Ota käyttöön Nginx-verkkopalvelimella:

add_header x-frame-options "SAMEORIGIN" always;

Ota käyttöön Apache-verkkopalvelimella:

header always set x-frame-options "SAMEORIGIN"

4. X-XSS-Protection (Vanhentunut)

Aiemmin suositeltu X-XSS-Protection on nykyään vanhentunut otsake. Useat modernit selaimet (kuten Chrome ja Edge) eivät enää käytä sitä oletuksena, ja väärin konfiguroituna se saattaa jopa aiheuttaa haavoittuvuuksia. Nykyään suositellaan, että XSS-suojaus hoidetaan ensisijaisesti vahvalla Content Security Policy (CSP) -otsakkeella (katso kohta 1).

Jos haluat poistaa tämän käytöstä tai varmistaa yhteensopivuuden turvallisesti, voit käyttää arvoa "0":

add_header x-xss-protection "0" always;

5. X-Content-Type-Options

MIME Sniffing on hyökkäys, jolla voidaan pahimmassa tapauksessa ladata haitallista sisältöä verkkosivuille hyödyntämällä selaimen tapaa arvata tiedostotyyppejä. X-Content-Type-Options -otsake estää selaimia tekemästä MIME Sniffingiä ja pakottaa ne noudattamaan palvelimen ilmoittamaa tiedostotyyppiä.

Ota käyttöön Nginx-verkkopalvelimella:

add_header X-Content-Type-Options "nosniff" always;

Ota käyttöön Apache-verkkopalvelimella:

Header always set X-Content-Type-Options "nosniff"

Kotisivujen tietoturva yleisesti

Verkkosivujen turvallisuus on jokaisen ylläpitäjän vastuulla. Hyvän tietoturvatason saavuttaminen voi tuntua haastavalta, mutta oikeat HTTP-otsakkeet ovat helppo ja tehokas tapa aloittaa. Kun palvelin on konfiguroitu oikein, koko sivuston tietoturva paranee merkittävästi. Jos käytät jaettua webhotellia, varmista palveluntarjoajaltasi, että he tukevat näiden otsakkeiden muokkaamista.

FAQ

Usein kysytyt kysymykset

Mitä ovat HTTP-otsakkeet?

HTTP-otsakkeet (HTTP Headers) ovat palvelimen ja selaimen välisessä liikenteessä kulkevia metatietoja. Ne kertovat selaimelle, miten verkkosivun sisältöä tulisi käsitellä, ladata ja näyttää. Oikein määritellyt turvallisuusotsakkeet suojaavat sivustoa ja sen käyttäjiä yleisiltä hyökkäyksiltä.

Ota yhteyttä

Valitse verkkokumppani, joka ymmärtää suomalaisia pk-yrityksiä ja tarjoaa yritysarkea helpottavia ratkaisuja kustannustehokkaaseen hintaan.