Introduktion til HSTS
HSTS står for HTTP Strict-Transport-Security, som er en websikkerhedspolitikmekanisme. HSTS blev første gang inkluderet i ThoughtWorks Technology Radar i 2015, og i det seneste nummer af Technology Radar i 2016 gik det direkte fra "Prøve"-fasen til "Adopt"-fasen, hvilket betyder, at ThoughtWorks stærkt går ind for branchens aktive anvendelse af denne sikkerhedsforanstaltning, og ThoughtWorks har anvendt den på sine egne projekter. Kernen i HSTS er et HTTP-svarheader. Det er den, der lader browseren vide, at det nuværende domænenavn kun er tilgængeligt via HTTPS i den næste periode, og hvis browseren finder ud af, at den nuværende forbindelse ikke er sikker, vil den kraftigt afvise brugerens efterfølgende adgangsanmodninger.
En hjemmeside med en HSTS-politik sikrer, at browseren altid er forbundet til den HTTPS-krypterede version af hjemmesiden, hvilket eliminerer behovet for, at brugerne manuelt skal indtaste den krypterede adresse i URL-adresslinjen, hvilket reducerer risikoen for sessionskapring.
HTTPS (SSL og TLS) sikrer, at brugere og hjemmesider kommunikerer sikkert, hvilket gør det vanskeligt for angribere at opsnappe, ændre og udgive sig for at være det. Når en brugerIndtast manuelt et domænenavn eller http:// link, af hjemmesidenDen første anmodning er ukrypteret, ved brug af almindelig HTTP. De mest sikre hjemmesider sender straks en omdirigering tilbage, der henviser brugeren til en https-forbindelse, dog,En man-in-the-middle-angriber kan angribe for at opsnappe den indledende HTTP-anmodning og dermed kontrollere brugerens efterfølgende svar。
HSTS-principper
HSTS styrer primært browserens operationer ved at sende svarheadere fra serveren: Når en klient foretager en anmodning over HTTPS, inkluderer serveren feltet Strict-Transport-Security i HTTP-svarheaderen, som den returnerer. Efter browseren har modtaget sådanne oplysninger,Enhver anmodning til siden inden for en vis tidsperiode initieres i HTTPSuden at blive omdirigeret til HTTPS af den server, der initieres af HTTP.
HSTS svarheader-format
Parameterbeskrivelse:
max-age (i sekunder): Bruges til at fortælle browseren, at hjemmesiden skal tilgås via HTTPS-protokollen inden for en specificeret tidsperiode. Det vil sige, for HTTP-adressen på dette website skal browseren erstatte den med HTTPS lokalt, før anmodningen kan sendes. includeSubDomains (valgfrit): Hvis denne parameter angives, indikerer den, at alle subdomæner på siden også skal tilgås via HTTPS-protokollen. preload: En liste over domænenavne, der bruger HTTPS, indbygget i browseren.
HSTS Preload Liste
Mens HSTS er en god løsning på HTTPS-nedbrydningsangreb, gælder HSTS for HSTSDen første HTTP-anmodning før den træder i kraft, stadigDet kan ikke undgåsKapret。 For at løse dette problem har browserproducenter foreslået HSTS Preload List-løsningen. (udeladt)
IIS-konfiguration
Før konfigurationen, besøg hjemmesiden som vist nedenfor:
For at implementere dette i IIS7+ skal du blot tilføje CustomHeader-kravet for HSTS i web.config, som er konfigureret som følger:
Efter ændringen kan du besøge hjemmesiden igen, som vist nedenfor:
Nginx-konfiguration
Hvis hjemmesiden bruger nginx reverse proxy, kan du også konfigurere nginx direkte til at implementere det, som følger:
Chrome View-regler
For at se de aktuelle HSTS-regler, brug Google Chrome Chrome til at skrivechrome://net-internals/#hstsInd træder bilen, som vist i figuren nedenfor:
henvisning
HTTP Streng Transportsikkerhed:Hyperlink-login er synlig.
(Slut)
|