Comment protéger votre site WordPress contre les attaques XSS (4 conseils clés)

Il existe plus de 27 millions de sites Web WordPress en direct. Bien qu’il soit formidable de faire partie d’une communauté aussi vaste et active, la popularité du système de gestion de contenu (CMS) en fait également une cible de choix pour les attaques de scripts intersites (XSS).

Heureusement, ce n’est pas parce que les pirates se concentrent sur WordPress que leurs tentatives de violation sont vouées à réussir. En utilisant les bons outils et techniques, vous pouvez renforcer votre site contre les attaques XSS.

Dans cet article, nous discuterons de ce qu’est XSS et pourquoi WordPress est particulièrement vulnérable à ce type d’intrusions. Ensuite, nous partagerons quatre stratégies que vous pouvez mettre en œuvre pour protéger votre site contre eux. Commençons!

Une introduction aux attaques XSS

Une attaque XSS se produit lorsqu’un pirate informatique exploite une vulnérabilité sur votre site Web et tente d’injecter du code JavaScript non autorisé. Le script malveillant est ensuite exécuté soit côté client dans le navigateur, soit stocké et exécuté sur le serveur.

Les attaques XSS sont souvent conçues pour collecter des données de vos visiteurs, telles que leurs mots de passe ou leurs informations de paiement. Cependant, les attaques peuvent également modifier l’apparence ou le fonctionnement de votre site. Par exemple, les cybercriminels peuvent rediriger vos utilisateurs vers un site Web entièrement différent.

Ce type de redirection peut entraîner une chute de votre trafic, car le pirate informatique vole 100 % de vos visiteurs. Le réacheminement peut également être une rampe de lancement pour de nouvelles attaques. Par exemple, une redirection malveillante peut envoyer votre trafic vers un site Web frauduleux.

Certains acteurs malveillants peuvent même imiter votre site, dans le but d’inciter vos clients à partager des informations personnelles et des détails de paiement. Cela peut être particulièrement désastreux pour votre réputation.

Les attaques XSS sont un énorme problème pour de nombreux CMS différents. Cependant, WordPress est particulièrement vulnérable car de nombreux sites Web de la plate-forme utilisent des plugins. Ces extensions ajoutent du code à votre site, ce qui peut introduire des vulnérabilités XSS que les pirates peuvent exploiter. Dans son rapport de 2021, WP White Security a découvert près de 4 000 vulnérabilités de plugin WordPress connues, y compris celles qui pourraient entraîner des attaques XSS réussies.

Avec autant de failles à exploiter, il n’est peut-être pas surprenant que Wordfence ait identifié 330 millions de tentatives d’attaques XSS en 2020. Les cybercriminels essayant activement de tirer parti des faiblesses connues et inconnues, il est important de faire tout ce qui est en votre pouvoir pour protéger votre site Web.

Comment protéger votre site WordPress contre les attaques XSS (4 conseils clés)

XSS est peut-être l’une des méthodes les plus couramment utilisées par les pirates pour infiltrer les sites Web, mais il existe des moyens de renforcer la sécurité de votre site. Examinons quatre techniques que vous pouvez mettre en œuvre aujourd’hui.

1. Restez informé des dernières vulnérabilités

En surveillant en permanence vos thèmes et plugins pour détecter les faiblesses connues, vous pouvez maximiser vos chances de découvrir les problèmes tôt. Vous pouvez ensuite prendre des mesures pour remédier à ces failles de sécurité avant que les pirates n’aient la possibilité de les exploiter.

WPScan maintient une base de données de vulnérabilités des vulnérabilités connues du noyau, des thèmes et des plugins de WordPress. Il a également publié un plugin WPScan qui vous permet d’analyser tous vos plugins à la recherche de risques connus :

L'écran du plugin WPScan WordPress.

Cependant, si vous êtes un client ManageWP, vous n’avez même pas besoin d’un plugin séparé. Nous avons collaboré avec WPScan pour présenter toutes ses données directement dans votre tableau de bord ManageWP.

Vulnerability Updates affiche une notification à côté de tous les plugins présentant des vulnérabilités connues. Cela permet d’identifier facilement les problèmes qui peuvent actuellement mettre votre site en danger :

Le tableau de bord de vulnérabilité ManageWP.

Si vous découvrez une vulnérabilité, la solution la plus sûre est de désactiver puis de supprimer le plugin en question. Cependant, cela peut ne pas être possible si l’extension offre une fonctionnalité cruciale à votre site Web.

Dans ce cas, vous pouvez vérifier si le développeur a publié un correctif, car un créateur responsable devrait être impatient de résoudre tout problème de sécurité. Si une mise à jour est disponible, la résolution de la faiblesse peut être aussi simple que de cliquer sur Mettez à jour maintenant:

La possibilité de mettre à jour un plugin WordPress vers sa dernière version.

Cependant, vous devrez parfois continuer à utiliser des logiciels non sécurisés, par exemple lorsque le développeur crée toujours un correctif. Jusqu’à ce que vous puissiez installer cette mise à jour et fermer la vulnérabilité, il est judicieux d’être extrêmement vigilant pour tout signe que votre site est attaqué. Cela peut inclure la surveillance de votre site pour les temps d’arrêt, la surveillance d’une baisse des performances et l’ajout de la fonction ManageWP Security Check à votre site afin que vous soyez immédiatement informé de tout problème.

2. Utilisez un pare-feu d’application Web (WAF)

