Protéger WordPress, voilà une tâche qui est si simple, mais est négligée par tant de propriétaires de site web. Pourtant, selon un article publié par « techjury », les statiques sont assez troublantes concernant les attaques sur le web. Par exemple :
- Il a plus de 30 000 sites web attaqués chaque jour.
- Parmi ceux-ci, environ 43% des sites ciblés sont ceux de petite et moyenne entreprise (PME).
- Dans le deuxième quart de 2019, les maliciels de rançons ont augmentés de 363%.
- Un site web est infecté toutes les 39 secondes.
Avec tout ce qui se passe sur le web, il est très important de protéger votre site web. Si vous voulez savoir pourquoi les pirates attaquent les sites, j’ai déjà publié un article sur le sujet.
Les vulnérabilités principales de WordPress
Avant de partager mes trucs pour protéger votre WordPress, je veux vous expliquer qu’elles sont les principales vulnérabilités. Après tout, je crois qu’il est plus simple de se protéger quand on comprend d’où proviennent les failles.
Voici donc les principales causes qui pourraient rendre votre WordPress vulnérable. Je vous expliquerai comment vous protéger de chacune d’elles par la suite.
Les versions de PHP

Il s’agit d’un vecteur d’attaque souvent négligé. Le PHP est le langage de programmation utilisé par WordPress et toutes ses extensions. Il est donc nécessaire au fonctionnement du site web.
À la base, le PHP est un logiciel comme tous les autres, il est donc en constante évolution et doit être maintenu à jour.
Il faut surtout se méfier des versions qui ont atteint leur fin de vie (table des versions EOL) et ne sont plus supportées par la communauté. Les pirates finissent souvent par trouver des vulnérabilités dans ces versions. Vu qu’elles ne sont plus maintenues, tous les sites les utilisant risquent d’être vulnérables.
Certains hébergeurs, comme nous, offrent des versions « durcies » de PHP. Une version « durcie » signifie que l’hébergeur s’assure que la version de PHP est sécuritaire. Même les versions « EOL » ont été « patchées » pour les garder sécuritaires.
Thème ou extension non utilisés
Les thèmes et les extensions présents dans les sites WordPress représentent toujours un vecteur de vulnérabilité, et ce même si l’extension n’est pas activée. Chaque fichier dans un hébergement peut être accédé sur le web si on connaît son l’emplacement.
Je vais vous donner un exemple. Disons que j’ai un vieux thème dans mon WordPress avec une vulnérabilité dans le pied de page. Même s’il est désactivé, un pirate pourrait y accéder comme suit :
https://monsiteweb.com/wp-content/theme/vieux-theme/footer.php
Le pirate pourra donc exploiter la faille du thème.
Fichiers non liés à notre site, mais quand même dans l’hébergement
Les sites web sont en constantes évolutions. Dans plusieurs occasions, l’hébergement du site web avait déjà été utilisé pour d’autres fins ou hébergeait une ancienne version du site.
Je vois fréquemment des hébergements avec un répertoire « old » ou « old-site ». En naviguant dans le répertoire, je m’aperçois qu’il s’agit d’un ancien site web qui n’est plus tenu à jour. Ce type de trouvaille est une vraie mine d’or pour un pirate.
Si un pirate réussit à entrer dans la vieille version du site, il sera en mesure d’accéder à tous les autres sites à l’intérieur du même hébergement.
Le fichier « wp-login.php »
Il s’agit du fichier utilisé pour accéder à l’administrateur du site web. C’est aussi le fichier le plus sollicité par les pirates informatiques.
J’ai remarqué que dans nos serveurs d’hébergements canadiens qu’il a en moyenne 30 tentatives de connexion en tout temps. Les pirates tentent de deviner votre mot de passe avec des attaques dictionnaires. Dans certains cas, ils essaient plusieurs milliers de mots de passe à heure.
C’est aussi une des causes les plus fréquentes d’un ralentissement de site web.
Le protocole « xmlrpc »
Ce protocole est une des façons de contrôler votre site à distance. Il y a plusieurs applications pour mobile et PC qui utilisent ce protocole afin de se connecter à un site WordPress.
Si ce protocole est disponible pour les logiciels, il l’est aussi pour les pirates.
Avec ce protocole, un pirate peut essayer plus 1000 mots de passe avec une seule requête. Il peut donc trouver plus rapidement les accès tout en passant beaucoup plus facilement sous les radars.
Les thèmes, extensions et mise à jour
WordPress et ses extensions sont « open source », ceci signifie que le code peut être vu par tout le monde. C’est un concept que j’aime beaucoup vu qu’il permet d’être amélioré plus rapidement par la communauté. En contrepartie, lorsqu’une vulnérabilité est découverte, c’est également visible à tout le monde.
Les pirates ont plusieurs réseaux de robots (botnet) qui balayent régulièrement les sites internet. Ils tentent de trouver des fichiers vulnérables.
Première partie pour protéger WordPress

