Kaikilla Seravon palvelussa olevilla sivustoilla on oletuksena käytössä HTTPS-varmenne. Sivuston tietoturvaa voidaan entisestään parantaa ottamalla käyttöön HTTP Strict Transport Security (HSTS).
Tämä HTTP-otsake (header) kertoo selaimelle ja koko internetille, että sivustolla on aina käytössä salattu HTTPS-yhteys, eikä sitä kuulu käyttää lainkaan suojaamattomana. Mikäli selain jostain syystä näkee sivuston ilman suojausta, se tietää, että käynnissä on jotain epäilyttävää (kuten DNS-kaappaus) ja kieltäytyy lataamasta sivua käyttäjän turvaksi.
HSTS on käytössä oletuksena Seravolla
Sinun ei tarvitse tehdä mitään perustason HSTS-suojauksen eteen, sillä se on Seravolla aktivoituna valmiiksi kaikille uusille sivustoille. Oletusarvoinen määritys löytyy palvelimelta tiedostosta /data/wordpress/nginx/security.conf ja se näyttää seuraavalta:
add_header Strict-Transport-Security "max-age=63072000;";
Tämä tarkoittaa, että selain muistaa suojatun yhteyden vaatimuksen seuraavan kahden vuoden ajan (63072000 sekuntia).
Miten HSTS-asetuksia tiukennetaan?
Jos haluat tiukentaa HSTS-sääntöjä (esimerkiksi vaatiaksesi suojausta myös aliverkkotunnuksilta), voit muokata palvelimen konfiguraatiota SSH-yhteyden kautta.
Vaihe 1: Muokkaa asetustiedostoa
Avaa ja muokkaa tiedostoa /data/wordpress/nginx/security.conf ja korvaa oletusrivi tiukemmalla versiolla:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
Huom: Tämä tiukempi asetus pakottaa myös kaikki aliverkkotunnukset (includeSubDomains) käyttämään HTTPS-yhteyttä. Älä ota tätä käyttöön, ellet ole 100 % varma, että jokaisella aliverkkotunnuksellasi (esim. testi.sinunsivu.fi) on toimiva SSL-sertifikaatti.
Lisäksi preload-määre puolestaan antaa luvan lisätä domainisi Googlen ylläpitämälle HSTS-esilatauslistalle. Jos sivusto lisätään tälle listalle, sen poistaminen sieltä voi vikatilanteessa viedä kuukausia. Voit tilata Seravolta asiantuntijatyönä tarkistuksen, jossa varmistamme ympäristösi valmiuden tiukemmalle HSTS-asetukselle.
Vaihe 2: Käynnistä HTTP-palvelin uudelleen
Jotta tekemäsi muutokset tulevat voimaan, sinun täytyy käynnistää nginx-palvelin uudelleen komentoriviltä (SSH) seuraavalla komennolla:
wp-restart-nginx
Vaihtoehtoinen tapa: HSTS-otsakkeen lähetys PHP-koodilla
HSTS-otsake on mahdollista lähettää myös suoraan sivuston PHP-koodista käsin (esimerkiksi teeman functions.php-tiedostossa) käyttämällä WordPressin send_headers -koukkua. Seravon ympäristössä suosittelemme kuitenkin ensisijaisesti yllä mainittua nginx-tason määritystä sen suorituskyvyn ja varmuuden vuoksi.
Testaa määrityksen toimivuus
Kun olet tehnyt muutokset ja käynnistänyt palvelimen uudelleen, voit tarkistaa HSTS-otsakkeen oikeellisuuden ja domainisi valmiuden esilatauslistalle käyttämällä virallista työkalua osoitteessa: hstspreload.org
