Introduksjon til HSTS
HSTS står for HTTP Strict-Transport-Security, som er en websikkerhetspolicymekanisme. HSTS ble først inkludert i ThoughtWorks Technology Radar i 2015, og i det siste nummeret av Technology Radar i 2016 gikk det direkte fra «Prøve»-fasen til «Adopt»-fasen, noe som betyr at ThoughtWorks sterkt går inn for bransjens aktive innføring av dette sikkerhetsforsvarstiltaket, og ThoughtWorks har anvendt det i sine egne prosjekter. Kjernen i HSTS er en HTTP-responsheader. Det er den som informerer nettleseren om at det nåværende domenenavnet kun er tilgjengelig via HTTPS i neste periode, og hvis nettleseren oppdager at den nåværende tilkoblingen ikke er sikker, vil den kraftig nekte brukerens påfølgende tilgangsforespørsler.
Et nettsted med en HSTS-policy vil sikre at nettleseren alltid er koblet til den HTTPS-krypterte versjonen av nettstedet, noe som eliminerer behovet for at brukere manuelt må skrive inn den krypterte adressen i URL-adresslinjen, noe som reduserer risikoen for sesjonskapring.
HTTPS (SSL og TLS) sikrer at brukere og nettsteder kommuniserer sikkert, noe som gjør det vanskelig for angripere å avlytte, endre og utgi seg for å være det. Når en brukerSkriv inn et domenenavn eller http:// lenke manuelt, på nettsidenDen første forespørselen er ukryptert, ved bruk av vanlig HTTP. De mest sikre nettstedene sender umiddelbart tilbake en omdirigering som leder brukeren til en https-tilkobling, menEn man-in-the-middle-angriper kan angripe for å avskjære den første HTTP-forespørselen og dermed kontrollere brukerens påfølgende svar。
HSTS-prinsipper
HSTS styrer hovedsakelig nettleseroperasjoner ved å sende svarheadere fra serveren: Når en klient sender en forespørsel over HTTPS, inkluderer serveren Strict-Transport-Security-feltet i HTTP-svarheaderen den returnerer. Etter at nettleseren mottar slik informasjon,Enhver forespørsel til nettstedet innen en viss tidsperiode initieres i HTTPSuten å bli omdirigert til HTTPS av serveren som initieres av HTTP.
HSTS responshodeformat
Parameterbeskrivelse:
max-age (i sekunder): Brukes for å fortelle nettleseren at nettstedet må nås via HTTPS-protokollen innen en spesifisert tidsperiode. Det vil si, for HTTP-adressen til dette nettstedet må nettleseren erstatte den med HTTPS lokalt før forespørselen sendes. includeSubDomains (valgfritt): Hvis denne parameteren er spesifisert, indikerer den at alle subdomener på nettstedet også må nås via HTTPS-protokollen. forhåndsinnlasting: En liste over domenenavn som bruker HTTPS innebygd i nettleseren.
HSTS Preload-liste
Selv om HSTS er en god løsning for HTTPS-degraderingsangrep, gjelder HSTSDen første HTTP-forespørselen før den trer i kraft, fortsattDet kan ikke unngåsKapret。 For å løse dette problemet har nettleserprodusenter foreslått HSTS Preload List-løsningen. (utelatt)
IIS-konfigurasjon
Før konfigurasjonen, besøk nettsiden som vist nedenfor:
For å implementere dette i IIS7+, legg bare til CustomHeader-kravet for HSTS i web.config, som er konfigurert som følger:
Etter endringen, besøk nettsiden igjen, som vist nedenfor:
Nginx-konfigurasjon
Hvis nettstedet bruker nginx reverse proxy, kan du også konfigurere nginx direkte for å implementere det, som følger:
Chrome View-regler
For å se gjeldende HSTS-regler, bruk Google Chrome Chrome til å skrivechrome://net-internals/#hstsKjør inn bilen, som vist i figuren nedenfor:
referanse
HTTP streng transportsikkerhet:Innloggingen med hyperkoblingen er synlig.
(Slutt)
|