Qu’est-ce qu’une politique de sécurité du contenu (CSP), et comment puis-je l’utiliser avec Cloudflare ?

Qu’est-ce qu’une politique de sécurité du contenu ?

La politique de sécurité du contenu (CSP) est une norme web qui octroie aux développeurs web un contrôle supplémentaire sur les emplacements à partir desquels un navigateur client est autorisé à télécharger des ressources ou sur les autres sites qui sont autorisés à interagir avec le site du développeur. Par exemple, un développeur pourrait spécifier que n’importe quel type de contenu peut être chargé de manière sûre depuis son propre site, que des images peuvent être chargées à partir de n’importe quel domaine et que les bibliothèques et scripts JavaScript ne peuvent être chargés que depuis un domaine tiers de confiance vérifié séparé avec cette exemple de politique :

default-src 'self'; img-src *; script-src https://userscripts.example.com

Pourquoi devrais utiliser une Politique de sécurité du contenu ?

Une politique correctement configurée vous procure à vous et à vos utilisateurs une sécurité supplémentaire contre certaines attaques. De manière générale, cela peut être utilisé pour prévenir et/ou atténuer les attaques qui impliquent l’injection de code ou de contenu, comme les attaques anti-script de site à site (cross-site scripting) ou XSS, les attaques qui nécessitent l’incorporation d’une ressource malveillante, des attaques qui impliquent l’utilisation malveillante d’iframes, telles que des attaques de clickjacking et autres. Plus généralement, cela vous permet de contrôler d’où le contenu affiché par les clients qui visitent votre site peut être chargé.

Comment puis-je écrire une Politique de sécurité du contenu ?

Des exemples d’utilisation et de politique sont accessibles à l’adresse suivante : https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_Content_Security_Policy

http://w3c.github.io/webappsec-csp/ and https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directivespropose des descriptions plus complètes de directives et d’utilisation, ainsi que des considérations sur l’implémentation et des informations sur le support client.

https://developer.chrome.com/extensions/contentSecurityPolicy et https://developer.chrome.com/apps/contentSecurityPolicy offrent une documentation spécifique à Chrome mais sont plus ciblés sur le développement d’extensions ou d’applications.

https://msdn.microsoft.com/en-us/library/dn904195%28v=vs.85%29.aspx offre une documentation limitée pour Edge.

 

Puis-je utiliser une CSP ? Si oui, comment ?

Oui, vous pouvez utiliser une CSP avec des sites derrière Cloudflare. Nous ne modifions pas l’en-tête de CSP envoyé par votre origine.

Aucun changement n’est nécessaire pour le ressources acceptables pour votre propre contenu ou le contenu appartenant à des tiers. Utiliser Cloudflare n’affecte ou ne modifie pas les URLs que vous utilisez pour intégrer votre contenu. Par conséquent, le client pourra toujours faire correspondre les lieux spécifiés dans votre police avec les lieux utilisés pour intégrer les ressources.

Voici un exemple d’en-tête CSP pour une utilisation avec Rocket Loader 

script-src 'self' ajax.cloudflare.com ;

Voici un exemple d’en-tête CSP pour une utilisation avec Mirage

script-src 'self' ajax.cloudflare.com ;

Si vous utilisez les applications Cloudflare ou Scrape Shield, vous aurez besoin d’autoriser les scripts insérés (inline) dans votre politique, car nous insérons des scripts dans votre domaine et ajoutons du code inséré lorsque vous activez ces fonctionnalités. Voici un exemple de CSP que vous pouvez utilisez :

script-src 'self' 'unsafe-inline'

Vous n'avez toujours pas trouvé ce que vous cherchez ?

95% des questions peuvent être répondues en utilisant l'outil de recherche. C'est le moyen le plus rapide d'obtenir une réponse.

Réalisé par Zendesk