Politique de sécurité du contenu
Silktide vérifie que chaque page déclare une politique de sécurité du contenu (Content Security Policy, CSP), une mesure de sécurité standard qui indique aux navigateurs quelles sources de scripts, d’images et d’autres contenus la page est autorisée à utiliser.
Une CSP est fournie sous forme d’ ou de balise meta, par exemple:
Content-Security-Policy: default-src 'self'; script-src 'self' scripts.example.com
Cet exemple indique au navigateur de ne charger du contenu que depuis votre propre domaine, ainsi que des scripts provenant d’un hôte de confiance.
Pourquoi c’est important
Sans CSP, une page exécute tout ce qu’on lui fournit. Si un attaquant parvient à injecter un script — via une balise tierce compromise, un champ de commentaires vulnérable ou un réseau publicitaire détourné — le navigateur l’exécute avec un accès complet à la page, y compris à tout ce que vos visiteurs saisissent. Cette classe d’attaques, le cross-site scripting (XSS), demeure l’un des moyens les plus courants par lesquels les sites Web sont compromis.
Une CSP est le filet de sécurité côté navigateur: le contenu injecté provenant d’une source non approuvée ne se charge tout simplement pas. Elle documente aussi avec quels tiers vos pages communiquent, ce qui aide à démontrer la conformité avec les lois sur la vie privée comme le .
Comment corriger
- Dressez la liste des sources légitimes à partir desquelles vos pages chargent du contenu: votre propre domaine, votre , l’analytique, les polices et les médias intégrés.
- Rédigez une politique n’autorisant que ces sources. Commencez de façon stricte, par exemple
default-src 'self', puis ajoutez des sources spécifiques par type de contenu (script-src,img-src,style-src) au besoin. - Configurez votre serveur Web, votre plateforme d’hébergement ou votre CDN pour envoyer la politique dans l’en-tête
Content-Security-Policysur chaque page. Si vous ne pouvez pas modifier les en-têtes, une balise<meta http-equiv="Content-Security-Policy">dans l’élément head de la page fonctionne aussi, même si l’en-tête est préférable. - Testez avant d’appliquer: envoyez d’abord la politique en
Content-Security-Policy-Report-Only, et surveillez la console du navigateur pour repérer le contenu qui aurait été bloqué. Notez que cette vérification recherche l’en-tête appliqué; une politique en mode rapport uniquement ne la valide pas.
Comment Silktide teste cela
- Charger chaque page et recueillir ses en-têtes HTTP ainsi que toute balise
http-equivdans la page, que les navigateurs traitent de la même manière. - Chercher une valeur
Content-Security-Policyà l’un ou l’autre endroit. - Signaler la page si aucun des deux n’est présent ou si la valeur est vide.
- Silktide n’évalue pas la qualité de la politique — seulement le fait qu’elle existe.
Dépannage
J’ai configuré une politique, mais la vérification échoue toujours
Confirmez que l’en-tête apparaît sur les pages exactes analysées — les politiques sont parfois configurées seulement pour la page d’accueil ou un hôte virtuel. Vous pouvez voir les en-têtes qu’une page renvoie dans les outils de développement de votre navigateur, sous l’onglet Réseau.
Une CSP peut-elle casser mon site Web?
Une politique trop stricte peut bloquer vos propres scripts ou styles. C’est pourquoi tester d’abord avec Content-Security-Policy-Report-Only est fortement recommandé — cela signale les violations sans rien bloquer.