Passer au contenu
  • Produitsflèche vers le bas

Comprendre la politique de sécurité du contenu du site Web en 2024

La sécurité est importante. Cela est particulièrement vrai aujourd’hui, dans un monde de plus en plus numérisé. Dans ce contexte, la sécurité va désormais au-delà de la défense physique contre différents types d’attaques.

Cela inclut également la protection des données sur Internet et la mise en place d’une défense contre les codes malveillants ou autres attaques par injection de code.

Cet article se concentre sur une mesure de sécurité, la politique de sécurité du contenu.

La politique de sécurité du contenu est principalement conçue pour le côté client des applications Web. La mesure de sécurité offre une protection significative aux navigateurs modernes contre les contenus malveillants.

Continuez à lire pour en savoir plus sur cette fonctionnalité de sécurité et comment la configurer.

Quelle est la politique de sécurité du contenu du site Web ?

Une politique de sécurité du contenu (CSP) est une norme de sécurité. Il offre une sécurité aux sites Web et aux applications contre diverses attaques telles que le cross-site scripting (XSS). CSP est un en-tête de réponse HTTP qui améliore la sécurité des pages Web sur les principaux navigateurs modernes. 

L'en-tête de la politique de sécurité du contenu fonctionne en limitant les sources de contenu (comme les scripts et les images) qu'une page Web peut charger et à partir de laquelle elle peut être chargée. 

Matériau

Si vous implémentez l'en-tête de réponse HTTP Content Security Policy (CSP) sur un navigateur qui ne le prend pas en charge, celui-ci l'ignore. De plus, il applique par défaut la politique d'origine identique (une autre forme de protection contre les codes malveillants). Cependant, le navigateur reste compatible avec un serveur prenant en charge la CSP, et inversement.

Notez que CSP est une couche de sécurité supplémentaire contre différents types de vulnérabilités. Le mot-clé ici est « supplémentaire ». En d’autres termes, vous devez toujours protéger votre page Web à l’aide d’autres mesures de sécurité. 

Il convient également de préciser que le CSP n'empêche pas votre page web d'être attaquée. Il détecte efficacement ces attaques et réduit considérablement le risque d'exploitation. 

Importance de la politique de sécurité du contenu du site Web

L'en-tête de politique de sécurité du contenu (CSP) vous permet de contrôler les sources de contenu que votre site peut charger. La mise en œuvre de la CSP est possible sur tout type de site web, qu'il s'agisse d'un site e-commerce ou d'un blog. 

Cela aide à :

Atténuer les attaques XSS

Nous avons déjà mentionné que CSP pourrait aider à atténuer les attaques XSS. Mais de quoi s’agit-il exactement et comment le CSP peut-il vous aider ? 

XSS est une vulnérabilité qui permet aux attaquants d'envoyer du code malveillant dans des pages Web. La vulnérabilité XSS sur votre site Web ouvre la porte à des attaques telles que le vol de données et la dégradation de sites. Près de 65 % des sites Web sont exposés aux vulnérabilités XSS.

CSP protège contre les attaques XSS en limitant les scripts en ligne. Cela empêche également votre page Web de charger des scripts distants, c'est-à-dire des scripts provenant de serveurs arbitraires.

CSP protège également votre site Web contre les attaques XSS en contrôlant la soumission des formulaires HTML. Ainsi, même si les visiteurs partagent les détails de leur carte de crédit pour acheter un produit ou remplissent des certificats d'adhésion LLC en ligne, leurs données restent protégées. Fondamentalement, CSP restreint la destination des données de ces formulaires. De plus, CSP restreint la balise d'objet HTML.

CSP atténue également les attaques XSS en permettant aux administrateurs de serveur de spécifier les noms de domaine que le navigateur doit considérer comme sources valides de scripts exécutables.

En fin de compte, grâce au CSP, les attaquants ne peuvent pas injecter de scripts malveillants.

Empêcher le détournement de clics

Bien que CSP ait été initialement introduit pour atténuer la surface d’attaque des attaques XSS, il a également été développé pour offrir une protection contre les attaques d’applications Web telles que le détournement de clics.

Dans le détournement de clic, l'attaquant incite un utilisateur à cliquer sur un bouton ou un lien sur une page Web déguisé en autre chose. 

