Content Security Policy (CSP) : bien la configurer
La CSP est une protection essentielle des applications web : en définissant des règles strictes sur les ressources qu'un navigateur peut charger, elle limite de nombreux vecteurs d'attaque. Encore faut-il la configurer correctement.
Qu'est-ce qu'une Content Security Policy ?
Une Content Security Policy (CSP) est une protection complémentaire qui aide à détecter et à limiter certaines attaques côté client : Cross-Site Scripting (XSS), clickjacking, injection de contenu. Elle se configure au niveau du serveur : l'administrateur définit les règles que le navigateur doit respecter au chargement d'une page, par exemple quelles sources sont autorisées pour les scripts, les images ou les autres ressources.
Elle se met en place via un en-tête Content-Security-Policy dans les réponses du serveur (méthode recommandée) ou, plus rarement, via une balise dans les pages. C'est une brique naturelle d'une démarche de sécurité applicative et de sécurité des sites web.
Les erreurs de configuration les plus fréquentes
Autoriser le script « inline »
La directive unsafe-inline autorise l'exécution de scripts insérés directement dans la page : elle vide la CSP d'une grande part de son intérêt face au XSS.
Tolérer l'évaluation dynamique
La directive unsafe-eval autorise l'évaluation de code à la volée, élargissant la surface d'attaque exploitable par un script injecté.
Utiliser un joker (*)
Un caractère générique dans script-src autorise des sources trop larges : l'attaquant peut alors charger ses propres scripts depuis un domaine accepté.
Oublier des directives clés
L'absence de default-src ou d'object-src, ou un point d'accès JSONP autorisé, laissent des angles morts qui permettent de contourner la politique.
Une CSP mal réglée donne une fausse sécurité
Le piège est là : une CSP présente mais mal configurée procure un sentiment de protection trompeur. Tant qu'elle autorise le script inline, des sources trop larges ou des points d'accès détournables, elle peut être contournée, et l'application reste vulnérable au XSS, l'une des portes d'entrée classiques vers le vol de compte. La CSP est un renfort précieux, jamais un substitut à un code sûr.
Tester l'efficacité réelle de la politique
Une CSP ne se déclare pas « bonne » sur le papier : elle se teste. Il s'agit de vérifier, directive par directive, qu'elle bloque effectivement le chargement et l'exécution de ressources non prévues, et qu'aucun contournement n'est possible (inline, eval, joker, point d'accès JSONP, contournement via téléversement de fichier). Ce contrôle s'intègre naturellement à un test d'intrusion applicatif.
Renforcer une CSP, étape par étape
Définir un socle restrictif
Partir d'une politique fermée (default-src strict) puis n'ouvrir que le strict nécessaire, plutôt que l'inverse.
Bannir inline et eval
Éviter unsafe-inline et unsafe-eval ; recourir à des nonces ou des empreintes (hash) pour les scripts légitimes.
Préciser chaque source
Lister explicitement les domaines autorisés, sans joker, et couvrir les directives clés (script-src, object-src…).
Activer le reporting
Commencer en mode rapport pour observer les blocages potentiels avant d'appliquer la politique en production.
Tester les contournements
Confronter la politique aux techniques connues de bypass pour valider son efficacité réelle, via un pentest.
Maintenir dans la durée
Réviser la CSP à chaque évolution du site et lors des audits de sécurité périodiques.
Pourquoi se faire accompagner par BCIT ?
Une politique sur mesure
Nous calibrons la CSP selon vos usages réels, pour une protection forte sans casser le fonctionnement du site.
Une efficacité vérifiée
Nous testons les contournements possibles pour confirmer que la politique protège réellement.
Une vision globale
La CSP s'intègre à une démarche complète de sécurité applicative que nous pilotons avec vous.
Pas encore prêt à échanger ? Découvrez notre diagnostic cybersécurité →
Votre CSP protège-t-elle vraiment ?
Prenons 15 minutes pour examiner votre Content Security Policy et identifier les ajustements qui la rendront réellement efficace.
Content Security Policy (CSP) : bien la configurer
La CSP est une protection essentielle des applications web : en définissant des règles strictes sur les ressources qu'un navigateur peut charger, elle limite de nombreux vecteurs d'attaque. Encore faut-il la configurer correctement.
Qu'est-ce qu'une Content Security Policy ?
Une Content Security Policy (CSP) est une protection complémentaire qui aide à détecter et à limiter certaines attaques côté client : Cross-Site Scripting (XSS), clickjacking, injection de contenu. Elle se configure au niveau du serveur : l'administrateur définit les règles que le navigateur doit respecter au chargement d'une page, par exemple quelles sources sont autorisées pour les scripts, les images ou les autres ressources.
Elle se met en place via un en-tête Content-Security-Policy dans les réponses du serveur (méthode recommandée) ou, plus rarement, via une balise <meta> dans les pages. C'est une brique naturelle d'une démarche de sécurité applicative et de sécurité des sites web.
Les erreurs de configuration les plus fréquentes
Autoriser le script « inline »
La directive unsafe-inline autorise l'exécution de scripts insérés directement dans la page : elle vide la CSP d'une grande part de son intérêt face au XSS.
Tolérer l'évaluation dynamique
La directive unsafe-eval autorise l'évaluation de code à la volée, élargissant la surface d'attaque exploitable par un script injecté.
Utiliser un joker (*)
Un caractère générique dans script-src autorise des sources trop larges : l'attaquant peut alors charger ses propres scripts depuis un domaine accepté.
Oublier des directives clés
L'absence de default-src ou d'object-src, ou un point d'accès JSONP autorisé, laissent des angles morts qui permettent de contourner la politique.
Une CSP mal réglée donne une fausse sécurité
Le piège est là : une CSP présente mais mal configurée procure un sentiment de protection trompeur. Tant qu'elle autorise le script inline, des sources trop larges ou des points d'accès détournables, elle peut être contournée, et l'application reste vulnérable au XSS, l'une des portes d'entrée classiques vers le vol de compte. La CSP est un renfort précieux, jamais un substitut à un code sûr.
Tester l'efficacité réelle de la politique
Une CSP ne se déclare pas « bonne » sur le papier : elle se teste. Il s'agit de vérifier, directive par directive, qu'elle bloque effectivement le chargement et l'exécution de ressources non prévues, et qu'aucun contournement n'est possible (inline, eval, joker, point d'accès JSONP, contournement via téléversement de fichier). Ce contrôle s'intègre naturellement à un test d'intrusion applicatif.
Renforcer une CSP, étape par étape
Définir un socle restrictif
Partir d'une politique fermée (default-src strict) puis n'ouvrir que le strict nécessaire, plutôt que l'inverse.
Bannir inline et eval
Éviter unsafe-inline et unsafe-eval ; recourir à des nonces ou des empreintes (hash) pour les scripts légitimes.
Préciser chaque source
Lister explicitement les domaines autorisés, sans joker, et couvrir les directives clés (script-src, object-src…).
Activer le reporting
Commencer en mode rapport pour observer les blocages potentiels avant d'appliquer la politique en production.
Tester les contournements
Confronter la politique aux techniques connues de bypass pour valider son efficacité réelle, via un pentest.
Maintenir dans la durée
Réviser la CSP à chaque évolution du site et lors des audits de sécurité périodiques.
Pourquoi se faire accompagner par BCIT ?
Une politique sur mesure
Nous calibrons la CSP selon vos usages réels, pour une protection forte sans casser le fonctionnement du site.
Une efficacité vérifiée
Nous testons les contournements possibles pour confirmer que la politique protège réellement.
Une vision globale
La CSP s'intègre à une démarche complète de sécurité applicative que nous pilotons avec vous.
Pas encore prêt à échanger ? Découvrez notre diagnostic cybersécurité →
Votre CSP protège-t-elle vraiment ?
Prenons 15 minutes pour examiner votre Content Security Policy et identifier les ajustements qui la rendront réellement efficace.