Intestazioni di sicurezza HTTP
Definizione breve
Le intestazioni di sicurezza HTTP sono piccole istruzioni del server al browser che prevengono tipi specifici di attacco.
Quando una pagina viene caricata, il server invia insieme al contenuto una serie di intestazioni invisibili. Le intestazioni di sicurezza HTTP sono il sottoinsieme che dice al browser cosa non permettere su quella pagina.
Content-Security-Policy blocca l'esecuzione di script dannosi, Strict-Transport-Security impedisce di ricadere su una connessione non cifrata, X-Frame-Options impedisce che il sito venga incorporato di nascosto in un'altra pagina. Ogni intestazione blocca un tipo diverso di attacco.
Un certificato SSL cifra i dati, ma senza queste intestazioni altre porte restano aperte tramite il comportamento del browser, le due cose si completano a vicenda, nessuna sostituisce l'altra.
Si può verificare quali intestazioni di sicurezza invia davvero una pagina senza toccare il codice, aprendo gli strumenti per sviluppatori del browser, passando alla scheda Rete ed esaminando le intestazioni di risposta di una qualsiasi richiesta. È un modo di controllo rapido e senza competenze tecniche avanzate, se una determinata intestazione non compare mai lì, significa semplicemente che non è mai stata impostata sul server.
Perché conta
La mancanza di intestazioni di sicurezza dà agli attaccanti margine per iniettare codice o impersonare il sito, e questo di solito passa inosservato per mesi. Intestazioni configurate correttamente chiudono queste porte senza costi aggiuntivi per il server.
Esempio illustrativo
Un fornitore di servizi di pagamento ha scoperto durante un controllo di sicurezza che l'intestazione Content-Security-Policy non era mai stata impostata, aggiungerla è costato un'ora e ha cambiato completamente l'esito del controllo.
