HSTS (HTTP Strict Transport Security)

E-post och säkerhet
En säkerhetsrubrik som tvingar webbläsare att ansluta till en webbplats endast via HTTPS och förhindrar nedgraderingsattacker.
← Tillbaka till Ordlistan

Vad är HSTS?

HSTS (HTTP Strict Transport Security) är en webbsäkerhetsmekanism som talar om för webbläsare att en webbplats endast får användas via HTTPS, aldrig HTTP. När en webbläsare har sett en HSTS-rubrik uppgraderar den automatiskt alla framtida begäranden till HTTPS och vägrar ansluta via vanlig HTTP, även om användaren uttryckligen skriver http://.

Varför HSTS är viktigt

Även med ett giltigt SSL-certifikat finns sårbarheter:

SSL-strippningsattack

1. Användaren skriver "example.com" (utan https://)

2. Angriparen fångar den första HTTP-begäran

3. Angriparen proxar till HTTPS men visar HTTP för användaren

4. Användaren tror att anslutningen är säker, men angriparen ser allt

HSTS förhindrar detta genom att säkerställa att webbläsare aldrig skickar den första HTTP-begäran.

Fördelar med HSTS

HSTS-rubrikens syntax

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Direktiv

DirektivetBeskrivning
max-ageAntal sekunder som HSTS ska kommas ihåg (31536000 = 1 år)
includeSubDomainsTillämpa HSTS på alla underdomäner
preloadGodkänn att domänen tas med i webbläsarnas förinläsningslista

Implementera HSTS

Nginx

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Apache

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Cloudflare

Aktivera under SSL/TLS → Edge Certificates → HTTP Strict Transport Security

Express.js

const helmet = require('helmet');

app.use(helmet.hsts({

maxAge: 31536000,

includeSubDomains: true,

preload: true

}));

HSTS-förinläsningslista

HSTS-förinläsningslistan är en lista över domäner som är inbyggd i webbläsare och som endast får nås via HTTPS. Den eliminerar även sårbarheten med den första HTTP-begäran.

Krav för förinläsning

1. Giltigt SSL-certifikat

2. Omdirigera all HTTP-trafik till HTTPS

3. HSTS-rubrik med:

- max-age på minst 31536000 (1 år)

- direktivet includeSubDomains

- direktivet preload

4. Alla underdomäner måste stödja HTTPS

Skicka in till förinläsningslistan

1. Verifiera kraven: Använd hstspreload.org för att kontrollera

2. Skicka in domänen: Ange domänen på hstspreload.org

3. Vänta på att den tas med: Det tar veckor till månader innan webbläsaruppdateringar sprids

Varningar om förinläsning

Förinläsning är permanent (i praktiken). Det tar månader att ta bort en domän från listan och kräver webbläsaruppdateringar. Lägg bara till en domän om du är säker på att alla underdomäner kommer att stödja HTTPS utan tidsbegränsning.

Kontrollera HSTS

Webbläsarens utvecklarverktyg:

1. Öppna utvecklarverktygen → fliken Network

2. Ladda webbplatsen

3. Kontrollera svarsrubrikerna efter Strict-Transport-Security

Med curl:
curl -I https://example.com | grep -i strict
Med DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports hasHSTS in security details

Status för förinläsning:

Kontrollera hstspreload.org för att se om en domän är förinläst.

Strategi för HSTS-driftsättning

Fas 1: Kort max-age

Börja med ett kort max-age för att testa:

Strict-Transport-Security: max-age=300

Om något går sönder har användarna bara cachelagrat inställningen i 5 minuter.

Fas 2: Förläng varaktigheten

När du har bekräftat att HTTPS fungerar överallt:

Strict-Transport-Security: max-age=86400

Fas 3: Lägg till underdomäner

När alla underdomäner stöder HTTPS:

Strict-Transport-Security: max-age=2592000; includeSubDomains

Fas 4: Full driftsättning med förinläsning

Efter flera månaders stabil drift:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Skicka sedan in domänen till förinläsningslistan.

Vanliga HSTS-problem

Underdomän utan HTTPS: includeSubDomains gör att den underdomänen slutar fungera Utvecklingsmiljöer: HSTS som cachelagrats från produktionen gör lokal utveckling obrukbar CDN-/proxy-rubriker: Säkerställ att HSTS-rubriken inte tas bort av mellanhänder Blandat innehåll: Alla resurser måste använda HTTPS, HSTS reparerar inte inbäddade HTTP-resurser

HSTS är avgörande för alla webbplatser som hanterar känsliga data och rekommenderas starkt för alla HTTPS-webbplatser.

Använd Denna Kunskap

Använd DomScans API för att kontrollera domäntillgänglighet, hälsa och mer.