À moins de faire appel à des sociétés spécialisées dans la protection contre l'usurpation d'identité, vous risquez d'être victime de détournement de clic. Vous ne vous en rendrez compte qu'une fois les dégâts importants causés, comme des transferts d'argent frauduleux ou des achats en ligne illégaux. 

Dans le passé, l’en-tête X-frame-options était utilisé pour lutter contre le détournement de clics. Une nouvelle version de CSP, CSP niveau 2, a été développée pour effectuer le même travail. Cependant, vous pouvez toujours utiliser l’ancienne option pour vous protéger.

CSP niveau 2 contient un anti-clickjacking cadre-ancêtres directif. Les cadre-ancêtres La directive spécifie l'URL de la page parent autorisée à intégrer une page Web dans un cadre, un iFrame ou un objet sur la ressource actuelle. 

En résumé, vous limitez les pages qui peuvent intégrer la page actuelle dans un cadre. Voici un exemple d'utilisation : cadre-ancêtres la directive est :

politique de sécurité du contenu : ancêtres du cadre 'self' '\*.internxt.com' ;      

Vous pouvez également utiliser la cadre-ancêtres avec la directive default-src et les directives script-src pour réduire les attaques de détournement de clic.

Quelles autres attaques le CSP prévient-il ?

L’une des façons dont vous êtes victime d’attaquants consiste à utiliser des protocoles non sécurisés. Vous pouvez configurer l'en-tête de la stratégie de sécurité du contenu pour appliquer le protocole HTTPS. Ajoutez simplement le préfixe https:// à n’importe quelle URL de votre liste blanche. Vous pouvez également appliquer HTTPS en utilisant la directive CSP « block-all-mixed ». 

Les autres vulnérabilités que vous pouvez résoudre avec CSP incluent :

  1. Code Javascript dynamique utilisant eval()
  2. Javascript en ligne non attribué dans tags
  3. CSS dynamique utilisant CSSStylesheet.insertRule()
  4. Instructions CSS en ligne non attribuées dans tags

Comment configurer une politique de sécurité du contenu

La mise en place de CSP est une étape essentielle dans la protection de votre application web. Vous pouvez mettre en place une défense CSP pour votre site Web de trois manières.

En-tête de politique de sécurité du contenu

Cette méthode implique l’envoi de l’en-tête de réponse HTTP content-security-policy depuis le serveur Web. Par exemple;

Politique de sécurité du contenu : …

Assurez-vous de configurer l'en-tête dans toutes les réponses HTTP.

Balises méta Contenu-Sécurité-Politique 

Si vous ne pouvez pas utiliser l'en-tête de réponse HTTP CSP, vous pouvez tout de même configurer la CSP pour votre site web à l'aide de l'élément meta « HTTP-equiv » dans le fichier HTML. Voici à quoi ressemble une ligne de balise meta CSP :

Cette méthode présente des limitations quant aux fonctionnalités CSP utilisables. Par exemple, la protection contre le framing et le point de terminaison de journalisation des violations CSP ne sont pas disponibles.

En-tête Content-Security-Policy-Report-Only 

Cet en-tête demande au navigateur d'imprimer les rapports de violation du CSP et de les transmettre à un point de terminaison de violation à l'aide des directives « report-to » et « report-uri ». Par exemple;

content-security-policy-report-only: script-src 'self'; 

rapport à csp-reporting-endpoint 

La principale différence entre cet en-tête et l'en-tête de réponse HTTP CSP standard réside dans le fait que le premier n'applique pas la politique. Cependant, les navigateurs autorisent les sites à utiliser à la fois l'en-tête « content-security-policy » et l'en-tête « content-security-policy-report-only ».

Détails de mise en œuvre

Vous devez déterminer les directives à inclure dans votre politique de sécurité. Les directives sont des règles qui régissent les types de contenu auxquels accèdent les navigateurs web des utilisateurs, tels que les images, les fichiers de script et les feuilles de style.

Cette étape intervient avant de rédiger le contenu de votre site Web et d’assurer la visibilité de votre site. Ces deux dernières choses sont assez faciles à faire, même pour les débutants qui lancent un site. L'un des plus courants cas d'utilisation de l'IA générative est la création de contenu. Il vous suffit donc d’insérer les bonnes invites et l’IA créera le contenu de qualité que vous recherchez. 

