Comment un manque de CSP peut-il nuire à un site Web?

Saulnier Yvon-Daniel
supportAugust 2, 2024

Disons que vous disposez d'un site Web sur lequel vous diffusez de la publicité aux utilisateurs et gagnez de l'argent honnêtement. Et tout se passe bien jusqu'à ce que les utilisateurs dont les navigateurs sont infectés commencent à vous rendre visite. Un navigateur infecté remplacera la publicité sur votre site par la sienne et la montrera à l'utilisateur. Résultat: Pessimisation de la part des moteurs de recherche et baisse des revenus. Si vous mettez en œuvre une politique CSP sur votre site, les annonces d'autres personnes ne seront plus présentées à l'utilisateur final, car le serveur à partir duquel l'annonce tentera de se charger n'est pas sur la liste blanche. Alors maintenant tout ira bien!

L'application nous a permit de configurer une stratégie de sécurité CSP pour le site Web, pour le magasin, le blog, le hub sous une forme accessible à l'utilisateur. Le W3C est maintenant avec la spécification "Content Security Policy Level 2". Fonctionnalités de l'application: Contrôle des sources de styles, de scripts, d'images, de polices, de fichiers vidéo et audio, etc. sur le site. Contrôle de l'envoi de données à d'autres sites, y compris les identifiants et mots de passe en analysant les rapports de blocage de telle ou telle ressource, Nous pouvons détecter le code malveillant sur la pages qui a été introduit par des attaquants ;) L'application n'apporte aucune modification au code html, mais génère uniquement un en-tête transmis par le serveur au navigateur.

L'application s'intègre automatiquement uniquement avec les applications / règlements "Site", "Boutique", "Blog", "hub", "Photos", dans le fichier de modèle principal (index.html) les autres applications doivent ajouter le code ... Il y a trois ans, la Fondation de plusieurs grands navigateur populaires donc Mozilla ont mis au point une nouvelle norme de politique de sécurité qui empêche les attaques XSS et autres types d'attaques connexes en interdisant le chargement et l'exécution de scripts à partir de ressources interdites. Il s'appelle Content Security Policy (CSP), ce qui signifie:

«Stratégie de sécurité du contenu»


Au moment de la rédaction de cet article, la norme CSP est dans le statut de Candidate Recommendation, ce qui signifie que le consortium pourrait adopter cette norme à l'avenir par le W3C. Pour le moment, tous les navigateurs populaires prennent en charge cette norme.

Maintenant, un peu plus de théorie, et ensuite passer immédiatement à la pratique, patience!

Le CSP a réagi de manière adéquate. C'est-à-dire Téléchargé l'image et exécuté en ligne javascript, mais en même temps nous a dit dans la console «AY-bo-Boy!» , à savoir: a déclaré qu'il y avait deux violations.

Maintenant, changeons le titre de Content-Security-Policy-Report-Only en Content-Security-Policy et voyons ce qui se passe: c'est-à-dire, essayons d'exécuter un script en ligne et de télécharger une image à partir d'un hôte tiers. Et voyons comment notre brave défenseur réagira: le script en Ligne n'a pas été exécuté, et l'image n'a pas été chargée. Cool, non?

Maintenant, vous pouvez expérimenter vous-même. Les deux panneaux dans lesquels nous avons examiné les directives et les mots-clés pour spécifier les hôtes, vous seront utiles. Essayez de remplacer 'self' par: https://ilolgostore.com/ et voyez ce qui se passe — l'image sera en mesure de charger, puisque son serveur a été répertorié dans la liste blanche.

Je tiens à attirer votre attention que l'hôte est souhaitable de spécifier avec le protocole, car sinon le protocole sera pris de l'hôte actuel. Par exemple, si vous spécifiez l'hôte comme ilolgostore.com et votre serveur fonctionne sur https, alors la liste blanche sera https://ilolgostore.com/.

Traitement des rapports:


La beauté de cette politique est qu'en plus de bloquer, nous pouvons également collecter des rapports d'infraction!

Rappelez-vous dans l'exemple dans l'en-tête http, nous avons spécifié l'URL report-uri http://localhost/csp/collector.php pour réinitialiser les rapports?

Comme il est pas difficile de deviner tous les rapports de violation seront envoyés à cette url.

Voici à quoi ressemble le rapport de violation (au format JSON): Avec ce rapport, vous pouvez faire n'importe quoi, par exemple enregistrer dans la base de données, envoyer au courrier. Je suggère d'enregistrer toutes les violations dans un fichier csv. Faisons-le!

Créez un fichier collector.php et écrivez-y les lignes suivantes: maintenant, actualisez à nouveau la page et regardez dans le répertoire http://localhost/csp/.

Vous devriez avoir un fichier report.csv avec deux lignes de code:

Youpi! … Nous avons pris le rapport de violation et l'avons enregistré dans le fichier. Vous pouvez montrer ce fichier à vos amis et le mieux encore, est de commencer à implémenter le CSP sur votre site, d'abord en mode test, puis ensuite en mode «combat». Au cours de la phase de test, le rapport vous aidera à analyser quelles directives répondent aux violations et à les ajuster en conséquence.

Comment un manque de protection contre les attaques DDoS peut-il nuire à la notoriété d'un site Web?

La réponse dans notre prochain article ...


Merci à la Fédération de Russie (Le bras de fer du web) de nous permettre de protéger nos travaux avec les meilleurs technologies!


To add a comment please sign up or log in
Authorization via social networks

Log in with your customer password or via the services listed above

phone