Verifica delle intestazioni di sicurezza

Basta inserire l'indirizzo di un sito per esaminare lo stato delle principali intestazioni di sicurezza: HSTS, la politica di sicurezza dei contenuti, X-Frame-Options e le altre. Elenca le intestazioni mancanti e le impostazioni troppo permissive, con indicazioni su come migliorarle.

Diagnosticare le intestazioni di sicurezza di un sito in produzione

Inserite un indirizzo e il server si reca su quel sito, ne recupera le intestazioni di risposta e giudica come siano configurate HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy e Permissions-Policy. Separa ciò che manca da ciò che è presente ma debole, e spiega in ciascun caso dove starebbe il problema.

Ciò che conviene tenere a mente è che un'intestazione presente e un'intestazione efficace sono due cose distinte. HSTS può benissimo esserci e tuttavia un max-age breve lascia una finestra troppo esigua entro cui il browser impone l'HTTPS, sicché la protezione reale resta sottile. Ecco perché questo strumento distingue la promozione dall'avvertimento. L'altro punto è che le intestazioni che tornano non sono state necessariamente aggiunte dal server d'origine. Una CDN o un proxy inverso possono inserirle per via, e allora cambia anche il luogo in cui correggere la configurazione. Ciò che la diagnosi mostra è lo stato visibile dall'esterno; quale strato l'abbia prodotto non può dirlo.

Come si usa

  1. Inserite l'indirizzo da esaminare Indicate un indirizzo pubblicamente raggiungibile che cominci con https://.
  2. Eseguite il controllo Le destinazioni irraggiungibili dall'esterno, come gli indirizzi IP privati, vengono respinte per prudenza.
  3. Leggete i giudizi Vengono in tre gradi — promosso, avvertimento e respinto — dove l'avvertimento significa presente ma debole.
  4. Servitevi delle note per correggere Ogni voce porta una spiegazione del difetto, il che vi consente di stabilire le priorità.

Consigli per sfruttarlo al meglio

  • Poiché l'indirizzo indicato è recuperato dal nostro servente, lo strumento non incontra le restrizioni sulla condivisione fra origini diverse e può esaminare le intestazioni di qualunque sito.
  • Un valore alto di max-age in HSTS è in linea di principio più sicuro, ma se prevedete di rivedere la gestione dei certificati provate prima con un valore breve e passate poi alla produzione.
  • Usandolo insieme allo strumento affine, il verificatore della politica di sicurezza dei contenuti, potrete controllarne in dettaglio anche la sintassi.
  • Adottando lo stesso meccanismo del verificatore del file robots.txt, cioè il recupero dal lato del servente a partire da un indirizzo, lo strumento può esaminare qualunque pagina pubblica che non richieda autenticazione.
  • Prendete l'abitudine di esaminare periodicamente il vostro sito: una modifica alla rete di distribuzione dei contenuti o al servente intermediario inverso può far sparire senza preavviso le intestazioni di sicurezza.

Quando torna utile

Per l'ultima verifica prima della pubblicazione

Poco prima del lancio potete accertare dall'esterno che le intestazioni previste tornino davvero.

Per prendere esempio da altri siti

Vedere fin dove si siano spinti siti simili vi dà un metro per il vostro livello.

Per confrontare prima e dopo una modifica

Ripetete il controllo una volta aggiunta un'intestazione per accertare che abbia fatto effetto.

Per ispezionare un sito ereditato

Si presta all'inventario che segue un passaggio di consegne, dandovi l'elenco di ciò che manca.

Termini delle intestazioni di sicurezza

HSTS
Un'intestazione che costringe l'accesso a passare per HTTPS anziché per HTTP. A meno che max-age non raggiunga un anno o più, la protezione non dura abbastanza.
X-Content-Type-Options
Porre nosniff impedisce al browser di indovinare un tipo MIME dal contenuto, il che evita che un file venga eseguito per ciò che non è.
X-Frame-Options
Un'intestazione che rifiuta di lasciare incorporare il vostro sito in un riquadro. Nelle politiche più recenti il frame-ancestors della CSP assume lo stesso ruolo.
Content-Security-Policy
Il meccanismo che restringe la provenienza delle risorse caricabili. È il perno della difesa contro l'XSS.
Referrer-Policy
Un'intestazione che decide quanta parte dell'indirizzo di provenienza venga consegnata quando un visitatore passa a un altro sito.
Permissions-Policy
Un'intestazione che governa quali origini possano usare funzioni come la fotocamera, il microfono e la posizione.

Domande frequenti

Sul piano delle funzioni l'esame è simile, ma questo verificatore presenta esiti e motivazioni nella lingua di chi legge. Il controllo dettagliato della sintassi della politica di sicurezza dei contenuti è affidato allo strumento affine dedicato.

Si può usare, ma poiché HSTS ha senso soltanto sulle connessioni in HTTPS, per un sito in solo HTTP quella voce risulterà sempre non superata. Date la precedenza al passaggio dell'intero sito a HTTPS.

Oggi si raccomanda la direttiva frame-ancestors della politica di sicurezza dei contenuti, ma poiché esistono ancora navigatori datati che non la riconoscono, nella pratica si indicano entrambe come doppia protezione.

No. La richiesta all'indirizzo indicato avviene una volta sola, sul momento, e le intestazioni ottenute non sono conservate sui nostri serventi.

Non necessariamente. In particolare la politica dei permessi è uno strato di difesa aggiuntivo, non obbligatorio, e secondo la natura del sito può avere una priorità bassa. Conviene cominciare dalle voci di maggiore impatto: HSTS, la politica di sicurezza dei contenuti e la protezione dal dirottamento del clic.
Tool-kun

A proposito — la storia delle difese contro il dirottamento del clic

L'esame delle configurazioni di sicurezza tramite le intestazioni delle risposte HTTP ha da anni uno standard di fatto in un noto servizio in rete sviluppato dal ricercatore Scott Helme. I servizi stranieri, però, spiegano esiti e motivazioni soltanto in inglese: toolbase.cc offre in alternativa un verificatore proprio, che presenta risultati e ragioni nella lingua di chi legge.

L'intestazione HSTS, cioè la sicurezza rigorosa del trasporto, fu standardizzata nel 2012 dall'ente che cura gli standard di Internet con la norma RFC 6797. All'origine sta un attacco dimostrato nel 2009, in cui si sfruttava il fatto che un utente, digitando l'indirizzo senza il prefisso sicuro, si collegasse una prima volta in HTTP: in quell'istante l'aggressore riscriveva la comunicazione. HSTS fa memorizzare al navigatore che quel dominio va sempre raggiunto in HTTPS, prevenendo i declassamenti dalle visite successive.

L'intestazione X-Frame-Options fu introdotta nel 2009 da Microsoft come estensione propria per la versione 8 del proprio navigatore e in seguito adottata dagli altri, divenendo uno standard di fatto. Il problema di allora era il dirottamento del clic: si sovrapponeva una cornice trasparente al pulsante autentico e si induceva l'utente a premerlo a sua insaputa. Oggi si tende a passare alla più flessibile direttiva frame-ancestors della politica di sicurezza dei contenuti, ma si raccomanda tuttora di indicarle entrambe, come cautela verso i navigatori datati.