Defaults.Exposed › Åtgärder › HSTS (Strict-Transport-Security)
Hur du fixar HSTS (Strict-Transport-Security)
HSTS är en engångsinstruktion din webbplats ger varje webbläsare: 'kom alltid tillbaka till mig via den säkra, krypterade anslutningen — aldrig den osäkra.' Utan det kan ditt hänglås tyst strypas bort på delat Wi-Fi, och det allra första besöket på din webbplats är exponerat.
Slutsats för ditt företag: Att ha HTTPS (hänglåset) är inte samma sak som att verkställa det. Utan HSTS kan en angripare på samma Wi-Fi som din kund tyst nedgradera anslutningen till vanlig, okrypterad HTTP — och fånga inloggningar, kortuppgifter och formulärdata medan kunden inte ser något ovanligt. Ditt SSL-certifikat, som du kanske betalar för, kringgås. Åtgärden är gratis och tar ungefär 15 minuter för den som driver din webbplats.
Vad detta kan kosta dig
- Kunder på café-, hotell-, flygplats- eller konferens-Wi-Fi kan få sin anslutning till din webbplats tyst nedgraderad och deras data läst — utan varning på deras skärm.
- Du betalade för HTTPS och har hänglåset, men utan HSTS kan angripare helt enkelt gå runt det; certifikatet ger en falsk trygghetskänsla.
- Det allra första besöket på din webbplats (innan någon omdirigering till HTTPS) är den svaga punkt angripare riktar in sig på — HSTS är vad som stänger den för varje återkommande besök.
- Ett säkerhetsformulär, en cyberförsäkringsblankett eller en entreprise-köpares checklista flaggar 'ingen HSTS' och stoppar affären tills det är åtgärdat.
- Sätt värdet fel (för kort) och du får det sämsta av båda världar: det ser konfigurerat ut men ger nästan inget verkligt skydd.
Varför det spelar roll. HTTPS skyddar en anslutning när den väl är krypterad — men det tvingar inte webbläsare att använda den. Angripare utnyttjar det gapet med 'SSL stripping': på ett delat nätverk håller de tyst kvar besökaren på osäkert HTTP och läser allt. HSTS berättar för webbläsaren att vägra vanlig HTTP för din domän helt och hållet, under en lång tid, så att gapet stängs efter det första besöket. Det är ett enda svarshuvud, gratis att lägga till, och i vår betygsättning är det värt riktiga poäng för att ett saknat eller för-kort värde utsätter varje besökare på offentligt Wi-Fi.
Vad det här är, i klartext
Du har nästan säkert HTTPS — det lilla hänglåset i webbläsarfältet. Bra. Men här är den del nästan ingen berättar om: att ha HTTPS är inte detsamma som att tvinga det.
HTTPS gör en anslutning krypterad när webbläsaren väl beslutar sig för att använda den. HSTS — kort för HTTP Strict Transport Security — är instruktionen som gör att webbläsaren alltid använder den. Det är en enda, osynlig rad din webbplats skickar till varje besökare som i praktiken säger:
“Från och med nu, för min domän, prata bara med mig via den säkra anslutningen. Aldrig den osäkra. Försök inte ens.”
Webbläsaren kommer ihåg det och lyder det så länge du anger — typiskt ett år. Efter en besökares första säkra besök vägrar deras webbläsare helt enkelt att ladda din webbplats via vanlig, okrypterad HTTP, även om något försöker tvinga det.
Utan HSTS existerar inte den regeln “använd alltid den säkra versionen” — och angripare vet exakt hur man utnyttjar gapet.
Vad det här kan kosta dig
Det här är realistiska, vardagliga scenarion. Vi namnger aldrig ett riktigt företag; det här är illustrationer av hur gapet används.
-
Café-kassan. En kund öppnar din butik på café-Wi-Fi och börjar checka ut. En angripare på samma nätverk kör ett gratis, välkänt verktyg som håller kvar kunden på vanlig HTTP istället för HTTPS. Kunden ser vad som ser ut som din normala webbplats — ingen varning, inget trasigt hänglås på den plats de skulle titta — och skriver sina kortuppgifter. Angriparen läser varje knapptryckning. Ditt SSL-certifikat gjorde ingenting, för anslutningen fick aldrig bli säker från första början.
-
Den resande anställde. En anställd loggar in på din adminpanel eller webbmail från ett hotell eller flygplats. Samma nedgraderingstrick fångar deras användarnamn och lösenord. Nu har angriparen en ingång till ditt företag — inte för att din lösenordspolicy var svag, utan för att inloggningssidan var nåbar via osäkert HTTP.
-
Affären som stannar. En större kund skickar sitt standardsäkerhetsformulär innan de skriver på. En rad frågar: “Verkställer din webbplats HTTPS via HSTS?” Din IT-kontakt måste svara “nej”, och inköpsprocessen pausar medan du rusar för att åtgärda en gratis, 15-minuters inställning som nu ser ut som en röd flagga inför en köpare.
-
Cyberförsäkringen eller efterlevnadskontrollen. En försäkrares skanning, eller en revisor som granskar din dataskyddsposition, flaggar det saknade huvudet. Kryptering av persondata är en uttrycklig förväntning under dataskyddsregler (GDPR Artikel 32), och “vi har ett certifikat men verkställer det inte” är en svag ståndpunkt att stå på.
-
Den falska trygghetskänslan. Du betalar för SSL, hänglåset visas, och alla antar att webbplatsen är säker. Det är den mestadels — tills en kund är på ett delat nätverk, vilket är exakt när de är mest sårbara och minst troliga att märka något ovanligt.
Genomgående: kostnaden är inte abstrakt. Det är en riktig kunds kort eller inloggning, fångad vid sämsta möjliga tidpunkt, utan att något larm går.
Vad det faktiskt är
När en webbläsare ber din webbplats om en sida skickar din server tillbaka sidan plus några osynliga “huvuden” — extra instruktioner som webbläsaren läser men besökaren aldrig ser. HSTS är ett av dessa huvuden:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Tre delar spelar roll:
max-age— hur länge (i sekunder) webbläsaren ska komma ihåg att tvinga HTTPS.31536000är ett år. Det här är kärnan i det: för kort och det hjälper knappt.includeSubDomains— utöka regeln till varje subdomän (shop.,app.,mail.och så vidare), inte bara din huvudadress.preload— välj in din domän i en masterlista inbyggd i webbläsare, så att skyddet gäller redan vid en besökares allra första begäran, innan de någonsin sett din webbplats.
Varför “det första besöket” spelar roll
HSTS har en inneboende begränsning: en webbläsare lyder bara regeln efter att den sett huvudet minst en gång. Så en ny besökares allra första anslutning är fortfarande ett litet exponerat fönster. Två saker minskar det: en HTTP-till-HTTPS-omdirigering (som snabbt får dem till den säkra versionen) och preload (som tar bort fönstret helt). Det är varför en komplett konfiguration parar HSTS med en riktig omdirigering.
Vad “bra” ser ut som — och hur det betygsätts
Vår kontroll läser ditt live-huvud och betygsätter max-age:
| max-age-värde | Vad det betyder | Resultat |
|---|---|---|
| 1 år eller mer (≥ 31536000) | Utmärkt — den rekommenderade inställningen | Fullt betyg |
| 6 månader eller mer (≥ 15768000) | Bra, men inte ett helt år | Delvis |
| 1 dag eller mer (≥ 86400) | Svagt — för kort för att vara pålitligt | Lågt / delvis |
| Under 1 dag, eller inget huvud alls | I praktiken inget skydd | Underkänt (hög allvarlighetsgrad) |
Så ett huvud som finns men är satt till några minuter behandlas som underkänt — det ser konfigurerat ut men gör inte jobbet. Sikta på ett år. Kontrollen noterar också om includeSubDomains och preload är på plats.
Så här åtgärdar du det (gratis, ~15 minuter)
Skicka det här avsnittet till den som driver din webbplats — din IT-person, webbutvecklare eller hostingsupport. Åtgärden är gratis. Det är ett enda huvud, eller ett alternativ i din hostingplattform. Det finns ingenting att köpa.
En viktig ordningsregel först: HSTS är klibbig — när det väl är aktiverat vägrar webbläsare vanlig HTTP för din domän under hela max-age. Så bekräfta att HTTPS fungerar korrekt på din huvudwebbplats och varje subdomän innan du aktiverar det brett. Den säkra vägen är: testa med ett kort värde → bekräfta att ingenting går sönder → höj till ett år.
Steg 1 — Se till att HTTPS redan fungerar överallt
Besök din webbplats och viktiga subdomäner via https:// och bekräfta att de laddas rent med ett giltigt certifikat. Bekräfta också att vanliga http://-begäran omdirigeras till https://. (Om de inte gör det, åtgärda HTTP-till-HTTPS-omdirigeringen först — HSTS förutsätter att den är på plats.)
Steg 2 — Lägg till huvudet (välj din plattform)
Cloudflare (eller liknande CDN): Det här är det enklaste. Gå till SSL/TLS → Kantcertifikat → HTTP Strict Transport Security (HSTS) och aktivera det. Sätt Max-Age till 6 månader eller 12 månader, och aktivera “Tillämpa HSTS-policy på subdomäner” när du är säker på att alla subdomäner är på HTTPS.
Nginx: lägg till inuti ditt HTTPS server-block:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Apache: se till att mod_headers är aktiverat, lägg sedan till i din HTTPS virtuell värd:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Microsoft IIS: lägg till i web.config inuti <customHeaders>:
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
Google Workspace / Microsoft 365 not: dessa driver din e-post, inte din webbplatshosting — HSTS sätts var din offentliga webbplats faktiskt bor (din CDN, webbserver eller webbplatsbyggare), inte i Workspace/365 admin. Om din webbplats är på en byggare som Squarespace, Wix eller Shopify hanteras HSTS vanligtvis åt dig; kontrollera deras SSL/säkerhetsinställningar om vår kontroll flaggar det.
Steg 3 — Testa litet, åta dig sedan
Börja med max-age=300 (5 minuter). Bekräfta att webbplatsen fortfarande laddas perfekt överallt. Höj sedan till max-age=31536000 (ett år). Det är den fullpoängs-inställningen.
Steg 4 (valfritt, guldstandard) — preload
När du är trygg och har kört ett ett-års huvud med includeSubDomains ett tag kan du skicka in din domän på hstspreload.org för att bakas in i webbläsare. Det stänger fönstret vid första besöket helt. Behandla det som ett medvetet åtagande — att ta bort en domän från listan är långsamt.
Vanliga misstag
- Sätta
max-ageför kort. Ett värde på några minuter eller timmar ser konfigurerat ut men ger nästan inget skydd — och vår kontroll behandlar allt under en dag som underkänt. Använd ett år. - Slå på
includeSubDomainsinnan subdomäner är redo för HTTPS. Om en subdomän inte är helt på HTTPS kan den klibbiga regeln göra den onåbar för besökare. Få varje subdomän på HTTPS först. - Lägga till HSTS men inte ha en HTTP-till-HTTPS-omdirigering. HSTS förutsätter att besökare når den säkra versionen; utan omdirigeringen är det första besöket onödigtvis exponerat. Åtgärda båda tillsammans.
- Hoppa direkt till
preloadför att vara noggrann. Preload är svårt att ångra. Förtjäna det gradvis efter ett stabilt ett-årsalternativ — rusa inte det. - Anta att hänglåset innebär att du är täckt. Hänglåset och HSTS är olika saker. Du kan ha ett perfekt certifikat och fortfarande underkännas på den här kontrollen.
Vanliga frågor
Vi har redan HTTPS och hänglåset visas. Räcker inte det?
Nej — och det här är det enda vanligaste missförståndet. Hänglåset innebär att en anslutning KAN krypteras; det tvingar inte webbläsare att använda den krypterade versionen. Utan HSTS kan en angripare på samma nätverk hålla kvar en besökare på vanlig HTTP (kallat SSL stripping) och läsa allt de skriver, medan kunden ser en normalutseende webbplats. HSTS är instruktionen som gör 'enbart krypterat' obligatoriskt. HTTPS utan HSTS är en låst dörr som faktiskt inte är hastad.
Är det dyrt eller riskabelt att slå på?
Åtgärden i sig är gratis — det är en rad i din webbserver eller ett alternativ i din CDN — och tar ungefär 15 minuter. Den enda verkliga försiktighetsåtgärden: HSTS är klibbig. När en webbläsare ser det vägrar den vanlig HTTP för din domän så länge du angett. Så du måste vara säker på att HTTPS fungerar på din huvudwebbplats OCH alla subdomäner innan du aktiverar det brett. Börja med ett kort testvärde, bekräfta att ingenting går sönder, höj sedan till ett år. Gjort i den ordningen är risken försumbar.
Vad ser 'bra' faktiskt ut som?
En max-age på minst ett år (31536000 sekunder). Vår kontroll ger fullt betyg vid ett år eller mer, delvis betyg vid sex månader, svagt/delvis vid en dag, och behandlar allt under en dag som i praktiken frånvarande. Den starkaste konfigurationen lägger också till includeSubDomains (täcker shop.dinwebbplats.com, app.dinwebbplats.com osv.) och preload (bakar in skydd i webbläsare så att även det allra första besöket är säkert).
Vad är 'preload' och behöver vi det?
HSTS skyddar bara en besökare EFTER att deras webbläsare sett huvud minst en gång — så en ny besökares allra första begäran är fortfarande ett litet exponerat fönster. HSTS preload-listan, inbyggd i Chrome, Firefox, Safari och Edge, stänger det fönstret genom att skicka din domän till webbläsare i förväg. Det är valfritt och ett något större åtagande (borttagning är långsam), men det är guldstandarden. För de flesta småföretag är ett ett-årsmax-age med includeSubDomains redan ett starkt, säkert resultat; preload är det extra steget när du väl är etablerad.
Vi är på Squarespace / Wix / Shopify — behöver vi ens göra något?
De flesta fullt hostade webbplatsbyggare (Squarespace, Wix, Shopify och liknande) verkställer HTTPS och ställer ofta in HSTS åt dig automatiskt — så du kanske redan klarar dig utan att göra något. Undantaget är när du använder en anpassad domän eller CDN framför din webbplats; då kan inställningen falla mellan stolarna. Kör kontrollen: om den klarar sig är du klar. Om den flaggar, är åtgärden alternativet i din plattforms SSL/säkerhetsinställningar, eller en rad på din CDN.
Om vi inte åtgärdar det, sänker det vårt betyg?
Ja. HSTS är en betygsatt webbsäkerhetskontroll, inte informativ — ett saknat eller för-kort huvud kostar poäng och är klassificerat som hög allvarlighetsgrad, för det utsätter direkt dina besökares data på delade nätverk. Det är också en av de billigaste poängen att återvinna: ett enda gratis huvud, ungefär 15 minuters arbete.