technical
Abilitare HSTS
MetricSpot verifica la presenza dell'header Strict-Transport-Security. HSTS obbliga i browser a usare HTTPS a ogni visita, chiudendo la finestra di attacco downgrade lasciata aperta dal semplice HTTPS.
Cosa controlla questo check
Ispeziona gli header della risposta HTTP per Strict-Transport-Security (HSTS). La direttiva dice a ogni browser di rifiutare connessioni in puro HTTP verso il tuo dominio per la durata di max-age.
Perché è importante
Anche con HTTPS attivo, la primissima richiesta di un nuovo visitatore è di solito in chiaro: digita tuodominio.com e il browser prova HTTP. Quella prima richiesta è una finestra per attacchi di downgrade (man-in-the-middle in stile sslstrip su Wi-Fi ostili).
HSTS chiude quella finestra. Una volta che un browser ha visto un header HSTS valido, riscrive automaticamente ogni richiesta successiva in HTTPS per tutto il max-age, ignorando gli URL http:// digitati dall’utente.
Come risolvere
Invia l’header su ogni risposta HTTPS. Un valore sicuro per la produzione:
Strict-Transport-Security: max-age=31536000; includeSubDomains
nginx:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Cloudflare: SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) → attiva, imposta max-age a 12 mesi, abilita Include subdomains.
Una volta certo del setup, aggiungi ; preload e invia il dominio alla lista preload di Chrome. Vedi la pagina HSTS preload per i prerequisiti.
Domande frequenti
Quale max-age dovrei usare?
Inizia con max-age=300 (5 minuti) durante i test, poi sali a 31536000 (un anno). HSTS preload richiede almeno un anno.
HSTS mi taglia fuori se HTTPS si rompe?
Sì: è il senso. Se il tuo certificato scade o la configurazione TLS si rompe, gli utenti che hanno già visitato il sito non possono raggiungerlo via HTTP come fallback. Rinnova i certificati in modo affidabile (Let’s Encrypt + timer systemd) e monitora le scadenze.
E se non controllo i sottodomini?
Togli includeSubDomains. Il check passa lo stesso con il solo max-age, ma perdi la protezione per *.tuodominio.com. Non puoi fare preload senza includeSubDomains.
Fonti
Ultimo aggiornamento 2026-05-11