Grâce aux nombreuses ressources et outils de référencement gratuits disponibles, vous pouvez également effectuer vous-même tout le travail de référencement pour augmenter la visibilité de votre site, même s'il est toujours préférable de tirer parti des services d'un cabinet manufacturier, juridique ou Agence de référencement SaaS avec une vaste expérience et expertise pour les meilleurs résultats. 

En revanche, créer des règles spécifiques pour chaque domaine et sous-domaine de votre site Web est bien plus difficile pour un débutant. Vous commencez par découvrir les règles et les problèmes disponibles. Vous choisissez ensuite ce qui doit être inclus sur votre liste et prenez les mesures appropriées (si autorisé) ou non (si interdit). C'est pourquoi certains préfèrent embaucher des développeurs pour ce travail.

Mais si vous êtes prêt à relever le défi, examinons de plus près les directives CSP que nous avons mentionnées dans les sections précédentes pour vous aider à gérer cet aspect de votre site :

Récupérer les directives 

Vous incluez des directives fetch dans le champ d'en-tête de votre réponse pour spécifier les emplacements auxquels votre navigateur peut faire confiance et à partir desquels charger les types de ressources. La plupart des directives de récupération reviennent à default-src. Cela signifie que si une directive fetch n'est pas répertoriée dans le champ d'en-tête de réponse, les valeurs de la directive sont extraites des directives par défaut. 

Des exemples de directives de récupération incluent « child-src », « font-src » et « img-src ». 

Directives sur les documents

Les directives de document dans le champ d'en-tête de votre réponse CSP indiquent au navigateur les propriétés des documents auxquels la stratégie s'applique. 

Par exemple, la directive « base-URI » limite les URL utilisables par l’élément racine du document. Autre exemple : la directive « sandbox », qui restreint les actions possibles sur la page. Les directives de document ne se réfèrent pas aux directives « default-src » par défaut. 

Directives de navigation

Les directives de navigation contrôlent les emplacements vers lesquels un utilisateur peut naviguer. Les exemples incluent « form-action », qui limite les URL pour les soumissions de formulaires, « frame-ancestors », qui régit les URL qui peuvent encadrer les ressources demandées, et « naviguer vers », qui limite les URL vers lesquelles le document peut accéder. .

Assurez-vous de mettre régulièrement à jour votre politique de sécurité pour garantir que votre site ne devienne pas vulnérable aux menaces émergentes.

Politique de test

CSP peut fonctionner sur un site Web s’il n’est pas configuré correctement. C'est là qu'interviennent les tests.

Le mode rapport uniquement est une méthode efficace pour tester si un CSP fonctionne correctement. Le mode Rapport uniquement fournit des informations sur le nombre de violations CSP qui se seraient produites si la stratégie avait été appliquée, mais ne bloque rien.

Cette méthode de test aide les propriétaires de sites Web à comprendre où leur politique risque d'échouer. En conséquence, ils peuvent l’ajuster en conséquence.

Divers outils permettent de tester la politique de sécurité du client (CSP) d'un site web en mode rapport uniquement. L'un des plus populaires est CSP Evaluator. 

Cet outil vous permet de saisir une URL. L'outil vérifie ensuite si un en-tête CSP existe. Il indiquera également si le CSP est correctement configuré ou non. Dans le même temps, il analyse la politique, signale les problèmes potentiels et vous guide sur la manière de l'améliorer. 

La capture d'écran suivante montre certaines des suggestions de l'outil :

Matériau

Vous pouvez également utiliser des scanners CSP tels que Mozilla Observatory ou CSP Tester. Les scanners fonctionnent comme l'évaluateur CSP. Ils testent l'efficacité de votre CSP et recommandent les meilleures pratiques pour la configuration des politiques. 

Des extensions comme CSP Tester et CSP Debugger de Google peuvent également vous aider à tester vos CSP. 

Ils suivent l'écrit et le contenu vidéo chargé sur une page Web et les sources dont il provient, mettant en évidence toute violation du CSP. 

Ces extensions sont disponibles pour les navigateurs Chrome et Firefox. Ils peuvent être utilisés pour tester, déboguer et valider votre CSP sur votre site Web. Ils peuvent également générer des rapports sur l’efficacité (ou l’absence d’efficacité) des CSP.

Règles d'utilisation de CSP

CSP est un outil efficace pour minimiser les risques liés à la sécurité des applications web. Cependant, comme tout outil de sécurité, CSP a ses propres règles d'utilisation. Il est essentiel de les comprendre pour l'utiliser efficacement.

