Kaikilla Seravon ylläpidossa olevilla sivustoilla on oletuksena käytössä HTTPS-varmenne ja perustason HSTS-suojaus (HTTP Strict Transport Security). HSTS on HTTP-otsake, joka kertoo selaimelle, että sivustoa saa ladata ainoastaan salatulla HTTPS-yhteydellä. Mikäli selain havaitsee salaamattoman yhteyden, se kieltäytyy lataamasta sivua, mikä estää tehokkaasti muun muassa väliintulohyökkäykset (kuten DNS-kaappaukset).
Seravolla HSTS on määritelty valmiiksi kaikille sivustoille tiedostossa /data/wordpress/nginx/security.conf arvolla max-age=63072000 (selain muistaa vaatimuksen kahden vuoden ajan). Tämä opas neuvoo, kuinka voit tiukentaa näitä sääntöjä entisestään.
Edellytykset
SSH-yhteys palvelimelle.
Varmuus siitä, että kaikilla aliverkkotunnuksillasi (esim. testi.esimerkki.fi) on toimiva HTTPS-varmenne, mikäli aiot ottaa käyttöön
includeSubDomains-määrityksen.
Tapa 1: HSTS-asetusten tiukentaminen nginx-konfiguraatiossa (suositeltu)
Jos haluat vaatia HTTPS-salausta myös aliverkkotunnuksilta tai lisätä sivustosi kansainväliselle HSTS Preload -listalle, voit muokata nginx-palvelimen asetuksia komentoriviltä.
Yhdistä palvelimelle ja avaa asetustiedosto: Yhdistä sivustollesi SSH:lla ja avaa
security.conf-tiedosto tekstieditorilla (esim. nano):nano /data/wordpress/nginx/security.conf
Päivitä HSTS-otsake: Etsi tiedostosta rivi, jossa lukee
add_header Strict-Transport-Security "max-age=63072000;";ja korvaa se haluamallasi tiukennetulla versiolla. Esimerkki tiukimmasta mahdollisesta suojaustasosta:add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
Tallenna tiedosto: Tallenna tekemäsi muutokset ja sulje editori.
Käynnistä nginx uudelleen: Jotta uudet asetukset tulevat voimaan, käynnistä HTTP-palvelin uudelleen komennolla:
wp-restart-nginx
Tapa 2: HSTS-otsakkeen lähetys PHP-koodilla
Vaihtoehtoisesti voit lähettää HSTS-otsakkeen suoraan WordPressin PHP-koodista käsin (esimerkiksi teeman functions.php-tiedostossa) käyttämällä WordPressin send_headers-koukkua. Seravon ympäristössä nginx-tason määritys (Tapa 1) on kuitenkin ensisijaisesti suositeltu vaihtoehto sen huomattavasti paremman suorituskyvyn ja toimintavarmuuden vuoksi.
Vianmääritys / Usein kysyttyä
Mitä riskejä tiukempiin HSTS-määrityksiin liittyy?
includeSubDomains: Tämä asetus pakottaa säännön voimaan kaikissa sivustosi aliverkkotunnuksissa. Älä ota tätä käyttöön, jos sinulla on yksikin salaamaton tai ilman SSL-varmennetta toimiva aliverkkotunnus, sillä selain estää pääsyn sinne välittömästi.preload: Tämä parametri antaa luvan lisätä sivustosi selainten (kuten Chrome ja Firefox) ylläpitämälle kovakoodatulle HSTS-esilatauslistalle. Jos sivustosi lisätään listalle ja joudut jostain syystä poistamaan HTTPS:n käytöstä, sivuston poistaminen esilatauslistalta voi viedä kuukausia. Tänä aikana sivustosi on tavoittamattomissa osalle käyttäjistä.
Miten testaan HSTS-asetuksen toimivuuden? Kun olet käynnistänyt nginxin uudelleen, voit testata sivustosi HSTS-otsakkeen oikeellisuuden ja valmiuden esilatauslistalle käyttämällä virallista työkalua osoitteessa hstspreload.org.
En ole varma, onko sivustoni valmis tiukempaan HSTS-asetukseen? Voit tilata Seravolta asiantuntijatyönä tarkistuksen, jossa varmistamme ympäristösi ja aliverkkotunnustesi valmiuden tiukemmalle HSTS-asetukselle.
Katso myös
HSTS on tehokas tapa varmistaa, että sivustosi verkkoliikenne pysyy aina salattuna ja suojattuna väliintulohyökkäyksiltä. Seravon oletusasetukset tarjoavat jo erinomaisen perussuojan useimmille sivustoille, mutta tiukennetuilla säännöillä viet sivustosi tietoturvan korkeimmalle mahdolliselle tasolle. Mikäli tarvitset apua nginx-määritysten tekemisessä tai haluat varmistaa sivustosi valmiuden ennen HSTS Preload -listalle siirtymistä, asiakaspalvelumme ja asiantuntijamme ovat aina apunasi osoitteessa [email protected].
