HTTP Strict Transport Security (HSTS) spiegato
HTTP Strict Transport Security (HSTS) è un header di risposta che indica ai browser di connettersi al tuo sito esclusivamente tramite HTTPS. Una volta visto, il browser rifiuta le connessioni HTTP in chiaro verso il tuo dominio per tutta la durata della policy.
Che cos'è
HSTS viene fornito tramite l'header Strict-Transport-Security, ad es. max-age=31536000; includeSubDomains; preload. max-age indica per quanto tempo (in secondi) il browser ricorda la regola.
Dopo la prima visita HTTPS, il browser aggiorna automaticamente ogni richiesta futura a HTTPS: l'utente non può finire per sbaglio sulla versione non sicura e un malintenzionato non può declassare la connessione a HTTP.
Perché è importante
Senza HSTS, la prima richiesta di un utente (digitando yourdomain.com) viaggia tramite HTTP in chiaro e può essere intercettata prima ancora che avvenga il tuo redirect a HTTPS: il classico attacco di SSL stripping.
Una policy HSTS debole indebolisce la protezione: un max-age breve riduce la finestra di applicazione e omettere includeSubDomains lascia ogni sottodominio esposto al downgrade.
Come risolverlo
Usa un max-age lungo (un anno), copri i sottodomini e attiva il preloading.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadAggiungi includeSubDomains e preload solo dopo che ogni sottodominio serve HTTPS valido, altrimenti puoi bloccare l'accesso ai sottodomini non ancora pronti.
Quando il tuo header include 'preload', registra il tuo dominio su hstspreload.org così che i browser impongano HTTPS fin dalla primissima visita.
FAQ
Quale max-age dovrei usare?
Almeno 15552000 (6 mesi); 31536000 (1 anno) è la raccomandazione comune ed è richiesto per la lista di preload.
HSTS può bloccarmi fuori dal mio stesso sito?
Solo se in seguito devi servire tramite HTTP o hai un sottodominio senza HTTPS. Testa a fondo prima di abilitare includeSubDomains o preload.
La tua app è interessata?
AppSafe controlla questo e decine di altri problemi in un'unica scansione gratuita.
Scansiona la mia app gratisGuide correlate
Perché il tuo sito ha bisogno di un redirect HTTP→HTTPS
Non lasciare aperta la porta non sicura.
Content-Security-Policy (CSP): cos'è e come aggiungerla
L'header che impedisce l'esecuzione degli script iniettati.
I flag dei cookie Secure, HttpOnly e SameSite
Tre flag che impediscono il furto dei cookie di sessione.