Defaults.Exposed › Rettelser › HSTS (Strict-Transport-Security)
Sådan retter du HSTS (Strict-Transport-Security)
HSTS er en ét-linjes instruktion din hjemmeside giver enhver browser: 'kom altid tilbage til mig over den sikre, krypterede forbindelse — aldrig den usikre.' Uden det kan din lås stille strippes væk på delt WiFi, og det allerførste besøg på din side er eksponeret.
Det korte svar for din virksomhed: At have HTTPS (låsen) er ikke det samme som at håndhæve det. Uden HSTS kan en angriber på det samme WiFi som din kunde stille nedgradere forbindelsen til ren, ukrypteret HTTP — og opsnappe logins, kortoplysninger og formulardata, mens kunden intet mærker. Dit SSL-certifikat, som du måske betaler for, omgås. Fikset er gratis og tager cirka 15 minutter for den der kører din side.
Hvad dette kan koste dig
- Kunder på café-, hotel-, lufthavn- eller konference-WiFi kan få deres forbindelse til din side stille nedgraderet og deres data læst — uden nogen advarsel på deres skærm.
- Du betalte for HTTPS og har låsen, men uden HSTS kan angribere simpelthen route udenom den; certifikatet giver en falsk tryghedsfornemmelse.
- Det allerførste besøg på din side (inden nogen omdirigering til HTTPS) er det svage punkt angribere rammer — HSTS er det der lukker det for ethvert tilbagevendende besøg.
- Et sikkerhedsspørgeskema, cyber-forsikringsformular eller enterprise-købers tjekliste flagger 'ingen HSTS' og staller aftalen til det er fikset.
- Sæt værdien forkert (for kort) og du får det værste af begge verdener: det ser konfigureret ud, men giver næsten ingen reel beskyttelse.
Hvorfor det betyder noget. HTTPS beskytter en forbindelse, når den er krypteret — men det tvinger ikke browsere til at bruge den. Angribere udnytter det hul med 'SSL stripping': på ethvert delt netværk holder de stille den besøgende på usikker HTTP, og læser alt. HSTS siger til browseren om at nægte ren HTTP for dit domæne fuldstændigt, i lang tid, så hullet lukkes efter det første besøg. Det er et enkelt svar-header, gratis at tilføje, og på vores scoring er det en reel point-bidragsyder, fordi en manglende eller for-kort værdi efterlader enhver besøgende på offentligt WiFi eksponeret.
Hvad dette er på klart dansk
Du har næsten helt sikkert HTTPS — den lille lås i browserbaren. Godt. Men her er den del næsten ingen fortæller dig: at have HTTPS er ikke det samme som at håndhæve det.
HTTPS krypterer en forbindelse når browseren beslutter sig for at bruge den. HSTS — forkortelse for HTTP Strict Transport Security — er instruktionen der siger til browseren, at den altid skal bruge den. Det er en enkelt, usynlig linje din hjemmeside sender til enhver besøgende der i bund og grund siger:
“Fra nu af, for mit domæne, tal kun med mig over den sikre forbindelse. Aldrig den usikre. Forsøg ikke engang.”
Browseren husker det og adlyder det i så lang tid du siger — typisk et år. Efter en besøgendes første sikre besøg vil deres browser simpelthen nægte at indlæse din side over ren, ukrypteret HTTP, selv om noget prøver at tvinge det.
Uden HSTS eksisterer den “brug altid den sikre version”-regel ikke — og angribere ved præcis, hvordan de udnytter hullet.
Hvad dette kan koste dig
-
Café-checkoutten. En kunde åbner din butik på café-WiFi og går til checkout. En angriber på det samme netværk kører et gratis, velkendt værktøj der holder kunden på ren HTTP i stedet for HTTPS. Kunden ser, hvad der ligner din normale side — ingen advarsel, ingen defekt lås — og taster sine kortoplysninger. Angriberen læser hvert tast. Dit SSL-certifikat var til ingen nytte, fordi forbindelsen aldrig fik lov til at blive sikker.
-
Den rejsende medarbejder. En medarbejder logger ind på dit admin-panel eller webmail fra et hotel eller lufthavn. Det samme nedgraderingstrick opsnappe deres brugernavn og adgangskode. Nu har angriberen en vej ind i din virksomhed — ikke fordi din adgangskodepolitik var svag, men fordi login-siden var tilgængelig over usikker HTTP.
-
Aftalen der staller. En større kunde sender dig deres standard-sikkerhedsspørgeskema inden underskrift. En linje spørger: “Håndhæver din hjemmeside HTTPS via HSTS?” Din IT-kontakt er nødt til at svare “nej,” og indkøbsprocessen pauser, mens du scrambler for at fikse en gratis, 15-minutters indstilling der nu ser ud som et rødt flag foran en køber.
-
Cyber-forsikringen eller compliance-tjekket. En forsikrers scanning, eller en revisor der gennemgår din databeskyttelsesposition, flagger det manglende header. Kryptering af persondata er en eksplicit forventning under databeskyttelsesregler (GDPR artikel 32), og “vi har et certifikat men håndhæver det ikke” er et svagt sted at stå.
-
Den falske tryghedsfornemmelse. Du betaler for SSL, låsen vises, og alle antager, at siden er sikker. Den er det mestendels — til en kunde er på et delt netværk, hvilket er præcis, når de er mest sårbare.
Tråden: omkostningen er ikke abstrakt. Det er en reel kundes kort eller login, opsnappet på det værst tænkelige tidspunkt, uden at nogen alarm ringer.
Hvad det faktisk er
Når en browser beder din hjemmeside om en side, sender din server siden tilbage plus nogle usynlige “headers” — ekstra instruktioner browseren læser, men den besøgende aldrig ser. HSTS er en af disse headers:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Tre dele tæller:
max-age— hvor lang tid (i sekunder) browseren skal huske at tvinge HTTPS.31536000er ét år. Dette er kernen af det: for kort, og det hjælper næppe.includeSubDomains— udvid reglen til hvert subdomæne (shop.,app.,mail.og så videre), ikke kun din primære adresse.preload— opt dit domæne ind i en masterliste bygget ind i browsere, så beskyttelse gælder selv på en besøgendes allerførste request.
Hvad “godt” ser ud som — og hvordan det scores
Vores tjek læser dit live-header og karakteriserer max-age:
| max-age-værdi | Hvad det betyder | Resultat |
|---|---|---|
| 1 år eller mere (≥ 31536000) | Udmærket — den anbefalede indstilling | Fulde point |
| 6 måneder eller mere (≥ 15768000) | Godt, men ikke det fulde år | Delvist |
| 1 dag eller mere (≥ 86400) | Svagt — for kort til at være pålideligt | Lavt / delvist |
| Under 1 dag, eller intet header | Praktisk talt ingen beskyttelse | Fejl (høj alvorlighed) |
Sådan fikser du det (gratis, ~15 minutter)
Overrækk dette afsnit til den der kører din hjemmeside — din IT-person, webudvikler eller hostingsupport. Fikset er gratis. Det er ét enkelt header, eller en toggle i din hostingplatform. Der er intet at købe.
Én vigtig rækkefølgeregel først: HSTS er klæbrig — når det er aktiveret, vil browsere nægte ren HTTP for dit domæne i hele max-age. Så bekræft, at HTTPS fungerer korrekt på din primære side og alle subdomæner inden du aktiverer det bredt. Den sikre vej: test med en kort værdi → bekræft at intet bryder → hæv til ét år.
Trin 1 — Sørg for at HTTPS allerede fungerer overalt
Besøg din side og vigtige subdomæner over https:// og bekræft, at de indlæser rent med et gyldigt certifikat. Bekræft også, at http://-requests omdirigeres til https://.
Trin 2 — Tilføj headeret (vælg din platform)
Cloudflare (eller lignende CDN): Gå til SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) og aktivér det. Sæt Max-Age til 6 måneder eller 12 måneder.
Nginx: tilføj inde i din HTTPS server-blok:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Apache: sørg for at mod_headers er aktiveret, tilføj derefter til din HTTPS-virtual host:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Microsoft IIS: tilføj til web.config inde i <customHeaders>:
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
Trin 3 — Test lille, forpligt derefter
Start med max-age=300 (5 minutter). Bekræft, at siden stadig indlæser perfekt overalt. Hæv derefter til max-age=31536000 (ét år). Det er fuld-points-indstillingen.
Trin 4 (valgfrit, guldstandard) — preload
Når du er sikker og har kørt et et-årig header med includeSubDomains i et stykke tid, kan du indsende dit domæne på hstspreload.org for at blive bagt ind i browsere.
Almindelige fejl
- At sætte
max-agefor kort. En værdi på et par minutter eller timer ser konfigureret ud, men giver næsten ingen beskyttelse — og vores tjek behandler noget under én dag som et fejl. - At slå
includeSubDomainstil inden subdomæner er HTTPS-klar. Er et subdomæne ikke fuldt på HTTPS, kan den klæbrige regel gøre det utilgængeligt for besøgende. - At tilføje HSTS men ikke have en HTTP-til-HTTPS-omdirigering. HSTS antager, at besøgende når den sikre version; uden omdirigeringen er det første besøg unødigt eksponeret.
- At hoppe direkte til
preloadfor at “være grundig.” Preload er svær at fortryde. Optjen det gradvist efter et stabilt et-årig header — hast det ikke. - At antage, at låsen betyder, at du er dækket. Låsen og HSTS er forskellige ting.
FAQ
Vi har allerede HTTPS og låsen vises. Er det ikke nok?
Nej — og dette er den enkeltstående mest almindelige misforståelse. Låsen betyder, at en forbindelse KAN krypteres; den tvinger ikke browsere til at bruge den krypterede version. Uden HSTS kan en angriber på det samme netværk holde en besøgende på ren HTTP (kaldet SSL stripping) og læse alt de taster, mens kunden ser en normalt-udseende side. HSTS er instruktionen der gør 'kun krypteret' obligatorisk. HTTPS uden HSTS er en låst dør der ikke er rigtig smækket.
Er det dyrt eller risikabelt at aktivere?
Selve fikset er gratis — det er én linje i din webserver eller en toggle i dit CDN — og tager cirka 15 minutter. Den ene reelle forsigtighed: HSTS er klæbrig. Når en browser ser det, vil den nægte ren HTTP for dit domæne i så lang tid, du har specificeret. Så du skal være sikker på, at HTTPS virker på din primære side OG hvert subdomæne inden du aktiverer det bredt. Start med en kort testværdi, bekræft at intet bryder, hæv derefter til et år. Gjort i den rækkefølge er risikoen ubetydelig.
Hvad ser 'godt' faktisk ud som?
En max-age på mindst ét år (31536000 sekunder). Vores tjek giver fulde point ved et år eller mere, delvise point ved seks måneder, svage/delvise ved én dag, og behandler noget under én dag som praktisk talt fraværende. Den stærkeste opsætning tilføjer også includeSubDomains (dækker shop.ditdomæne.com, app.ditdomæne.com osv.) og preload (bager beskyttelse ind i browsere, så selv det allerførste besøg er sikkert).
Hvad er 'preload', og har vi brug for det?
HSTS beskytter kun en besøgende EFTER deres browser har set headeret mindst én gang — så en ny besøgendes allerførste request er stadig et lille eksponeringsvindue. HSTS preload-listen, der er bygget ind i Chrome, Firefox, Safari og Edge, lukker det vindue ved at sende dit domæne til browsere på forhånd. Det er valgfrit og en lidt større forpligtelse (fjernelse er langsom), men det er guldstandarden. For de fleste små virksomheder er en et-årig max-age med includeSubDomains allerede et stærkt, sikkert resultat; preload er det ekstra trin, når du er færdig.
Vi er på Squarespace / Wix / Shopify — behøver vi overhovedet at gøre noget?
De fleste fuldt-hostede site builders (Squarespace, Wix, Shopify og lignende) håndhæver HTTPS og sætter ofte HSTS for dig automatisk — så du har muligvis allerede bestået uden at gøre noget. Undtagelsen er, når du bruger et brugerdefineret domæne eller CDN foran din side; så kan indstillingen falde igennem. Kør tjekket: består det, er du færdig. Flagger det, er fikset togglen i din platforms SSL/sikkerhedsindstillinger, eller én linje ved dit CDN.
Sænker det vores karakter, hvis vi ikke fikser det?
Ja. HSTS er et scoret web-sikkerhedscheck, ikke informativt — et manglende eller for-kort header koster point og er rated høj alvorlighed, fordi det direkte eksponerer dine besøgendes data på delte netværk. Det er også et af de billigste point at hente tilbage: et enkelt gratis header, cirka 15 minutters arbejde.