Introduzione all'HSTS
HSTS sta per HTTP Strict-Transport-Security, che è un meccanismo di politica di sicurezza web. HSTS è stato incluso per la prima volta nel ThoughtWorks Technology Radar nel 2015 e, nell'ultimo numero del Technology Radar, nel 2016, è passato direttamente dalla fase "Trial" a quella "Adotta", il che significa che ThoughtWorks sostiene fortemente l'adozione attiva da parte del settore di questa misura di difesa della sicurezza, e ThoughtWorks l'ha applicata ai propri progetti. Il nucleo di HSTS è un'intestazione di risposta HTTP. È quella che informa il browser che il nome di dominio corrente è accessibile solo tramite HTTPS per il prossimo periodo di tempo e, se il browser scopre che la connessione attuale non è sicura, negerà con forza le successive richieste di accesso dell'utente.
Un sito web con una policy HSTS garantirà che il browser sia sempre collegato alla versione criptata HTTPS del sito, eliminando la necessità per gli utenti di inserire manualmente l'indirizzo criptato nella barra degli indirizzi URL, riducendo il rischio di dirottamento della sessione.
HTTPS (SSL e TLS) garantisce che utenti e siti web comunichino in modo sicuro, rendendo difficile per gli attaccanti intercettare, modificare e impersonare la loro identità. Quando un utenteInserisci manualmente un nome di dominio o un link http://, del sito webLa prima richiesta non è criptata, usando semplice http. I siti più sicuri inviano immediatamente un redirect che indirizza l'utente a una connessione https, tuttavia,Un attaccante man-in-the-middle può attaccare per intercettare la richiesta HTTP iniziale e così controllare la risposta successiva dell'utente。
Principi HSTS
HSTS controlla principalmente le operazioni del browser inviando header di risposta dal server: Quando un client effettua una richiesta su HTTPS, il server include il campo Strict-Transport-Security nell'intestazione di risposta HTTP che restituisce. Dopo che il browser riceve tali informazioni,Qualsiasi richiesta al sito entro un certo periodo di tempo viene avviata in HTTPSsenza essere reindirizzato a HTTPS dal server avviato da HTTP.
Formato dell'intestazione risposta HSTS
Descrizione del parametro:
max-age (in secondi): Utilizzato per indicare al browser che il sito deve essere accessibile tramite il protocollo HTTPS entro un periodo di tempo specificato. Cioè, per l'indirizzo HTTP di questo sito, il browser deve sostituirlo localmente con HTTPS prima di inviare la richiesta. includeSubDomains (opzionale): Se questo parametro è specificato, indica che tutti i sottodomini del sito devono essere accessibili anche tramite il protocollo HTTPS. preload: Un elenco di nomi di dominio che utilizzano HTTPS integrato nel browser.
Elenco di precarico HSTS
Sebbene HSTS sia una buona soluzione agli attacchi di degradazione HTTPS, per HSTSLa prima richiesta HTTP prima che entri in vigore, comunqueNon si può evitareDirottato。 Per risolvere questo problema, i produttori di browser hanno proposto la soluzione HSTS Preload List. (omesso)
Configurazione IIS
Prima della configurazione, visita il sito web come mostrato di seguito:
Per implementare questo in IIS7+, basta aggiungere il requisito CustomHeader per HSTS in web.config, che è configurato come segue:
Dopo la modifica, torna a visitare il sito web, come mostrato di seguito:
Configurazione Nginx
Se il sito utilizza nginx reverse proxy, puoi anche configurare nginx direttamente per implementarlo, come segue:
Regole di visualizzazione di Chrome
Per vedere le regole attuali dell'HSTS, usa Google Chrome Chrome per digitarechrome://net-internals/#hstsEntra in macchina, come mostrato nella figura qui sotto:
riferimento
Sicurezza del trasporto Rigoroso HTTP:Il login del link ipertestuale è visibile.
(Fine)
|