Content Security Policy (CSP): la cintura di sicurezza del tuo sito (anche se non lo aggiorni da anni)
Da quanto tempo non aggiorni davvero il sito? La CSP riduce XSS, clickjacking e rischi su form e dati. Checklist rapida in 2 minuti per capire se sei esposto.
Se hai un sito aziendale, uno studio professionale o un e-commerce, c'è una domanda semplice che vale più di mille check tecnici:
Da quanto tempo non rifai (o non aggiorni davvero) il sito?
Non parlo di cambiare un testo o una foto. Parlo di aggiornamenti strutturali: codice, plugin/librerie, configurazioni server, moduli, tracciamenti, integrazioni.
- 0-12 mesi Ottimo: sei in una zona “gestibile” (servono comunque controlli periodici).
- 12-36 mesi Probabile accumulo di componenti vecchie e dipendenze esterne non controllate.
- 36+ mesi È molto facile che il sito abbia “porte aperte” senza che tu lo sappia.
Oggi gli attacchi ai siti non colpiscono solo “i grandi”. Colpiscono tutti, perché sono automatizzati.
Il problema (in parole semplici): il browser oggi si fida troppo
Un sito moderno carica tante risorse: script, font, widget, mappe, analytics, tag marketing, plugin, librerie esterne. Se qualcosa viene alterato (una falla in un form, un plugin vulnerabile, una libreria esterna compromessa), il browser spesso esegue comunque ciò che trova nella pagina.
La Content Security Policy (CSP) è l'istruzione che il tuo sito invia al browser per dirgli: “Carica ed esegui solo ciò che proviene da fonti autorizzate. Il resto, bloccalo.”
Che tipo di danni evita (quelli che poi paghi tu)
1) XSS: codice malevolo dentro le pagine
Un attaccante può “iniettare” JavaScript attraverso un punto debole (commenti, form contatto, ricerca, plugin). Quel codice può rubare sessioni, reindirizzare a phishing, alterare contenuti o intercettare ciò che l'utente digita.
La CSP può bloccare l'esecuzione di script non autorizzati.
2) Clickjacking: il tuo sito usato come trappola
Il tuo sito può essere caricato dentro un altro sito (iframe) con overlay ingannevoli. Con le giuste direttive (es. frame-ancestors) puoi impedire che venga incorporato altrove.
Riduci il rischio di click su elementi “mascherati”.
3) Risorse esterne compromesse (supply-chain)
Anche senza toccare il tuo codice, un aggressore può sfruttare risorse esterne (widget, librerie, script). La CSP limita in modo chiaro da quali domini è consentito caricare contenuti.
Meno dipendenze “aperte” = meno superficie d'attacco.
4) Contenuti misti e rischi “in rete”
Se il sito è in HTTPS ma carica ancora qualcosa in HTTP, su reti non sicure è più facile intercettare e alterare risorse. Alcune direttive possono forzare il caricamento in HTTPS.
Protezione aggiuntiva contro manomissioni “in transito”.
Cosa rischi davvero: reputazione, clienti, GDPR
Reputazione e fiducia
Se un cliente vede reindirizzamenti strani, contenuti alterati o avvisi di sicurezza, non pensa “è stato hackerato”: pensa “non è affidabile”.
Responsabilità GDPR (se hai un form, tratti dati)
Se raccogli dati personali (nome, email, telefono), devi adottare misure adeguate di sicurezza. Un form compromesso può inviare i dati anche a terzi, con conseguenze operative e legali.
Checklist veloce (2 minuti): sei “a rischio aggiornamento”?
Segna mentalmente SÌ/NO. Se hai 2 o più NO, conviene fare una mini-revisione: spesso si risolve con interventi mirati, senza “rifare tutto”.
-
Aggiornamenti recenti
Il sito è stato rifatto o aggiornato “davvero” negli ultimi 12 mesi?
-
Form e raccolta dati
Usi form contatti / preventivo / candidatura / iscrizione newsletter?
-
Dipendenze esterne
Carichi script o widget esterni (analytics, mappe, chat, tag, font, prenotazioni, social)?
-
Backup
Hai un backup automatico e sai ripristinarlo (testato almeno una volta)?
-
Accessi
Ci sono utenti admin vecchi/condivisi o password non cambiate da anni? Hai 2FA dove possibile?
-
Header di sicurezza
Hai configurazioni di base (tra cui CSP) per ridurre XSS e clickjacking?
Come si implementa (concetto)
La CSP si configura di solito come header HTTP lato server (Apache/Nginx). La parte importante non è “mettere una riga”, ma adattarla alle risorse reali del sito: una CSP fatta male può bloccare funzioni, una fatta bene protegge senza rompere nulla.
Esempio (semplificato):
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self';
Vuoi un parere rapido sul tuo sito?
Rispondi a questa email con: 1) URL del sito e 2) da quanto tempo non lo aggiorni davvero (0-12 / 12-36 / 36+ mesi). Ti risponderò indicando le 2 priorità più importanti per ridurre rischi e problemi.
Nota: spesso bastano interventi mirati (aggiornamenti, hardening, accessi, dipendenze esterne) senza rifare il sito da zero.
Massimo Terminiello
Aggiornato il 09/04/2026