Cosa analizziamo?
Le intestazioni di sicurezza (Security Headers) sono direttive che il server invia al browser per istruirlo su come comportarsi in termini di sicurezza. Sono la prima linea di difesa contro molti attacchi lato client.
Intestazioni critiche verificate
Strict-Transport-Security (HSTS)
Forza il browser a utilizzare sempre HTTPS, prevenendo attacchi Man-in-the-Middle e Downgrade.
Content-Security-Policy (CSP)
L'intestazione più potente. Controlla quali risorse il browser può caricare, prevenendo XSS (Cross-Site Scripting).
X-Frame-Options
Impedisce che il tuo sito venga caricato in un iframe su altri siti, bloccando attacchi di Clickjacking.
X-Content-Type-Options
Impedisce al browser di indovinare (sniff) il tipo MIME dei file, evitando esecuzioni non autorizzate.
Referrer-Policy
Controlla quante informazioni di riferimento vengono inviate quando un utente clicca su un link esterno.
Permissions-Policy
Gestisce l'accesso alle funzionalità potenti del browser (geolocalizzazione, fotocamera, microfono).
Rischi dell'assenza
Senza queste intestazioni, lasci che sia il browser a decidere le politiche di sicurezza predefinite, che spesso sono permissive per garantire la compatibilità, ma non sicure.
Vettori di attacco abilitati
- XSS (Cross-Site Scripting): Furto di sessione ed esecuzione di codice.
- Clickjacking: Ingannare l'utente facendogli cliccare su elementi invisibili.
- Sniffing MIME: Esecuzione di file non sicuri travestiti da immagini.
- Man-in-the-Middle: Intercettazione del traffico non crittografato.
Conformità e Best Practices
L'uso di intestazioni di sicurezza è raccomandato da OWASP e richiesto per implementare i principi di Data Protection by Design e by Default previsti dal GDPR.