Voici donc quelques règles :

Utilisez la configuration « Strict-Dynamic ». Cette configuration est une directive qui autorise l'exécution dynamique de code JavaScript uniquement à partir des sources autorisées par l'attribut « nonce- ». Ce paramètre est utile car il permet aux développeurs de continuer à utiliser des scripts intégrés sur leurs sites web sans compromettre la sécurité. 

Les scripts intégrés sont des scripts exécutés directement dans les fichiers HTML, et non comme des sources distinctes. Avec l'option « Strict-Dynamic », le site web peut continuer à utiliser des scripts intégrés tout en limitant les sources que ces scripts peuvent exécuter.

Cependant, l'utilisation de code en ligne est déconseillée. La directive `inline` permet d'intégrer des scripts et des styles directement dans votre code HTML. Cette pratique est risquée car elle permet aux pirates d'injecter du code malveillant dans votre contenu. Il est préférable d'utiliser les attributs `nonce-value` et `hash-value` pour autoriser les scripts et styles en ligne provenant de sources fiables.

N'utilisez pas non plus `eval()`. La directive `eval()` permet l'exécution de scripts générés dynamiquement. Elle peut contourner la CSP et exécuter du code arbitraire, ce qui représente un risque de sécurité important.

Si votre site Web s'appuie fortement sur des scripts et des styles en ligne ou sur des bibliothèques et des plugins tiers, vous aurez peut-être besoin d'aide pour implémenter CSP.

Vous pouvez utiliser un outil tel que Content Security Policy Builder pour vous aider à créer un CSP personnalisé qui prend en compte les besoins spécifiques de votre site Web et des bibliothèques et plugins tiers. 

Exemples de politiques de sécurité du contenu

CSP peut être mis en œuvre de différentes manières, en fonction des besoins spécifiques d'un site Web. Voici quelques exemples de politiques CSP pour vous aider à mieux comprendre :

  • Pour configurer votre en-tête CSP pour autoriser les scripts, CSS, AJAX et images de l'origine actuelle sans charger d'autres ressources ;

Content-Security-Policy: default-src 'none' ; script-src 'self' ; connect-src 'self' ; img-src 'self' ; style-src 'self' ; frame-ancestors 'self' ; form-action 'self' ;  

  • Pour configurer une politique modérément stricte dans le champ d’en-tête de réponse ; 

script-src 'nonce-r4nd0m' 'strict-dynamic' ;

object-src 'none' ; base-uri 'none' ;

  • La configuration CSP pour la politique stricte de verrouillage ;

script-src 'nonce-r4nd0m'

object-src 'none' ; base-uri 'none' ;

Il est important de noter que si la mise en œuvre d'un CSP contribue à améliorer la sécurité de votre site web, elle doit être utilisée conjointement avec d'autres mesures de sécurité, telles que des protocoles d'authentification forts, des mises à jour logicielles régulières et l'enregistrement de domaine auprès de fournisseurs réputés, afin de garantir une protection complète contre les cybermenaces.

Vous pouvez en savoir plus sur les attributs occasionnels pour CSP sur MDN. Vous pouvez également apprendre de ce guide de référence.

En clôture

La sécurité sur le Web n’est pas une chose à prendre à la légère. Les gens peuvent perdre leur argent et faire face à des menaces (entre autres) de cyberattaques telles que les scripts intersites et le détournement de clics. Par conséquent, une politique de sécurité du contenu devrait constituer une couche de protection nécessaire pour toutes les applications Web. 

Évaluer vos politiques de réponse aux incidents, y compris les systèmes dont vous disposez pour détecter les menaces de cybersécurité, comme simulations de violations et d'attaques, et comment vous les gérerez efficacement s'ils surviennent.

Néanmoins, en ce qui concerne la sécurité, vous devez prendre des précautions lorsque vous utilisez Internet pour éviter de devenir la proie d'attaquants.

En vous familiarisant avec les différents types de politiques et de protocoles, vous pouvez mieux protéger non seulement votre site Web, mais également votre public qui aurait pu partager ses informations personnelles sur votre site.

Nicolas

Je suis Nick, spécialiste et passionné par WordPress, le SEO et l'intelligence artificielle. Mon objectif est de partager mon expérience et de vous proposer les meilleures techniques de marketing digital pour développer votre activité en ligne.