Creazione di una policy CSP
CSP Builder
Costruisce una Content-Security-Policy da un modulo guidato o da un rapporto di violazione, e spiega ogni direttiva.
Content-Security-Policy è l’intestazione che trasforma un difetto di cross-site scripting da compromissione a messaggio bloccato nella console, ed è anche l’intestazione più spesso distribuita in una forma che non fa nulla. Questo strumento ne costruisce una direttiva per direttiva e spiega che cosa ciascuna sta davvero impedendo.
Carica una policy esistente
Il ripiego per ogni direttiva di fetch che non imposti esplicitamente.
Da dove possono essere caricati gli script. È la direttiva che ferma davvero l’XSS.
Da dove possono essere caricati i fogli di stile.
Da dove possono essere caricate le immagini.
Da dove possono essere caricati i caratteri.
Dove possono connettersi fetch, XHR, WebSocket ed EventSource.
Da dove possono essere caricati <audio> e <video>.
Da dove possono essere caricati <object>/<embed>. Di solito conviene 'none'.
Da dove possono essere caricati i documenti di <iframe>.
Chi può mettere questa pagina in un frame: il sostituto moderno di X-Frame-Options.
Che cosa può valere <base href>. Limitalo a 'self' o 'none'.
Dove possono essere inviati i moduli.
Da dove possono essere caricati Worker, SharedWorker e service worker.
Da dove può essere caricato il manifest dell’app web.
Riscrive in https:// le richieste di sottorisorse http://.
Blocca del tutto qualsiasi sottorisorsa http:// (retaggio).
- ⚠ Niente frame-ancestors: aggiungila (per esempio 'none' o 'self') per decidere chi può mettere la pagina in un frame.
- ⚠ Niente base-uri: aggiungi base-uri 'self' per fermare l’iniezione di un tag <base>.
Content-Security-Policy
default-src 'self'; script-src 'self'Come si usa
Partire dal modulo oppure da un rapporto
Il modulo guidato chiede da dove arrivano script, stili, immagini e connessioni. Se si hanno già rapporti di violazione, li si incolla e le sorgenti vengono ricavate da ciò che si è davvero caricato.
Distribuirla prima in modalità di solo rapporto
`Content-Security-Policy-Report-Only` registra le violazioni senza bloccare. Basta tenerla attiva una settimana e i rapporti nomineranno quel contenuto incorporato di terze parti che nessuno ricordava.
Togliere `unsafe-inline` per ultimo, e per bene
Una policy con `script-src 'unsafe-inline'` non blocca quasi nulla. Va sostituito con un nonce per ogni risposta oppure con gli hash dei blocchi in linea: lo strumento genera entrambe le forme.
Domande frequenti
Lo strumento mette alla prova il mio sito?
No. Compone e spiega una policy a partire da ciò che gli si dice. Controllare che cosa invia oggi un sito attivo è il compito dell’analisi delle intestazioni di sicurezza.
Perché la mia policy continua a consentire gli script in linea?
Un nonce o un hash in `script-src` viene ignorato quando nella stessa direttiva è presente anche `unsafe-inline`, per compatibilità all’indietro. Non si possono tenere entrambi: vince il ripiego.
`default-src 'self'` da solo basta?
È una buona base, ma diverse direttive non ripiegano su di essa: fra queste `frame-ancestors`, `form-action` e `base-uri`. Quelle vanno impostate esplicitamente, e questo strumento le imposta.
Può ricevere da
Hash di integrità delle risorse (SRI)
Subresource Integrity Hash
Calcola l’attributo Subresource Integrity (sha256, sha384 o sha512) per uno script o un foglio di stile che incolli o trascini qui.
Verifica CORS
CORS Tester
Invia la preflight che manderebbe un browser da un’origine scelta più una GET con quell’Origin, e spiega secondo le regole dello standard Fetch quale intestazione ha bloccato la richiesta.
Analisi delle intestazioni di sicurezza
Security Header Scan
Dà un voto alle intestazioni HSTS, CSP, di frame, di referrer e di permessi di un sito e mostra che cosa aggiungere.
Generatore di password
Password Generator
Genera password casuali con regole di lunghezza, insieme di caratteri ed esclusione dei caratteri ambigui, anche a blocchi.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Verifica CORS
CORS Tester
Invia la preflight che manderebbe un browser da un’origine scelta più una GET con quell’Origin, e spiega secondo le regole dello standard Fetch quale intestazione ha bloccato la richiesta.
Ispettore di intestazioni HTTP
HTTP Header Inspector
Richiede un URL e mostra tutte le intestazioni di risposta, la catena di redirect, i tempi e la compressione usata.
Analisi delle intestazioni di sicurezza
Security Header Scan
Dà un voto alle intestazioni HSTS, CSP, di frame, di referrer e di permessi di un sito e mostra che cosa aggiungere.
Hash di integrità delle risorse (SRI)
Subresource Integrity Hash
Calcola l’attributo Subresource Integrity (sha256, sha384 o sha512) per uno script o un foglio di stile che incolli o trascini qui.
Controllo di un link sospetto
Suspicious URL Check
Esamina la forma di un link prima che tu lo apra — caratteri sosia, host scritti come indirizzo IP, trucchi con la @, sottodomini profondi, porte insolite, servizi di accorciamento — e su richiesta ne segue i redirect e cerca la data di registrazione del dominio. Nessuna banca dati di reputazione.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.