Introduktion till HSTS
HSTS står för HTTP Strict-Transport-Security, vilket är en webbsäkerhetspolicymekanism. HSTS inkluderades först i ThoughtWorks Technology Radar 2015, och i det senaste numret av Technology Radar 2016 gick det direkt från "Prövningsfasen" till "Adoptera"-fasen, vilket innebär att ThoughtWorks starkt förespråkar att branschen aktivt ska införa denna säkerhetsförsvarsåtgärd, och ThoughtWorks har tillämpat den på sina egna projekt. Kärnan i HSTS är en HTTP-svarsheader. Det är den som låter webbläsaren veta att det aktuella domännamnet endast är tillgängligt via HTTPS under nästa period, och om webbläsaren upptäcker att den nuvarande anslutningen inte är säker, kommer den att tvinga användarens efterföljande åtkomstförfrågningar att avslå.
En webbplats med en HSTS-policy säkerställer att webbläsaren alltid är ansluten till den HTTPS-krypterade versionen av webbplatsen, vilket eliminerar behovet av att användare manuellt måste ange den krypterade adressen i URL-adressfältet och minskar risken för sessionskapning.
HTTPS (SSL och TLS) säkerställer att användare och webbplatser kommunicerar säkert, vilket gör det svårt för angripare att avlyssna, ändra och utge sig för att vara där. När en användareAnge manuellt ett domännamn eller http:// länk, på webbplatsenDen första förfrågan är okrypterad, med vanlig HTTP. De säkraste webbplatserna skickar dock omedelbart tillbaka en omdirigering som leder användaren till en https-anslutning, dock,En man-in-the-middle-angripare kan attackera för att avlyssna den initiala HTTP-förfrågan och därmed kontrollera användarens efterföljande svar。
HSTS-principer
HSTS styr främst webbläsaroperationer genom att skicka svarshuvuden från servern: När en klient gör en förfrågan över HTTPS inkluderar servern fältet Strict-Transport-Security i HTTP-svarshuvudet som returneras. Efter att webbläsaren mottagit sådan information,Alla förfrågningar till sajten inom en viss tidsperiod initieras i HTTPSutan att omdirigeras till HTTPS av servern som initieras av HTTP.
HSTS svarshuvudformat
Parameterbeskrivning:
max-age (i sekunder): Används för att tala om för webbläsaren att webbplatsen måste nås via HTTPS-protokollet inom en angiven tidsperiod. Det vill säga, för HTTP-adressen på denna webbplats måste webbläsaren ersätta den med HTTPS lokalt innan begäran skickas. includeSubDomains (valfritt): Om denna parameter anges indikerar den att alla subdomäner på webbplatsen också måste nås via HTTPS-protokollet. förladdning: En lista över domännamn som använder HTTPS inbyggd i webbläsaren.
HSTS Preload-lista
Även om HSTS är en bra lösning mot HTTPS-nedbrytningsattacker, gäller HSTS för HSTSDen första HTTP-förfrågan innan den träder i kraft, fortfarandeDet går inte att undvikaKapade。 För att lösa detta problem har webbläsartillverkare föreslagit HSTS Preload List-lösning. (utelämnat)
IIS-konfiguration
Innan konfigurationen, besök webbplatsen enligt nedan:
För att implementera detta i IIS7+, lägg helt enkelt till CustomHeader-kravet för HSTS i web.config, som är konfigurerat enligt följande:
Efter ändringen, besök webbplatsen igen, som visas nedan:
Nginx-konfiguration
Om webbplatsen använder nginx reverse proxy kan du också konfigurera nginx direkt för att implementera det, enligt följande:
Regler för Chrome View
För att se de aktuella HSTS-reglerna, använd Google Chrome Chrome för att skrivachrome://net-internals/#hstsKör bilen in, som visas i figuren nedan:
hänvisning
HTTP Strikt Transportsäkerhet:Inloggningen med hyperlänken är synlig.
(Slut)
|