Hvad er HSTS?

HSTS er en websikkerhedssvarheader. Navnet er et akronym for "HTTP Strict Transport Security". HSTS-headerens funktion er at tvinge browsere til at oprette forbindelse til websteder ved hjælp af HTTPS.

Tip: HTTPS bruger kryptering til at sikre din internetforbindelse mod hackere, der forsøger at ændre eller overvåge den. HTTP har ikke disse beskyttelser, så en hacker på det rigtige sted kan overvåge og ændre din HTTP-trafik.

En webresponsheader er et stykke metadata sendt af serveren, når den reagerer på webanmodninger. En delmængde af disse overskrifter omtales ofte som sikkerhedsoverskrifter, da deres formål er at øge sikkerheden på webstedet og brugeren.

HSTS-headeren har to obligatoriske dele og to valgfrie. Overskriftsnavnet "Strict-Transport-Security" og derefter "max-age"-operatøren og værdien er begge obligatoriske. Et andet par operatører, "includeSubDomains" og "preload" bruges også nogle gange.

Når browseren modtager et HTTPS-svar med HSTS-headeren, bliver den bedt om at oprette forbindelse til denne hjemmeside og alle ressourcer på den, udelukkende ved brug af HTTPS i varigheden af ​​"max-age"-timeren. "Max-age" er en variabel, der beskriver, hvor længe en indstilling skal huskes af browseren. Værdien af ​​"max-age" er angivet i sekunder, den anbefalede værdi er "31536000", hvilket er et år.

Ideen er, at inden for varigheden af ​​denne timer, som nulstilles med hver efterfølgende sideindlæsning, vil browseren kræve en HTTPS-forbindelse og afvise alle HTTP-ressourcer. Dette beskytter mod person-in-the-middle-angreb, hvor en hacker mellem dig og webserveren kan manipulere de svar, du modtager.

Det vigtigste punkt, hvor dette beskytter dig, er den første forbindelse. Når du opretter forbindelse til et websted, kan du typisk anmode om HTTP-webstedet og derefter blive videresendt til HTTPS-webstedet. Desværre kunne en hacker i en person i midten forhindre denne opgradering til HTTPS og kunne derefter stjæle eller overvåge din aktivitet på webstedet. Når først HSTS-headeren er blevet set af browseren, vil din browser dog oprette selv den første forbindelse over HTTPS, hvilket beskytter dig mod hackere.

HSTS forhindrer også usikre ressourcer i at blive indlæst, som også kan blive ondsindet ændret af en angriber, hvis de blev leveret over HTTP.

Operatøren "includeSubDomains" bruges til at angive, at overskriften også skal gælde for alle underdomæner på webstedet.

HSTS preload listen

Du bemærker måske, at HSTS stadig ikke beskytter dig, første gang du opretter forbindelse til et websted. Det er her "preload"-operatøren kommer ind. Websteder kan indsende sig selv til at blive inkluderet i HSTS preload-listen, "preload"-operatøren er en påkrævet indikator, hvis dette er tilfældet. HSTS preload-listen opdateres regelmæssigt og gemmes i browseren, hvis et websted er inkluderet i det, vil browseren anvende HSTS-beskyttelsen på det. Dette sker selv ved den allerførste forbindelse, før browseren nogensinde kunne have set HSTS-svarets header.

Tip: En "maks-alder" på et år eller mere er påkrævet for at blive tilføjet til HSTS preload-listen.

Problemer med HSTS

Et af hovedpunkterne ved HSTS er, at det viser en fejlmeddelelse, hvis der er problemer med HTTPS-forbindelsen. Som en ekstra sikkerhedsforanstaltning er det ikke meningen, at brugere skal kunne omgå HSTS-fejlmeddelelser, som de ville være i stand til med normale HTTPS-fejl.

Desværre kan dette forårsage problemer, hvis en virksomhed udruller HSTS, før hele webstedet og hver ressource, der bruges på det, understøtter HTTPS. I dette tilfælde vil brugerne begynde at se HSTS-sikkerhedsfejlmeddelelser, som de ikke kan omgå, og i det væsentlige ødelægger webstedet fuldstændigt. Det værste er, at blot at fjerne HSTS-headeren ikke løser problemet for disse brugere, da deres browser vil fortsætte med at håndhæve HSTS i den potentielt måneder lange "maks-alder".

Som sådan er det yderst vigtigt, at en kort "max-age" bruges, når headeren først implementeres. Hvis der er problemer, varer de kun i kort tid, når de først er opdaget. Først når du er sikker på, at din hjemmeside er fuldstændig HSTS-kompatibel, bør du konfigurere en lang HSTS-timer.

Tip: Det er også muligt at indstille en "maks-alder" på 0, dette fjerner i det væsentlige den gemte HSTS-post fra alle, der ser den. Dette kan hjælpe, hvis der er et problem, men det vil kun påvirke brugerne, når og hvis de beslutter sig for at prøve igen.