Un pare-feu d’application Web (WAF) filtre les requêtes malveillantes, y compris les attaques XSS, avant qu’elles n’aient la possibilité d’atteindre votre site Web. Il existe différents WAF que vous pouvez utiliser avec WordPress. Sucuri WAF est une option populaire :

Le site Web Sucuri WAF.

Après avoir acheté un plan Sucuri WAF, connectez-vous à votre compte et cliquez sur Protéger mon site maintenant. Vous pouvez ensuite saisir le nom de domaine que vous souhaitez protéger et spécifier si vous souhaitez ajouter des répertoires à la liste blanche.

Les pirates informatiques sont connus pour cibler délibérément les parties vulnérables des sites Web, telles que les répertoires d’administration. En restreignant l’accès à ces zones sensibles, vous pouvez réduire davantage les chances d’être victime d’une attaque XSS réussie.

Après avoir entré votre domaine, vous devrez faire défiler jusqu’à la page du tableau de bord général. Vous y trouverez les informations DNS de Sucuri. Votre prochaine tâche consiste à modifier l’adresse IP de l’enregistrement A de votre site Web afin qu’il pointe vers le pare-feu de Sucuri.

Vous effectuerez généralement cet ajustement en vous connectant au compte de votre registraire de domaine ou de votre fournisseur de serveur de noms de domaine (DNS). Cette étape varie en fonction de la configuration de votre compte. Si vous ne savez pas comment effectuer la modification, vous pouvez consulter la documentation de votre fournisseur ou de votre bureau d’enregistrement pour plus d’informations.

Les modifications DNS peuvent prendre jusqu’à 48 heures pour se propager, vous devrez donc peut-être attendre que cette mise à jour entre en vigueur. Vous pouvez vérifier si votre DNS s’est propagé en visitant whatsmydns.net.

3. Ajoutez un en-tête de sécurité HTTP

Chaque fois que quelqu’un visite votre site, le serveur réagit avec des en-têtes de réponse HTTP. Ces en-têtes indiquent aux navigateurs Web comment agir tout au long de leurs interactions avec votre site Web, par exemple lors de la gestion du cache.

Vous pouvez aider à protéger votre site contre les attaques XSS en utilisant l’en-tête X-XSS-Protection. Avec cet en-tête en place, votre site Web empêchera le chargement de la page lorsqu’une attaque XSS est détectée, ce qui peut protéger votre site contre certaines catégories de violations XSS.

Vous ajoutez cet en-tête de sécurité à celui de votre site .htaccess file, qui est un fichier de configuration qui indique à votre serveur comment gérer diverses requêtes. Après vous être connecté à votre site à l’aide de votre client FTP (File Transfer Protocol) préféré, ouvrez le .htaccess fichier et ajoutez ce qui suit :

<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>

Lorsque vous avez terminé, vous pouvez enregistrer vos modifications et fermer le fichier. Votre site Web empêchera désormais le chargement de la page chaque fois qu’il pense qu’une attaque XSS est en cours.

4. Ajoutez un en-tête de politique de sécurité du contenu (CSP)

Une politique de sécurité du contenu (CSP) peut aider à atténuer les attaques XSS en spécifiant quelles ressources (scripts, styles, images, etc.) sont autorisées à charger. En ajoutant des sources autorisées à la liste blanche, vous pouvez empêcher les navigateurs de charger du contenu malveillant.

Malheureusement, il n’existe pas d’approche unique des CSP. Vous devrez évaluer les ressources que vous chargez réellement et réfléchir à la manière de les gérer efficacement. Ensuite, vous pouvez créer une politique en fonction de vos besoins spécifiques.

Lors du développement d’un CSP, vous utiliserez default-src pour spécifier la politique standard de chargement du contenu tel que les images, les polices, les médias et les requêtes AJAX. Vous pouvez également définir des sources JavaScript légitimes en utilisant script-src, sources d’images légitimes utilisant img-src, et des sources de feuilles de style authentiques utilisant style-src.

Voici un exemple de ce à quoi ressemble la définition d’une source d’images valide :

img-src 'self' img.example.com;

Pour plus d’informations sur la construction d’un en-tête CSP, vous pouvez consulter le Guide de référence rapide.

Une fois que vous avez créé votre CSP, l’étape suivante consiste à l’ajouter à votre fonctions.php déposer. Dans le tableau de bord WordPress, accédez à Apparence > Éditeur de thème :

Le fichier WordPress functions.php affiché dans l'éditeur de thème.

À droite de l’écran, sélectionnez le fonctions.php et ajoutez votre en-tête CSP. Lorsque vous avez terminé, cliquez sur Fichier de mise à jour.

Conclusion

XSS est une attaque courante qui a le potentiel de détruire votre réputation de site Web fiable et soucieux de la sécurité. La bonne nouvelle est qu’il existe des moyens de protéger à la fois votre site et vos visiteurs contre ce type de violation de données.

Récapitulons quatre étapes pratiques qui peuvent grandement minimiser vos chances d’être victime d’une attaque XSS :

  1. Tenez-vous au courant des dernières vulnérabilités.
  2. Utilisez un pare-feu tel que Sucuri WAF.
  3. Ajoutez un en-tête de sécurité HTTP en ajoutant du code à votre .htaccess déposer.
  4. Ajoutez un en-tête CSP en modifiant votre fonctions.php déposer.

Vous avez des questions sur la protection de votre site contre les attaques XSS ? Demandez dans la section commentaires ci-dessous!

Crédit image : Unsplash.