CSP
Le Content Security Policy (CSP) est une norme de sécurité web qui permet aux administrateurs de sites de contrôler les sources à partir desquelles des ressources (comme les scripts, les feuilles de style, ou les images) peuvent être chargées par un navigateur. CSP est conçu pour réduire le risque de diverses attaques, notamment les attaques Cross-Site Scripting ( XSS Le XSS (Cross-Site Scripting) est une faille de sécurité qui permet à un attaquant d'injecter du code malveillant dans une page web, affectant ainsi les utilisateurs en volant des données ou en exécutant des actions non autorisées. ) et l’injection de contenu malveillant.
Le CSP fonctionne en envoyant un en-tête
HTTP
Le HTTP (HyperText Transfer Protocol) est un protocole utilisé pour transférer des données sur le web, permettant la communication entre un navigateur et un serveur pour afficher des pages web.
(ou via un tag
HTML
Le HTML (HyperText Markup Language) est le langage standard utilisé pour structurer et afficher le contenu sur le web. Il définit des éléments comme les titres, paragraphes, liens, images, et autres composants d'une page web.
<meta>
) avec une politique de sécurité définie. Cette politique spécifie les directives sur les ressources autorisées à être chargées et exécutées sur une page, comme :
- default-src : Spécifie les sources par défaut pour les contenus chargés.
- script-src : Contrôle les sources autorisées pour les scripts.
- img-src : Spécifie les sources autorisées pour les images.
- style-src : Définit les sources autorisées pour les styles CSS Le CSS (Cascading Style Sheets) est un langage utilisé pour décrire l'apparence et la mise en page des documents HTML, en définissant des styles comme les couleurs, polices, marges, et positionnements des éléments sur une page web. .
Par exemple, un CSP bien configuré peut interdire l’exécution de scripts en ligne ou empêcher le chargement de scripts provenant de domaines non approuvés, réduisant ainsi les risques d’exploitation de failles.
Le CSP est une mesure importante dans la protection contre les vulnérabilités web, car il limite la capacité des attaquants à exécuter du code malveillant via des vecteurs communs comme les formulaires ou les liens manipulés. Une implémentation correcte peut considérablement renforcer la sécurité des applications web modernes.