• WordPress

Comment sécuriser un site WordPress contre les menaces réelles

  • Felix Rose-Collins
  • 24 min read

Introduction

La plupart des piratages de WordPress ne sont pas le fait de personnes qui s'en prennent spécifiquement à votre site. Il s'agit généralement de robots automatisés qui parcourent Internet à la recherche de failles courantes, telles qu'un plugin obsolète, une connexion peu sécurisée ou un paramètre laissé ouvert. Si votre site semble facile à pirater, ces robots peuvent commencer à s'y attaquer en quelques minutes.

Vous n'avez pas besoin de compétences d'ingénieur en sécurité pour le protéger. Il vous suffit de quelques mesures de protection de base qui fonctionnent bien ensemble. Verrouillez les paramètres clés de WordPress. Ajoutez des règles de serveur. Maintenez tout à jour. Faites des sauvegardes et assurez une surveillance sans faille. Vous détecterez les problèmes rapidement et vous rétablirez rapidement, au lieu de découvrir les dégâts des semaines plus tard.

Ce guide reste pratique. Nous commençons par les bases à fort impact, puis passons à un renforcement plus approfondi.

Attaques de sécurité courantes sur les sites WordPress {#common-security-attacks-on-wordpress-sites}

La plupart des attaques sur WordPress suivent un schéma familier. Les bots sondent d'abord les points d'entrée courants, puis s'attaquent à ce qui est le plus facile à exploiter.

Common Security Attacks on WordPress Sites

Voici les risques les plus courants que vous rencontrerez sur des sites WordPress réels.

Force brute {#brute-force}

La force brute fonctionne parce qu'elle est facile à automatiser et qu'elle reste rentable. Au lieu de deviner un seul mot de passe, les bots testent des milliers de noms d'utilisateur et de mots de passe par minute sur les pages de connexion. Le « credential stuffing » est encore plus efficace, car il utilise des identifiants divulgués lors d'autres violations de sécurité. Si les identifiants divulgués correspondent, l'accès administrateur est instantané.

Lorsque cela se produit, vous constaterez des pics de trafic, des redirections répétées et de nombreuses tentatives de connexion infructueuses dans les journaux d'authentification des plugins ou du serveur. Même en l'absence de violation, cela sollicite excessivement le processeur, ralentit votre site et inonde vos journaux.

Plugins et thèmes vulnérables {#vulnerable-plugins-and-themes}

Des problèmes au niveau du cœur de WordPress peuvent survenir, mais ce sont généralement les plugins et les thèmes qui constituent le véritable problème. Les attaquants les ciblent car la détection de la version est facile et le code d'exploitation se propage rapidement.

Rencontre avec Ranktracker

La plateforme tout-en-un pour un référencement efficace

Derrière chaque entreprise prospère se cache une solide campagne de référencement. Mais avec d'innombrables outils et techniques d'optimisation parmi lesquels choisir, il peut être difficile de savoir par où commencer. Eh bien, n'ayez crainte, car j'ai ce qu'il vous faut pour vous aider. Voici la plateforme tout-en-un Ranktracker pour un référencement efficace.

Nous avons enfin ouvert l'inscription à Ranktracker de manière totalement gratuite !

Créer un compte gratuit

Ou connectez-vous en utilisant vos informations d'identification

Les signaux d'alerte incluent les plugins abandonnés, les copies gratuites d'outils premium et les mises à jour retardées. L'impact va de l'exécution de code à distance au vol de bases de données et aux injections de spam SEO.

Injection de logiciels malveillants {#malware-injection}

Les logiciels malveillants se cachent souvent dans des emplacements accessibles en écriture ou négligés. Il peut s'agir d'un script malveillant déposé dans wp-content/uploads/, d'un fichier de plugin discrètement modifié avec du code PHP mal écrit, ou de code injecté dans la base de données afin de se propager via les modèles ou les articles.

Les signes typiques incluent des redirections vers des sites mobiles uniquement, des utilisateurs admin mystérieux, des tâches cron étranges, des tâches planifiées inhabituelles, des pics de requêtes sortantes et des avertissements de Search Console ou d'abus d'hébergement. Cela conduit souvent à des infections répétées, du spam et un risque de mise sur liste noire.

Attaques de spam SEO {#seo-spam-attacks}

Le spam SEO n'est pas toujours visible pour les humains. Les attaquants ajoutent des liens cachés, des pages de spam ou du contenu que seuls les robots d'indexation voient. Ils peuvent injecter du spam dans la base de données, ajouter des sitemaps non autorisés ou modifier le fichier .htaccess pour servir un contenu différent aux robots.

Les premiers indices apparaissent généralement dans les résultats de recherche : des URL indexées étranges et des baisses soudaines de trafic. Votre domaine commence à être classé pour du spam, et les pages réelles perdent en visibilité. Le nettoyage prend plus de temps car le spam est souvent dispersé dans la base de données.

Injection SQL {#sql-injection}

Une injection SQL se produit lorsqu'un plugin ou un code personnalisé envoie des données non sécurisées à la base de données. Les signes courants incluent des chaînes de requête URL étranges, des alertes SQLi dans les journaux du pare-feu et des pics soudains de charge de la base de données. Cela peut entraîner le vol de données, des modifications de contenu et un accès persistant si les attaquants modifient les utilisateurs ou les paramètres.

Falsification de requête intersite {#cross-site-request-forgery}

La falsification de requêtes intersites (CSRF) se produit lorsque vous êtes connecté à WordPress et qu'un plugin n'effectue pas les vérifications de sécurité appropriées. Un attaquant peut vous inciter à cliquer sur un lien qui déclenche des actions telles que la création d'utilisateurs, la modification d'adresses e-mail ou la mise à jour de paramètres.

Tout changement administratif survenant immédiatement après un clic que vous n'aviez pas l'intention d'effectuer constitue un signal d'alerte. Les journaux peuvent sembler normaux car l'attaque s'exécute via votre session, mais elle peut modifier discrètement les autorisations et conduire à une prise de contrôle.

Cross-Site Scripting {#cross-site-scripting}

Le Cross-Site Scripting (XSS) se produit lorsqu'un plugin ou un thème affiche du contenu utilisateur sans le nettoyer au préalable. Le XSS stocké est plus grave, car le code malveillant est enregistré et peut s'exécuter plus tard, même dans l'espace d'administration, permettant aux attaquants de modifier les paramètres, d'ajouter des utilisateurs ou d'installer des plugins.

Vous pouvez constater la présence de scripts étranges dans les articles ou les paramètres, des redirections réservées aux utilisateurs connectés, ou des modifications que vous n’avez pas effectuées. Cela peut entraîner le détournement de sessions et une infection persistante stockée dans la base de données.

Les bases de la sécurité {#baseline-security-essentials}

Commencez par les bases qui éliminent les points d'entrée faciles et rendent votre configuration plus difficile à pirater par défaut.

Choisissez un hébergement WordPress sécurisé {#choose-a-secure-wordpress-hosting}

Vous pouvez renforcer la sécurité de WordPress et tout de même être victime d'un hébergement peu sécurisé. L'hébergement contrôle l'environnement dans lequel votre site fonctionne, et cet environnement a un impact considérable sur la sécurité.

Voici ce qu'un hébergement axé sur la sécurité devrait inclure.

  • Isolation et paramètres par défaut sécurisés

Si votre site se trouve sur un serveur surchargé où les comptes peuvent s'influencer mutuellement, vous partez avec un risque supplémentaire. Recherchez une isolation solide des comptes, des permissions de fichiers raisonnables et une configuration qui ne laisse pas de services risqués ouverts par défaut.

  • Protection au niveau du serveur

Un hébergeur fiable gère les règles de pare-feu, le filtrage des bots, l'application des correctifs de sécurité et les configurations renforcées. Vous ne devriez pas avoir à vous connecter à un serveur et à modifier les paramètres juste pour le rendre suffisamment sûr.

  • Sauvegardes et restaurations rapides

En cas de problème, la rapidité est essentielle. Les sauvegardes automatiques et les restaurations rapides sauvent votre entreprise.

  • Visibilité

Les journaux d'accès, les journaux d'erreurs et les indicateurs de performance vous aident à détecter les attaques par force brute, les problèmes PHP et les pics de consommation de ressources avant qu'ils ne provoquent des pannes.

  • SSL

Les certificats SSL chiffrent les connexions et les sessions afin que les données restent confidentielles pendant leur transfert. Un hébergement sécurisé facilite la configuration des certificats et leur rotation automatique pour éviter les problèmes d'expiration.

Rencontre avec Ranktracker

La plateforme tout-en-un pour un référencement efficace

Derrière chaque entreprise prospère se cache une solide campagne de référencement. Mais avec d'innombrables outils et techniques d'optimisation parmi lesquels choisir, il peut être difficile de savoir par où commencer. Eh bien, n'ayez crainte, car j'ai ce qu'il vous faut pour vous aider. Voici la plateforme tout-en-un Ranktracker pour un référencement efficace.

Nous avons enfin ouvert l'inscription à Ranktracker de manière totalement gratuite !

Créer un compte gratuit

Ou connectez-vous en utilisant vos informations d'identification

Sur les plateformes WordPress gérées, de nombreuses protections sont déjà en place pour bloquer les menaces courantes avant qu’elles n’atteignent WordPress. Par exemple, l’hébergement géré Cloudways inclut des fonctionnalités de sécurité au niveau de la plateforme telles que des pare-feu, des sauvegardes automatisées, des modules complémentaires WAF en option et SafeUpdates. Même dans ce cas, vous restez responsable des mises à jour et du contrôle d’accès, mais vous partez d’une base plus sûre.

Cloudways propose également une migration de site web assistée par des experts, et la première migration est incluse gratuitement.

Installez un certificat SSL {#install-an-ssl-certificate}

Avez-vous déjà remarqué la petite icône en forme de cadenas à côté de l'URL d'un site web ? Elle signifie que votre site utilise le protocole HTTPS. Elle indique aux visiteurs que la connexion à votre site est sécurisée et que leurs données sont en sécurité. Sans cela, des pirates pourraient intercepter des informations sensibles telles que les identifiants de connexion ou les données de paiement.

Le protocole SSL (Secure Sockets Layer) crypte les données entre votre site web et ses visiteurs. Il protège ce trafic afin que les mots de passe et les données des clients ne soient pas transmis en clair. Que vous gériez un blog, une boutique ou un portfolio, l'installation d'un certificat SSL n'est plus facultative ; elle est indispensable.

Choisissez votre option SSL

La plupart des hébergeurs proposent une option SSL gratuite que vous pouvez activer en quelques clics. Sur Cloudways, vous pouvez activer un certificat Let’s Encrypt gratuit directement depuis la plateforme.

Si vous avez besoin d’un certificat destiné aux entreprises ou d’une validation spécifique, vous pouvez également en acheter un auprès de fournisseurs tels que DigiCert ou Sectigo.

Générer une CSR

Une demande de signature de certificat (CSR) est la requête que votre serveur envoie au fournisseur de certificats. Vous trouverez généralement une option « Générer une CSR » dans votre tableau de bord d’hébergement.

Ajoutez les informations de base telles que votre domaine, le nom de votre organisation et votre emplacement, puis générez la CSR. Votre fournisseur l'utilise pour émettre le certificat.

Vérifier la propriété du domaine

Avant qu'un certificat ne soit émis, vous devrez prouver que vous êtes bien le propriétaire du domaine. Selon le fournisseur, cela implique généralement l'une des actions suivantes : confirmer un e-mail de vérification, ajouter un enregistrement DNS ou télécharger un petit fichier de vérification. Une fois cette vérification effectuée, le certificat est émis.

Installez le certificat

Installez ou téléchargez le certificat dans votre panneau de contrôle d'hébergement. Recherchez une section intitulée « Gestion SSL » ou « Paramètres de sécurité », puis suivez les instructions pour l'associer au bon domaine.

Install the certificate

Forcer le HTTPS

Une fois le SSL installé, assurez-vous que tout le trafic passe par HTTPS par défaut. Cela garantit que les visiteurs accèdent toujours à la version sécurisée de votre site.

Vous pouvez le faire à l'aide d'un plugin tel que Really Simple SSL, ou vous pouvez forcer le HTTPS pour le tableau de bord d'administration WordPress en utilisant ce paramètre dans wp-config.php :

Mettez à jour les liens internes

Si votre site fait encore référence à d'anciennes URL HTTP dans les paramètres ou la base de données, les navigateurs peuvent afficher des avertissements de contenu mixte. Mettez à jour ces liens internes afin que tout se charge via HTTPS.

Au-delà de la sécurité, le SSL renforce la confiance et peut contribuer au référencement naturel (SEO). Il s'agit d'une mise à niveau rapide qui montre aux visiteurs que vous prenez la confidentialité au sérieux.

Maintenez WordPress, les thèmes et les plugins à jour {#keep-wordpress-themes-and-plugins-updated}

Les mises à jour sont synonymes de sécurité. La plupart des versions corrigent des failles connues. Une fois qu'une vulnérabilité est rendue publique, des robots recherchent les sites qui utilisent encore l'ancienne version, et c'est là que les infections se produisent.

Mettez à jour le cœur de WordPress

Les mises à jour du cœur de WordPress incluent souvent des correctifs de sécurité, même lorsque la version semble mineure.

Update WordPress Core

Suivez ces étapes pour mettre à jour le cœur de WordPress :

  • Accédez au tableau de bord d'administration de WordPress → Mises à jour.
  • Sous WordPress, cliquez sur Mettre à jour maintenant si une mise à jour est disponible.
  • Une fois l'opération terminée, ouvrez votre site et vérifiez qu'il se charge correctement et que vous pouvez vous connecter.

Une routine de mise à jour pratique

  • Activez les mises à jour automatiques au moins pour les versions mineures.
  • Utilisez un environnement de test pour les mises à jour majeures.
  • Réservez une plage horaire mensuelle pour la maintenance afin d'effectuer les correctifs et les tests de régression.

Si vous choisissez une plateforme d'hébergement comme Cloudways, la fonctionnalité SafeUpdates planifie les mises à jour du cœur de WordPress, des plugins et des thèmes via un processus de sauvegarde et de préproduction avant d'appliquer les modifications à l'environnement de production.

Mettre à jour les thèmes

Suivez ces étapes pour mettre à jour un thème WordPress :

  • Accédez au tableau de bord d'administration de WordPress → Mises à jour.

Updates

  • Si des mises à jour de thèmes y sont répertoriées, cochez les cases correspondantes, puis cliquez sur « Mettre à jour les thèmes ».
  • Une fois l'opération terminée, vérifiez que la page d'accueil, les menus et les pages clés se chargent correctement.

Supprimez les plugins et thèmes inutilisés

Les plugins et thèmes inactifs restent sur votre serveur. Supprimez-les pour réduire les risques de sécurité et limiter votre surface d'attaque.

themes

Liste de contrôle pour le nettoyage :

  • Supprimez les plugins et les thèmes inutilisés. La désactivation laisse des fichiers derrière elle.
  • Testez d'abord les suppressions sur un environnement de test, notamment pour les plugins liés aux formulaires, à la mise en cache, au référencement ou au commerce électronique.
  • Ne conservez que le thème actif et une sauvegarde.
  • Après le nettoyage, vérifiez que la connexion, les formulaires, le paiement et la recherche fonctionnent.
  • Passez en revue vos plugins et thèmes installés tous les mois.

Suivez ces étapes pour supprimer un plugin WordPress inutilisé :

  • Dans le tableau de bord d'administration de WordPress, allez dans PluginsPlugins installés.
  • Recherchez le plugin dont vous n'avez pas besoin.
  • Cliquez sur Désactiver. L'option Supprimer apparaît alors.
  • Cliquez sur Supprimer et confirmez si vous y êtes invité.

Ensuite, suivez ces étapes pour supprimer un thème inutilisé :

  • Dans le tableau de bord d'administration de WordPress, allez dans ApparenceThèmes.
  • Cliquez sur le thème dont vous n'avez pas besoin.
  • Cliquez sur Supprimer et confirmez si vous y êtes invité.

Choisissez des thèmes et des plugins réputés

Tous les plugins ne sont pas dignes de confiance, même si leurs fonctionnalités semblent intéressantes. Recherchez des mises à jour récentes et régulières, une documentation claire, un support actif et une compatibilité avec les versions actuelles de WordPress.

Vérifications rapides avant l'installation :

  • Évitez les plugins et les thèmes abandonnés.
  • Évitez les plugins et thèmes piratés.
  • Soyez prudent avec les téléchargements hors marché, sauf si vous faites confiance au fournisseur.
  • Ignorez tout ce qui n'a pas été mis à jour récemment ou qui ne prend pas clairement en charge votre version actuelle de WordPress.

Opérations de sécurité pratiques {#practical-security-operations}

Voici les mesures régulières qui réduisent les risques quotidiens, limitent l'activité des bots et vous aident à détecter les problèmes à un stade précoce.

Les attaquants ciblent la page de connexion car elle est prévisible et toujours accessible. Verrouillez les points d'entrée administratifs afin que les bots se heurtent à un mur et que les mots de passe volés ne se transforment pas en accès instantané.

Utilisez l'authentification à deux facteurs {#use-two-factor-authentication}

L'authentification à deux facteurs empêche la plupart des attaques par credential stuffing et des prises de contrôle par réutilisation d'identifiants. L'activer pour les comptes administrateurs bloque les connexions même si un mot de passe est volé.

Pour activer l'authentification à deux facteurs sur votre site WordPress, choisissez un plugin 2FA réputé et une application d'authentification sur votre téléphone. Parmi les plugins 2FA courants, on trouve miniOrange 2FA, WP 2FA, Wordfence Login Security et Two Factor.

Activer l'authentification à deux facteurs :

  • Dans votre tableau de bord WordPress, allez dans PluginsAjouter.
  • Recherchez un plugin 2FA, puis installez-le et activez-le.
  • Ouvrez le menu du plugin depuis la barre latérale gauche, généralement sous Sécurité ou dans une rubrique dédiée.
  • Recherchez « Authentification à deux facteurs » ou « 2FA », puis sélectionnez « Application d'authentification ».
  • Scannez le code QR dans votre application d'authentification ou saisissez la clé de configuration.
  • Saisissez le code à usage unique pour confirmer, puis cliquez sur Activer.
  • Téléchargez les codes de récupération et enregistrez-les dans votre gestionnaire de mots de passe.

Appliquer la 2FA aux rôles d'administrateur :

  • Ouvrez les paramètres du plugin, généralement sous « Paramètres » ou « Sécurité » → « 2FA ».
  • Activez « Exiger la 2FA ».
  • Appliquez cette option aux rôles Administrateur et Rédacteur, et ajoutez Gestionnaire de boutique si vous gérez une boutique en ligne.
  • Enregistrez les modifications après avoir enregistré au moins deux comptes administrateur sur des appareils distincts.

2FA

Modifier l'URL de connexion par défaut {#change-the-default-login-url}

La plupart des sites WordPress utilisent les mêmes URL par défaut : /wp-login.php pour la connexion et /wp-admin/ pour le tableau de bord d'administration. Les bots connaissent ces URL, ils ne cessent donc de les essayer encore et encore.

Modifier l'URL de connexion n'arrêtera pas un attaquant déterminé, mais cela peut réduire le spam de connexion automatisé et les tentatives de force brute.

Suivez ces étapes pour modifier l'URL de connexion par défaut dans WordPress :

  • Allez dans PluginsAjouter.
  • Installez un plugin permettant de modifier l'URL de connexion, puis activez-le.
  • Ouvrez les paramètres du plugin sous Paramètres ou Sécurité.
  • Définissez une nouvelle URL de connexion et enregistrez les modifications.
  • Déconnectez-vous et testez la nouvelle URL dans une fenêtre de navigation privée.

Utilisez un nom d'utilisateur administrateur unique {#use-a-unique-admin-username}

** **« admin » est la première tentative dans toutes les listes de force brute. L'utiliser donne aux attaquants la moitié de ce dont ils ont besoin.

Suivez ces étapes pour utiliser un nom d'utilisateur administrateur unique dans WordPress :

  • Allez dans UtilisateursAjouter.
  • Créez un nouvel utilisateur avec un nom d'utilisateur unique. N'utilisez pas votre nom de domaine, votre nom de marque ou le préfixe de votre adresse e-mail.
  • Définissez le rôle sur Administrateur, puis créez le compte.
  • Déconnectez-vous, puis reconnectez-vous avec le nouvel utilisateur administrateur.
  • Allez dans UtilisateursTous les utilisateurs.
  • Recherchez l'ancien compte administrateur et modifiez son rôle pour un niveau inférieur ou supprimez-le. Si vous le supprimez, attribuez son contenu au nouvel administrateur lorsque WordPress vous y invite.

Limitez les tentatives de connexion {#limit-login-attempts}

Ne laissez pas les robots essayer un nombre illimité de mots de passe. Après quelques tentatives infructueuses, bloquez l'adresse IP pendant un certain temps.

Commencez par les options simples

  • Installez un plugin qui gère la limitation de débit, tel que Wordfence, Limit Login Attempts Reloaded ou Loginizer.
  • Activez la limitation de débit dans le tableau de bord du pare-feu de votre hébergeur, si disponible.

Configuration avancée du serveur

Exemple de limitation de débit avec Nginx (recommandé si vous contrôlez la configuration de Nginx) :

Ajoutez ceci dans votre contexte HTTP Nginx :

Ajoutez ensuite une limite pour le point de terminaison de connexion à l'intérieur de votre bloc serveur :

Conseil : augmentez la valeur « rate » ou « burst » si des utilisateurs légitimes sont bloqués. Testez minutieusement.

Utilisez des mots de passe administrateur forts {#use-strong-admin-passwords}

Les mots de passe administrateur n'ont pas besoin d'être faciles à mémoriser. Ils doivent être difficiles à deviner. Utilisez un gestionnaire de mots de passe pour générer des mots de passe longs et aléatoires, et assurez-vous que chaque compte administrateur dispose d'un mot de passe unique. Ainsi, si un service est piraté, votre accès administrateur WordPress ne sera pas compromis.

Conseils de configuration :** **

  • Si possible, désactivez la réutilisation des mots de passe dans la politique de votre organisation.
  • Modifiez immédiatement les mots de passe administrateur lorsqu'un membre de l'équipe quitte l'entreprise.

Suivez ces étapes pour modifier un mot de passe d'administrateur dans WordPress :

  • Allez dans UtilisateursTous les utilisateurs.
  • Modifiez l'utilisateur administrateur.
  • Cliquez sur Définir un nouveau mot de passe, puis sur Mettre à jour l'utilisateur.

Utilisez les plugins de sécurité WordPress recommandés {#use-recommended-wordpress-security-plugins}

Les plugins de sécurité ne résoudront pas tout, mais ils peuvent vous offrir une protection rapide et une bien meilleure visibilité. Vous recherchez des journaux que vous pouvez réellement utiliser lorsque quelque chose semble anormal.

Un bon plugin de sécurité comprend :

  • Surveillance de l'intégrité des fichiers pour détecter les modifications inattendues
  • Protection de la connexion et application de l'authentification à deux facteurs
  • Analyse des logiciels malveillants avec un processus clair de nettoyage et de restauration
  • Alertes et journaux d'audit que vous pouvez réellement consulter
  • Règles de pare-feu de base

Une fois que vous savez ce que vous recherchez, installez un plugin réputé tel que Wordfence, Sucuri ou All In One WP Security. Ces outils ajoutent une protection de connexion, une détection des modifications de fichiers et des journaux, et ils peuvent bloquer de nombreuses tentatives d'exploitation courantes, y compris les attaques par force brute.

Suivez ces étapes pour installer un plugin de sécurité WordPress :

  • Allez dans PluginsAjouter.
  • Recherchez le plugin de sécurité.
  • Cliquez sur Installer maintenant, puis sur Activer.
  • Ouvrez le plugin depuis la barre latérale gauche et lancez son assistant de configuration, s'il en dispose.

Conseils de configuration :

  • Utilisez un seul plugin de sécurité principal pour éviter les conflits et les doublons.
  • Désactivez les fonctionnalités que vous n'utiliserez pas, en particulier les analyses lourdes sur les sites très fréquentés.
  • Si votre hébergeur propose une limitation de débit ou un blocage, utilisez ces fonctionnalités pour vous protéger contre les attaques par force brute lorsque cela est possible.

Dépannage :

  • Si vous êtes bloqué dans l'interface d'administration de WordPress, vérifiez les règles du pare-feu et désactivez d'abord le mode strict.
  • Ajoutez votre adresse IP à la liste blanche afin de ne pas bloquer l'accès à votre propre équipe.
  • Consultez les journaux avant de désactiver la protection afin de déterminer ce qui a déclenché le blocage.

Utilisez un pare-feu et un scanner de logiciels malveillants {#use-a-firewall-and-malware-scanning}

Les pare-feu bloquent les attaques avant qu'elles n'atteignent WordPress. Les analyses anti-malware vérifient ensuite si vos fichiers et votre base de données ont été altérés.

Si vous ne contrôlez pas la configuration du serveur, utilisez le tableau de bord du pare-feu de votre hébergeur ou un plugin de sécurité tel que Wordfence ou Sucuri pour limiter le nombre de connexions et restreindre ou bloquer le protocole XML-RPC.**

Configuration du pare-feu

Utilisez plusieurs couches de protection. Un WAF en périphérie, des règles serveur pour le trafic abusif et des analyses anti-malware pour le nettoyage.

Firewall setup

Sur les plateformes gérées, vous pouvez activer le pare-feu d'application Web intégré avec blocage par adresse IP ou par pays. Par exemple, Cloudways propose un module complémentaire Cloudflare Enterprise en option pour le filtrage en périphérie et la protection contre les bots.

Analyse des logiciels malveillants

Recherchez les modifications de fichiers inattendues et les injections dans les bases de données (liens de spam, scripts cachés).

Planifiez des vérifications régulières pour :

  • Modifications de fichiers et code PHP inconnu dans wp-content/uploads
  • Spam dans la base de données ou code injecté
  • Tâches cron suspectes et connexions sortantes

Cloudways propose un module complémentaire de protection contre les logiciels malveillants optimisé par Imunify360 pour l'analyse au niveau du serveur et le nettoyage automatisé.

Suivez ces étapes pour supprimer les logiciels malveillants de WordPress :

  • Activez le mode maintenance.
  • Identifiez le point d'entrée (plugin vulnérable, identifiants faibles).
  • Renouvelez tous les secrets (mots de passe d'administration/de base de données, salts, clés SSH).
  • Restaurer à partir d'une sauvegarde propre.
  • Corrigez la cause première avant la mise en production.

Renforcement technique avancé {#advanced-technical-hardening}

Le renforcement technique avancé consiste à sécuriser votre installation WordPress au-delà des mesures de base. Ces étapes se concentrent sur la configuration, les contrôles du serveur et les politiques d'accès qui réduisent l'exposition et limitent les dommages si une connexion ou un plugin est compromis.

Sécurisez le fichier wp-config.php {#secure-the-wp-config-php-file}

Le fichier wp-config.php contient les identifiants de la base de données et les clés secrètes. Traitez-le comme un coffre-fort.

Définissez des permissions strictes à l'aide de la commande suivante :

chmod 400 wp-config.php.

Cela empêche les autres utilisateurs et processus de lire ou de modifier le fichier. Utilisez 440 si votre serveur web a besoin d'un accès en lecture pour le groupe.

Si le site ne fonctionne plus avec 400, passez à 440 et assurez-vous que la propriété du groupe correspond à celle sous laquelle votre serveur web s'exécute.

Pour une protection supplémentaire, si votre configuration le permet, déplacez le fichier wp-config.php d'un niveau au-dessus de la racine du site. WordPress continuera à le charger automatiquement.

Limitez les rôles et les autorisations des utilisateurs {#limit-user-roles-and-permissions}

N'attribuez aux utilisateurs que les autorisations dont ils ont besoin (principe du moindre privilège). Cela empêche un compte piraté de prendre le contrôle de l'ensemble de votre site.

Suivez ces étapes pour limiter les rôles et les autorisations des utilisateurs dans WordPress :

  • Allez dans UtilisateursTous les utilisateurs.
  • Cliquez sur l'utilisateur que vous souhaitez examiner.
  • Dans le menu déroulant Rôle, choisissez le rôle le plus bas dont il a besoin, par exemple Abonné, Contributeur, Auteur ou Éditeur.
  • Cliquez sur Mettre à jour l'utilisateur.

Répétez l'opération pour chaque compte disposant du rôle d'administrateur et retirez ce rôle à toute personne qui n'en a pas besoin. Supprimez ou désactivez les comptes inactifs que personne n'utilise plus.

Si vous avez besoin d'un accès spécial, utilisez des rôles personnalisés et vérifiez les capacités avant de les attribuer. Vérifiez les rôles tous les trimestres et supprimez les accès administrateur inutiles. Cela limite ce qu'un pirate peut faire avec un identifiant volé.

Désactivez la modification de fichiers depuis le tableau de bord {#disable-file-editing-from-the-dashboard}

Désactivez l'éditeur de thèmes et de plugins intégré. Ainsi, un compte administrateur compromis ne pourra pas rapidement insérer du code malveillant dans les fichiers de votre site.

Suivez ces étapes pour désactiver la modification de fichiers depuis le tableau de bord WordPress :

  • Connectez-vous à votre site via SFTP ou le gestionnaire de fichiers de votre hébergeur.
  • Modifiez le fichier wp-config.php dans le répertoire racine de WordPress et ajoutez :
  • Enregistrez le fichier.
  • Accédez à Apparence dans l'administration WordPress. L'éditeur de thème disparaît. L'éditeur de plugin disparaît également.

Si votre équipe a besoin de modifier le tableau de bord, transférez ce workflow vers des déploiements basés sur Git ou SFTP avec des comptes restreints.

Désactivez XML-RPC {#disable-xml-rpc}

XML-RPC est un point d'entrée courant pour les attaques par force brute et l'abus de pingbacks. Bloquez-le au niveau de WordPress ou du serveur.

Option A : désactiver dans WordPress

  • Ajoutez ce qui suit au fichier functions.php ou à un plugin personnalisé :
  • Enregistrez le fichier.
  • Ouvrez le point de terminaison xmlrpc.php dans votre navigateur en vous rendant sur https://yourdomain.com/xmlrpc.php Vous verrez un message XML-RPC générique, mais les requêtes XML-RPC ne fonctionneront plus.

Cela désactive XML-RPC au niveau de WordPress. Le point de terminaison xmlrpc.php peut toujours être atteint ; pour une protection complète et pour réduire la charge, bloquez-le au niveau du serveur web ou du WAF.

Option B : bloquer au niveau du serveur web**

Le blocage de XML-RPC au niveau du serveur est l'option la plus efficace, car elle intercepte les requêtes avant l'exécution de PHP.

Nginx:

  • Ouvrez le fichier de configuration Nginx de votre site pour le domaine.
  • Ajoutez une règle pour xmlrpc.php dans le bloc serveur.
  • Rechargez Nginx.

Apache:

  • Modifiez la configuration Apache de votre site ou le fichier .htaccess si cela est autorisé.
  • Ajoutez la règle de bloc xmlrpc.php.
  • Rechargez Apache.

Cela empêche les requêtes d'atteindre WordPress, ce qui réduit la charge et coupe les voies d'attaque XML-RPC courantes.

Remarque : si le plugin Jetpack ou l'application mobile WordPress a besoin de XML-RPC, ne le bloquez pas complètement. Limitez plutôt le débit des requêtes et, dans la mesure du possible, n'autorisez l'accès qu'à partir d'adresses IP de confiance.

Sauvegardes et surveillance {#backups-and-monitoring}

Préparez-vous à une panne. Les sauvegardes vous permettent de récupérer rapidement. La surveillance vous indique ce qui a changé.

Sauvegardez régulièrement votre site web {#back-up-your-website-regularly}

Les sauvegardes ne sont pas facultatives. Elles constituent votre issue de secours lorsqu’une mise à jour perturbe la production, qu’un plugin est compromis ou qu’un déploiement raté détruit la base de données.

Ce qu'il vous faut ici, c'est conserver une copie propre de votre site que vous pouvez restaurer rapidement, sans avoir à deviner ce qui manque.

Sauvegarde manuelle

Suivez ces étapes pour sauvegarder votre site WordPress :

  • Installez et activez un plugin de sauvegarde depuis PluginsAjouter.
  • Ouvrez le plugin et lancez la sauvegarde maintenant en sélectionnant les fichiers et la base de données.
  • Enregistrez-la sur un espace de stockage externe si possible.

Sauvegarde automatisée

La plupart des hébergeurs WordPress gérés incluent par défaut des sauvegardes automatiques, généralement effectuées quotidiennement, conservées pendant une période de rétention glissante et disponibles sous forme de points de restauration en un clic depuis le tableau de bord de l'hébergement.

Automated backup

Choisissez une fréquence en fonction de la cadence à laquelle votre site évolue.

  • Quotidien : pour les sites actifs avec des mises à jour, des commentaires ou des commandes fréquents.
  • Hebdomadaire : pour les sites marketing peu modifiés.
  • Mensuel :** **Lorsque le contenu change rarement.

Une sauvegarde complète inclut votre base de données, le dossier wp-content (en particulier les fichiers téléchargés) et les fichiers de configuration si votre configuration ne les recrée pas automatiquement.

Bonnes pratiques :

  • Stockez les sauvegardes hors site. Une panne de serveur ne les effacera pas non plus.
  • Conservez plusieurs points de restauration, pas seulement le dernier instantané.
  • Testez régulièrement les restaurations. Les sauvegardes non testées ne sont pas fiables. Vous espérez qu'elles fonctionneront au moment crucial.

Si les restaurations sont lentes ou échouent, la sauvegarde est généralement trop volumineuse. Vérifiez l'augmentation de la taille des sauvegardes, souvent causée par les fichiers journaux ou les répertoires de cache à l'intérieur de wp-content. Excluez les répertoires de cache des sauvegardes lorsque votre plateforme peut les régénérer en toute sécurité.

Surveillez votre site {#monitor-your-site}

Le renforcement de la sécurité aide, mais la surveillance permet de détecter ce qui passe entre les mailles du filet. Identifiez les problèmes dès leur apparition. Préparez des journaux pour retracer ce qui s'est passé.

Surveillance de la disponibilité

Les contrôles de disponibilité vous aident à détecter les pannes du site ou les anomalies, comme une page d'accueil piratée, une mise à jour qui perturbe le fonctionnement de PHP ou une attaque qui surcharge le serveur.

Des outils de disponibilité tels que UptimeRobot (offre gratuite très complète) ou Pingdom effectuent des vérifications HTTP et par mots-clés sur votre page d'accueil et vos pages clés.

Configuration pratique :

  • Surveillez votre page d'accueil et une page importante accessible sans connexion, comme la page des tarifs, la page de paiement ou la page d'accueil principale.
  • Utilisez à la fois des vérifications de statut HTTP et des vérifications de mots-clés afin qu'une page piratée qui renvoie toujours une réponse 200 normale ne passe pas inaperçue.

Alertes de sécurité

Configurez des alertes pour les événements indiquant une prise de contrôle de compte, une altération ou une anomalie.

Des plugins de sécurité tels que Wordfence ou Sucuri vous alertent en cas de pics de connexions, de modifications de fichiers et de nouveaux utilisateurs administrateurs.

Suivez ces étapes pour configurer des alertes dans WordPress :

  • Allez dans PluginsAjouter.
  • Installez et activez un plugin de sécurité prenant en charge les alertes.
  • Ouvrez le plugin depuis la barre latérale gauche.
  • Recherchez « Alertes » ou « Notifications » dans les paramètres du plugin.
  • Activez les alertes pour :
    • Création d'un nouvel utilisateur administrateur
    • Modifications des fichiers du plugin ou du thème
    • Pics de connexions ou échecs répétés
    • Mises à jour critiques du plugin disponibles
    • Problèmes liés au DNS ou aux certificats SSL
  • Transférez les alertes critiques vers Slack ou PagerDuty. Réservez les e-mails aux notifications de faible priorité.

Journaux d'activité

Lors d'un incident, les journaux répondent aux seules questions qui comptent : qu'est-ce qui a changé, quand cela a-t-il changé, qui l'a modifié et d'où.

Configuration pratique :

  • Enregistrez les actions d'administration telles que la création d'utilisateurs, l'installation de plugins et les modifications de paramètres.
  • Conservez les journaux suffisamment longtemps pour enquêter sur les compromissions à évolution lente.
  • Associez les journaux d'activité aux journaux d'accès au serveur afin de pouvoir corréler les adresses IP et les agents utilisateur.

Suivez ces étapes pour activer les journaux d'activité dans WordPress :

  • Allez dans PluginsAjouter.
  • Installez et activez un plugin de journalisation des activités.
  • Ouvrez le plugin depuis la barre latérale gauche.
  • Activez la journalisation des actions d'administration, telles que la création d'utilisateurs, l'installation de plugins et les modifications de paramètres.
  • Définissez la durée de conservation des journaux, puis enregistrez.
  • Si disponible, activez l'exportation des journaux ou leur transfert vers un stockage externe.

Si les journaux s'accumulent trop rapidement, réduisez leur volume sans perdre les informations dont vous aurez besoin plus tard.

  • Réduisez le niveau de détail pour les événements non critiques.
  • Effectuez une rotation intensive des journaux.
  • Transférez les journaux vers un stockage externe lorsque cela est possible.

Conclusion {#final-thoughts}

La sécurité de WordPress est généralement compromise pour des raisons simples. De petites failles restent ouvertes trop longtemps : mises à jour manquées, mots de passe faibles ou accès administrateur trop étendus.

Si vous ne devez faire qu'une seule chose, misez sur la régularité. Mettez à jour le cœur de WordPress, les thèmes et les plugins de manière régulière. Appliquez l'authentification à deux facteurs (2FA) sur les comptes administrateurs. Utilisez des mots de passe longs et uniques, et évitez les noms d'utilisateur évidents. Activez le protocole HTTPS sur toutes les pages afin que les identifiants, les sessions et les données des formulaires restent cryptés.

Une fois les bases en place, ajoutez une protection supplémentaire. Utilisez un pare-feu pour bloquer le trafic malveillant avant qu'il n'atteigne votre site. Effectuez des analyses de logiciels malveillants et surveillez les modifications de fichiers afin de détecter les problèmes à un stade précoce. Conservez des sauvegardes hors site, conservez plusieurs points de restauration et testez les restaurations afin que la récupération soit prévisible.

Une fois ces mesures en place, votre site WordPress sera plus difficile à compromettre, plus facile à surveiller et plus rapide à restaurer en cas de problème.

Foire aux questions {#frequently-asked-questions}

1. WordPress est-il sécurisé ?

Oui, WordPress est sécurisé lorsque vous suivez les pratiques de base : maintenez le cœur, les thèmes et les plugins à jour ; utilisez des mots de passe forts et uniques ainsi que l'authentification à deux facteurs (2FA) pour les administrateurs ; choisissez un hébergement avec isolation et pare-feu ; effectuez des sauvegardes régulières.

2. WordPress dispose-t-il de fonctionnalités de sécurité intégrées ?

Oui. Le cœur de WordPress est livré avec des fonctionnalités de base solides telles que les rôles et les autorisations, la protection des actions d'administration, le hachage sécurisé des mots de passe et des mises à jour de sécurité régulières. La plupart des compromissions réelles proviennent de plugins et de thèmes obsolètes, d'identifiants faibles ou de serveurs mal configurés, et non d'une installation par défaut du cœur qui est maintenue à jour.

Rencontre avec Ranktracker

La plateforme tout-en-un pour un référencement efficace

Derrière chaque entreprise prospère se cache une solide campagne de référencement. Mais avec d'innombrables outils et techniques d'optimisation parmi lesquels choisir, il peut être difficile de savoir par où commencer. Eh bien, n'ayez crainte, car j'ai ce qu'il vous faut pour vous aider. Voici la plateforme tout-en-un Ranktracker pour un référencement efficace.

Nous avons enfin ouvert l'inscription à Ranktracker de manière totalement gratuite !

Créer un compte gratuit

Ou connectez-vous en utilisant vos informations d'identification

3. Mon site WordPress a-t-il été piraté ?

Soyez attentif aux signaux d'alerte évidents tels que des redirections inattendues, de nouveaux utilisateurs administrateurs que vous n'avez pas créés, des fichiers de thème ou de plugin modifiés sans déploiement, des tâches planifiées inhabituelles et des pics soudains de connexions. Vérifiez les journaux de votre plugin de sécurité et les journaux d'accès au serveur. Si vous utilisez Google Search Console, recherchez les avertissements et les URL indexées inconnues.

4. Comment passer mon site WordPress en HTTPS ?

Installez le certificat SSL dans le panneau de configuration de votre hébergement. Mettez ensuite à jour l'URL d'accueil et l'URL du site WordPress en HTTPS et forcez le protocole HTTPS pour l'espace d'administration et l'interface publique. Si vous voyez des avertissements de contenu mixte, remplacez les liens HTTP codés en dur dans la base de données et les ressources du thème. Si vous utilisez un proxy ou un équilibreur de charge, assurez-vous que WordPress reconnaît la requête d'origine comme étant en HTTPS afin d'éviter les boucles de redirection.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Commencez à utiliser Ranktracker... gratuitement !

Découvrez ce qui empêche votre site Web de se classer.

Créer un compte gratuit

Ou connectez-vous en utilisant vos informations d'identification

Different views of Ranktracker app