Le Web moderne exige que les sites intègrent de nombreux actifs provenant de sources extérieures telles que des scripts, des polices, des styles et d’autres ressources provenant de réseaux de diffusion de contenu, etc. Sans aucune mesure de sécurité supplémentaire, le navigateur exécutera tout le code de n’importe quelle origine et ne pourra pas déterminer quel code est autorisé.
Cela crée une vulnérabilité que les pirates peuvent utiliser pour lancer des attaques de script intersite (XSS) afin de tromper les sites Web auxquels l’utilisateur fait confiance pour qu’ils fournissent du code malveillant. Ces attaques sont utilisées pour tout, du vol de données ou de la dégradation de sites à la propagation de logiciels malveillants.
C’est là que la politique de sécurité du contenu peut nous aider.
La politique de sécurité du contenu (CSP) est un en-tête de sécurité qui aide à identifier et à atténuer plusieurs types d’attaques, y compris les attaques de type Cross Site Scripting (XSS), le détournement de clics et l’injection de données.
En utilisant les directives CSP appropriées dans les en-têtes de réponse HTTP, vous pouvez définir de manière sélective les sources de données à autoriser dans votre application Web.
Alors, comment le CSP nous aide-t-il exactement ?
La politique de sécurité du contenu (CSP) a une collection standardisée de directives qui indiquent au navigateur quelles sources de contenu il doit autoriser et lesquelles il doit bloquer.
À l’aide de politiques définies avec précision, vous pouvez définir le contenu du navigateur pour éliminer de nombreux vecteurs d’injection courants et réduire considérablement le risque d’attaques XSS.
CSP est compatible avec presque tous les navigateurs modernes. Un aspect utile est que même avec des navigateurs qui ne prennent même pas en charge CSP, il fonctionnera toujours avec les serveurs qui l’ont implémenté, et vice versa. Les navigateurs qui ne prennent pas en charge CSP le négligeront, fonctionneront comme d’habitude et appliqueront par défaut la politique standard de même origine pour le contenu Web.
Maintenant que nous avons compris ce qu’est CSP, répondons à la question importante :
Comment utilisez-vous CSP ?
La mise en œuvre de la politique de sécurité du contenu implique l’ajout de l’en-tête HTTP Content-Security-Policy à chaque réponse du serveur, fournissant ainsi les valeurs de la page Web pour gérer les ressources que l’agent utilisateur est autorisé à utiliser.
CSP permet de définir diverses restrictions de contenu à l’aide des directives CSP. Plusieurs types de directives existent en fonction des attributs de cas d’utilisation et de contenu. Découvrons-en quelques-unes avec quelques exemples :
Récupérer les directives
Ces directives spécifient les emplacements de chargement de certains types de ressources.
‘font-src’ spécifie à partir de quelles URL charger les polices.
‘img-src’ spécifie les URL que les images peuvent être chargées.
‘object-src’ spécifie les URL à partir desquelles les plugins peuvent être chargés.
‘default-src’ est une directive de secours pour toutes les directives de récupération. Les directives qui sont spécifiées n’ont pas d’héritage, mais les directives qui ne sont pas spécifiées reviendront à la valeur de default-src.
Directives documentaires
Ces directives indiquent au navigateur les propriétés du document auquel les politiques s’appliqueront.
‘sandbox’ limite les actions d’une page telles que la soumission de formulaires.
‘base-uri’ spécifie les URL autorisées dans l’élément de base du document.
Directives de navigation
Les directives de navigation indiquent au navigateur les emplacements vers lesquels le document peut naviguer.
‘navigate-to’ restreint les URL vers lesquelles un document peut naviguer par n’importe quel moyen.
‘form-action’ spécifie les URL qui servent de cibles pour la soumission d’éléments de formulaire
Directives sur les rapports
Ils régissent la façon dont les violations CSP sont documentées et signalées. Ils dépendent d’autres directives et ne peuvent pas être utilisés seuls.
‘report-to’ déclenche un événement de violation de la politique de sécurité
CSP est maintenant largement utilisé sur le Web comme un mécanisme efficace pour réduire le risque d’attaques de scripts intersites. Sa mise en œuvre agira comme une couche de sécurité supplémentaire pour votre application Web.
La sécurité et la tranquillité d’esprit ne sont-elles pas ce que nous recherchons tous ?