Guida e risoluzione dei problemi
Header di sicurezza
Di cosa si tratta
Una manciata di header di risposta HTTP istruisce i browser ad abilitare protezioni: HSTS (forza l'HTTPS), CSP (limita il caricamento delle risorse), X-Frame-Options (blocca il framing), X-Content-Type-Options (blocca lo sniffing MIME), Referrer-Policy e Permissions-Policy.
Come leggere il risultato
Ogni header viene riportato come presente o mancante insieme a ciò da cui protegge. Gli header mancanti sono opportunità, non guasti, ma sono tra le vittorie di sicurezza più economiche disponibili.
Problemi comuni e come risolverli
La maggior parte o tutti gli header di sicurezza mancanti
Come si manifesta: Nulla si rompe visibilmente, ma il sito è inutilmente esposto a clickjacking, confusione MIME e fuga di referrer; gli scanner lo valutano male.
Come risolverlo: Aggiungili a livello di server web o CDN. Punti di partenza sicuri per quasi ogni sito: X-Frame-Options: DENY (o SAMEORIGIN), X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, più l'HSTS.
L'aggiunta di una Content-Security-Policy rigorosa ha rotto il sito
Come si manifesta: Script, stili o immagini smettono di caricarsi; la console si riempie di errori di violazione CSP.
Come risolverlo: Distribuisci la CSP prima in modalità report-only (Content-Security-Policy-Report-Only) e rendila più stringente iterativamente in base ai report di violazione, poi passa all'enforcement una volta che è pulita.
Header impostati nell'app ma rimossi in produzione
Come si manifesta: I test locali mostrano gli header; il sito live ne è privo.
Come risolverlo: Un livello proxy/CDN davanti li sta sovrascrivendo o eliminando. Imposta gli header nel livello più esterno che termina la connessione (di solito la CDN), oppure configuralo per far passare gli header dell'origine.