HTTP-otsakkeet parantamaan kotisivujen tietoturvaa

HTTP-otsakkeet parantamaan kotisivujen tietoturvaa

Verkkosivujen turvallisuus ja sen parantaminen

Tässä kirjoituksessa käyn läpi, miten voit parantaa verkkosivujen tietoturvaa vaihtamalla HTTP-otsakkeen (HTTP Headers) asetuksia. HTTP-otsakkeiden muokkaaminen tulisi tehdä palvelintasolla, ja moderneja webhotellipalveluita tarjoavan yrityksen tulisi hoitaa nämä sinulle pyytämättä. Asetuksia voi myös muokata tällä WordPress-lisäosalla.

Mozilla tarjoaa ilmaisen ja tehokkaan työkalun, jolla voit testata ennen ja jälkeen asetusten laiton, miten sivustosi turvallisuus parani. https://observatory.mozilla.org/

1. Content Security Policy

Content Security Policy-asetus 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 HTTP Security Header-asetus estää kaikki ulkopuolisilta palvelimilta tulevat liikenteet. On siis tärkeää, että annat luotettaville lähteille luvan Content Security Policyn säännöissä.

Esimerkki Content Security Policyn 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 luotettavalta taholta hankittu SSL-sertifikaatti, se ei automaattisesti tarkoita sitä, että sivut olisivat turvalliset. On siis tärkeää, että tarkistat itse, tai pyydätte webhostaajaanne tarkistamaan HTTP-otsakkeen asetukset, jotta verkkosivujen turvallisuus olisi luotettavampi. HTTP Strict Transport Security eli HSTS-asetus pakottaa kaiken verkkosivun liikenteen kulkemaan HTTPS-yhteyden läpi. Näin asiakkaasi eivät vahingossakaan tee esimerkiksi verkkokauppaostoksia epäturvallisen yhteyden läpi.

Esimerkki HTTP Strict Transport Security (HSTS) asetuksesta NGINX- tai Apache-verkkopalvelimen asetuksissa.

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. Clickjacking-hyökkäystä voidaan esimerkiksi käyttää käyttäjän mikrofonin ja web-kameran avaamiseen. iFrame-elementtejä käytetään hyväksi tässä hyökkäyksessä. On siis hyvä idea estää iFramejen piirtyminen verkkosivuillesi ulkoisista lähteistä

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

X-XSS-Protection-asetus asettaa ns. cross-site scripting (XSS)-filtterin päälle. Tämä ominaisuus löytyy jo päivitetyistä verkkoselaimista, mutta verkkosivujen ylläpitäjänä on hyvien tapojen mukaista pakottaa tämä ominaisuus päälle.

Ota käyttöön Nginx-verkkopalvelimella

add_header x-xss-protection "1; mode=block" always;

Ota käyttöön Apache-verkkopalvelimella:

header always set x-xss-protection "1; mode=block"

5. X-Content-Type-Options

MIME Sniffing on hyökkäys, jolla voidaan pahimmassa tapauksessa ladata haitallista sisältöä verkkosivuille, jossa on käyttäjille avoinna oleva tiedostojenlatausformi. X-Content-Type-Options asetus estää Internet Explorerin ja Google Chromen tekemästä MIME Sniffingiä ladattaville tiedostoille.

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 verkkosivun ylläpitäjän vastuulla. Hyvän tietoturvatason saavuttaminen voi tuntua haastavalta, mutta jokaisen tulisi osallistua verkkosivujen turvallisuuden parantamiseen. On hyvä aloittaa palvelintasolta. Kun kotisivujesi palvelin on kunnossa, niin kotisivujesi tietoturva paranee samalla. Saatat käyttää jaettua webhotellia, jolloin sinulla ei ole juurikaan vaikutusvaltaa siihen miten palvelun ylläpitäjä vastaa palvelimen tietoturvasta. On kuitenkin vastuullasi valita hyvä koti kotisivuillesi.