CSP
CSP (Content Security Policy) déclare, via un en-tête HTTP, quelles origines de ressources une page peut charger, réduisant la surface d'attaque du XSS et de l'injection de données.
Objectif
Se défend contre le XSS et l'injection de contenu en mettant en liste blanche les origines depuis lesquelles une page peut charger des ressources.
Mécanisme
L'en-tête Content-Security-Policy déclare des directives : default-src fixe la source par défaut, script-src les sources de scripts, style-src celles de styles, etc. Un nonce ou un hachage autorise les scripts inline, et report-uri signale les violations. Le CSP strict utilise nonce plus strict-dynamic.
Cas d’usage
- Atténuation du XSS
- Restriction des scripts tiers
- Contrôle des scripts inline
- Signalement des violations
Exemples
- entrée
script-src 'self' 'nonce-abc'OutputOnly same-origin and nonce-tagged scripts are allowedWhitelisting
Erreurs courantes
- An overly strict CSP breaks page functionality
- Observe first with Report-Only mode
Termes associés
CORS
CORS (Cross-Origin Resource Sharing) est un mécanisme de sécurité du navigateur qui utilise des en-têtes HTTP pour contrôler si une page peut accéder à des ressources d'une autre origine, empêchant les lectures intersites. GLOSSAIRE
XSS
XSS (cross-site scripting) est l'attaque où l'attaquant injecte des scripts malveillants dans une page qui s'exécutent dans le navigateur d'autres utilisateurs ; il existe sous formes stockée, réfléchie et basée DOM. GLOSSAIRE
Security Header
Les en-têtes HTTP de sécurité sont des en-têtes de réponse qui ordonnent au navigateur d'activer des mécanismes de sécurité, comme CSP, HSTS et X-Frame-Options. GLOSSAIRE
Content Security Policy
Content Security Policy (CSP) déclare, via un en-tête HTTP, une liste blanche de sources depuis lesquelles une page peut charger des ressources ; c'est le mécanisme central de défense contre le XSS et l'injection de contenu. GLOSSAIRE