Vai al contenuto

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.

🔒 Funziona interamente nel tuo browsercspheaderswebgenerator
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

  1. 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.

  2. 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.

  3. 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

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.

Usa il nostro server

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.

Usa il nostro server

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.

Usa il nostro server

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.

In locale, con un aiuto facoltativo dal server

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.

In locale, con un aiuto facoltativo dal server

Codificatore e decodificatore Base64

Base64 Encoder & Decoder

Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.

Funziona interamente nel tuo browser