1. Qu’est-ce que la Content Security Policy (CSP) ?
La Content Security Policy (CSP) est un en-tête de réponse HTTP certifié par le W3C permettant aux administrateurs de définir les sources autorisées à charger et exécuter du contenu.
En encadrant l’origine des scripts, feuilles de style et requêtes réseau, la CSP est l’outil le plus puissant contre les attaques Cross-Site Scripting (XSS).
2. Décomposition des Directives Clés
| DIRECTIVE | CONTRÔLE | VALEUR PAR DÉFAUT RECOMMANDÉE |
|---|---|---|
| default-src | Repli pour toutes les directives de chargement non définies | 'self' |
| script-src | Sources permises pour l’exécution de JavaScript | 'self' 'nonce-...' |
| style-src | Origines admises pour les feuilles de style | 'self' 'unsafe-inline' |
| connect-src | Destinations autorisées pour Fetch, XHR et WebSocket | 'self' https://api.domain.com |
| frame-ancestors | Domaines autorisés à intégrer la page dans une <iframe> | 'none' |
3. Politiques Basées sur les Nonces vs Hashs
Les politiques anciennes basées sur les domaines autorisés étaient fragiles face aux redirections sur CDN. La sécurité moderne repose désormais sur des nonces uniques.
La norme Strict CSP (Niveau 3) impose des nonces cryptographiques générés à chaque requête :
4. Frame Ancestors vs X-Frame-Options
Bien que X-Frame-Options: DENY reste supporté, la directive frame-ancestors de CSP s’impose comme la norme moderne pour prévenir le détournement de clics (clickjacking).