For å sette opp HSTS må du ha et gyldig SSL-sertifikat. Du vil overhodet ikke være i stand til å åpne hjemmesiden uten et gyldig SSL-sertifikat og HSTS aktivert. Dersom sertifikatet blir ugyldig, eller du gjør tilsvarende feil i oppsettet av HSTS eller publiseringsløsningen din, kan det medføre at nettsiden blir utilgjengelig for en lang stund(!), og dette er helt utenfor din og vår kontroll.
Hva er HSTS
HSTS står for HTTP Strict Transport Security, og tvinger all trafikk over på HTTPS.
Krav til HSTS
- Alle domenenavn, eventuelle subdomener inkludert, må ha et gyldig SSL-sertifikat.
- Alle HTTP-linker må videresende til HTTPS med en 301 Permanent Redirect.
I tillegg kommer krav til utformingen av direktivet som aktiverer HSTS.
Før du aktiverer HSTS
HSTS er ikke noe du bare skrur på og av, og krever litt forberedelser. Dersom du gjør noe galt kan det få store konsekvenser for brukerne dine, og dine Google-rangeringer. Skynd deg langsomt!
- Sjekk at du har et gyldig sertifikat, og at det er gyldig for alle subdomener inkludert www.
- Sjekk at alle sider lastes med HTTPS, og at alle linker er i HTTPS.
- Gjennomgå alle subdomener og påse at alle støtter HTTPS.
- Overvåk trafikken. Du trenger analyseverktøy for å fange opp sider som ikke virker, og god oversikt over feilkoder, salgsinntekter, m.v. for å oppdage feil og mangler.
Aktivere HSTS
Du aktiverer HSTS med en enkel linje i .htaccess:
Header always set Strict-Transport-Security "max-age=300; includeSubDomains; preload"
- max-age: angir hvor lenge policyen gjelder. Du vil ikke være i stand til å laste inn http-versjonen i antallet sekunder som oppgis her. For sikkerhets skyld bør du begynne med små verdier, og øke etterhvert:
- 5 minutter: max-age=300;
- 1 uke: max-age=604800;
- 1 måned: max-age=2592000;
- 1 år: max-age= 31536000;
- includeSubDomains: Angir at subdomener skal inkluderes. Du kan velge å fjerne dette argumentet, men fra et sikkerhetsmessig perspektiv bør det angis, og standarden krever at dette angis der det er mulig.
- preload: Leses av HSTS Preload List: https://hstspreload.org/. Dette er en liste med vertsnavn som kun er tilgjengelig over HTTPS, og som blir kodet inn i nettleseren. Å sette dette flagget i direktivet indikerer at du planlegger å inkludere ditt domene i denne listen. Inkludering i listen krever imidlertid at du sender inn domenenavnet på https://hstspreload.org/. En inkludering i listen betyr i praksis at nettsidene dine blir spesifisert til å bare være tilgjengelig over HTTPS selv for brukere som aldri har besøkt sidene før. NB! Det kan ta måneder å bli fjernet fra denne listen.
Krav til inkludering i HSTS Preload List
I tillegg til HSTS-kravene over gjelder følgende når du skal kunne sende inn sidene til HSTS Preload List:
- HTTPS må være implementert på alle subdomener. Du må støtte HTTPS på www hvis det finnes en DNS-record for dette subdomenet.
- max-age må være minst 31536000 sekunder.
- includeSubDomains må være satt.
- preload må være satt.
- Dersom du gjør andre videresendinger på sidene utover HTTP til HTTPS må disse videresendingene også bære en HSTS-header (ikke bare sidene du videresender til).