Content Security Policy (CSP)
Quick Definition
Un en-tête HTTP de sécurité qui aide à prévenir le cross-site scripting (XSS), le clickjacking et autres attaques par injection de code en contrôlant quelles ressources peuvent être chargées.
Qu'est-ce que Content Security Policy ?
Content Security Policy (CSP) est une norme de sécurité implémentée sous forme d'en-tête de réponse HTTP qui permet aux développeurs d'applications web de contrôler quelles ressources (scripts, styles, images, etc.) le navigateur est autorisé à charger pour une page donnée. Elle fournit une défense puissante contre les attaques XSS et autres injections.
Les directives CSP incluent :
- default-src : Fallback pour les autres types de ressources
- script-src : Sources valides pour JavaScript
- style-src : Sources valides pour les feuilles de style
- img-src : Sources valides pour les images
- connect-src : Sources valides pour AJAX, WebSocket, etc.
- frame-src : Sources valides pour les frames et iframes
- report-uri : Où envoyer les rapports de violation
CSP peut fonctionner en mode application (bloquant les violations) ou en mode rapport uniquement (journalisant les violations sans bloquer), facilitant un déploiement progressif.
Exemples
Un en-tête CSP strict :
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; Cette politique autorise uniquement les scripts provenant de la même origine et d'un CDN de confiance, tout en bloquant les scripts inline que les attaquants pourraient injecter.