Maintenant que je vous ai montré les principales causes d’un site web infecté, je vais vous montrer comment le protéger.
Avant-garde, assurez-vous toujours effectuer une sauvegarde complète de votre site avant d’appliquer un changement. Je ne peux pas assez insister sur ce point! On ne sait jamais ce qui peut arriver à un site quand on commence à l’optimiser ou le sécuriser. Il est possible que certaines extensions n’aiment pas les modifications apportées et brise votre site WordPress.
Les vieilles versions de PHP
Pour les vieilles versions de PHP, vous avez deux options.
La première méthode est de faire affaire avec un hébergeur web qui offre des versions de PHP « durcies ». Tous nos serveurs hébergements web canadiens offrent la version « durcie » de PHP. Je vous conseille cette option seulement si vous n’êtes pas en mesure de changer la version pour une plus récente.
La deuxième méthode est de changer la version de PHP. La façon de faire va varier d’un panneau de contrôle à l’autre. Si une version n’est pas disponible dans votre panneau de contrôle, vous devez contacter votre hébergeur, ou déménager votre site avec nous!
Voici quelques exemples :
Changer la version de PHP dans cPanel
- À partir du cPanel, allez dans le menu « Gestionnaire MultiPHP ».
- Placez un crochet dans la case de droite sur la rangée du tableau, située au bas de la page, correspondant à votre site WordPress.
- Dans le menu déroulant « Version de PHP », sélectionnez la version désirée.
- Appuyez sur le bouton « Appliquer ».
Changer la version de PHP dans cPanel avec CloudLinux
- À partir du cPanel, allez dans le menu « Sélectionner une version de PHP ».
- Dans le menu déroulant « Current PHP version », sélectionnez la version désirée.
- Appuyez sur le lien « Set as current ».
Changer la version de PHP dans Plesk
- À partir du Plesk, allez dans le menu « PHP Settings ».
- Dans le menu déroulant « PHP support (PHP version », sélectionnez la version désirée.
- Appuyez sur « OK » dans le bas de la page.
Nettoyer les thèmes et les extensions non utilisés
Comme mentionné plus haut, chaque thème et extension non utilisés peuvent quand même être une porte ouverte pour un pirate.
Voici donc comment enlever ceux dont on n’a plus besoin.
Enlever une extension WordPress
- Entrez dans le tableau d’administration de votre site web.
- Dirigez-vous vers le menu « Extensions ».
- Sous chaque extension désactivée, vous avez un lien « Supprimer ».
- Appuyez sur le lien « Supprimer » pour enlever l’extension.
- Répétez pour les autres extensions inactives.
Enlever un thème WordPress
- Entrez dans le tableau d’administration de votre site web.
- Dirigez-vous vers le menu « Apparence -> Thèmes ».
- Appuyez sur un thème inactif.
- Appuyez sur le lien « supprimer » dans le coin inférieur à droite de la fenêtre du thème.
Une extension pour sécuriser votre site web

Jusqu’à présent, je vous ai montré certaines techniques pour sécuriser votre site qui ne nécessitent pas d’extension. Cependant, pour sécuriser les autres failles, je vais vous suggérer d’installer une extension dans votre site.
L’extension que je vous demande d’installer est « iTheme Security ». Il s’agit d’une extension que j’utilise depuis déjà plus de 5 ans et elle ne m’a pas encore laissé tomber.
Pour débuter, vous devez installer l’extension à partir du menu d’extensions de WordPress.
Nous allons avoir un nouveau menu dans la barre latéral nommé « Security » après l’installation de l’extension. Quand vous allez ouvrir le menu pour la première fois, l’extension va nous offrir un « Security check ». Je vous conseille de sauter cette étape en appuyant sur « close » dans le coin inférieur gauche.
Protéger le fichier « wp-login.php »
La manière de protéger le fichier « wp-login.php » est simplement de changer le lien par où on doit accéder à notre tableau de bord. Voici les étapes à suivre :
- Entrez dans le menu « Security ».
- Dans le coin supérieur droit, vous avez un lien « Advanced ». Il va vous permettre d’aller dans les réglages avancés.
- Sélectionnez l’option « Hide Backend » en appuyant sur le bouton « Configure Settings ».
- Activez la protection en appuyant sur « Enable the hide backend feature ».
- Entrez le mot qui sera utilisé pour remplacer « wp-login.php » ou « wp-admin » dans la case « Login Slug ».
- Appuyez sur « Save Setting » pour sauvegarder vos changements.
Suite a cette modification, pour accéder à votre tableau de bord WordPress, vous allez devoir utiliser un lien comme celui-ci :
https://monsiteweb.ca/mon-mot-perso
Désactiver le protocole « xmlrpc »
Durant toute mon expérience en hébergement web au Canada, j’ai vu seulement deux sites qui utilisaient le protocole « xmlrpc ». Pour tous les autres sites, il vaut le désactiver pour fermer la porte au pirate. Voici comment faire :
- Entrez dans le menu « Security ».
- Appuyez sur le bouton « Enable » de l’option « WordPress Tweaks ».
- Maintenant, entrez dans les « WordPress Tweaks » en appuyant sur le bouton « Configure Setting ».
- À côté de « XML-RPC », changez l’option dans la case déroulante pour « Disable XML-RPC (recommended) ».
- Maintenant pour l’option « Multiple Authentication Attempts per XML-RPC Request ». Changez le menu déroulant pour « Restricted Access (recommended) ».
- Appuyez sur le bouton « Save Setting » dans le coin inférieur gauche.
Protéger les thèmes, extensions
La meilleure méthode pour se protéger est de toujours s’assurer que tous vos extensions, thèmes et WordPress soient à jour.
L’extension « iTheme Security » peut ajouter une protection additionnelle sur nos extensions et nos thèmes. Voici comment procéder :
- Entrez dans le menu « Security ».
- Appuyez sur le bouton « Enable » de l’option « System Tweaks ».
- Maintenant, entrez dans les « System Tweaks » en appuyant sur le bouton « Configure Setting ».
- Placez un crochet dans pour les trois options suivantes :
- L’option « PHP in Uploads »
- L’option « PHP in Plugins »
- Et « PHP in Themes »
- Appuyez sur le bouton « Save Setting » dans le coin inférieur gauche.
Enfin, on a fini de protéger WordPress!
Les étapes que nous avons faites dans ces articles sont le minimum que je conseille à tous les propriétaires de sites WordPress.
Je suis conscient que certaines personnes peuvent être intimidées à la suite de la lecture de cet article. Mais sachez qu’il est beaucoup moins difficile de protéger son site que de le nettoyer après le passage d’un pirate.
Si à la suite de la lecture de cet article vous n’osez pas trop modifier votre site, sachez qu’on est toujours là pour vous aider.