Sécuriser WordPress, mythes et réalités
La sécurité, ce n’est pas mon métier. Mais du haut de mes quinze ans de WordPress sans piratage, je me suis dit que je pouvais faire le point sur la sécurité de WordPress, les failles réelles et les erreurs des débutants. Enfin, disons que je vais donner un point de vue très personnel sur la question qui devrait aider les amateurs à se faire une idée sur les bonnes pratiques.
Le strict minimum pas vraiment utile
WordPress est-il une passoire comme les anti-WordPress se plaisent à le répéter sur les forums de développeurs ? Évidemment que non puisque sinon la plupart des sites tournant sous le moteur WordPress seraient infectés. Un WordPress tout nu ne craint rien tant qu’il est à jour (on ne va pas compter les failles au niveau de l’hébergement ou un ordinateur vérolé).
La seule faiblesse, toujours soulignée sur le Web, c’est la page login. Elle est exposée aux attaques des bots qui cherchent à deviner identifiant et mot de passe par essais successifs. Évidemment, si vous avez un mot de passe fort non utilisé ailleurs, il est impossible pour les bots de le deviner rapidement, surtout qu’ils listent plutôt les identifiants et mots de passe qui traînent sur le Web. Ils vont vite passer à un autre site la plupart du temps. Mais si vous avez une boutique en ligne ou un site aux données sensibles, vous n’êtes pas à l’abri d’attaquants plus patients.

Pour contrer cette menace, la réponse que l’on trouve partout depuis des années c’est « déplacer l’URL de la page de login ». La seconde, c’est de limiter les tentatives de connexion. Fondamentalement, ce ne sont pas de mauvaises idées mais, paradoxalement, elles fragilisent les sites. Pourquoi cela ? C’est qu’une fois installée une extension de déplacement URL ou de blocage, beaucoup d’utilisateurs amateurs sont persuadés qu’ils ont fait le plus dur et que leur site est parfaitement protégé. C’est évidemment faux puisque le vrai et durable danger pour un site WordPress, ce sont les extensions et les thèmes qui amènent d’éventuelles failles de sécurité problématiques (développeur inconscient, thème pas mis à jour…).
Le second problème que je vois avec le déplacement de l’URL du login, c’est que l’on modifie un comportement par défaut de WordPress et je considère toute modification de ce type inopportune car elle veut générer des problèmes de compatibilité avec d’autres extensions – et ne parlons pas des gens qui oublient au bout d’un moment quelle est l’URL du login.
À retenir : déplacer l’URL de login ou bloquer les attaques à ce niveau n’est pas suffisant pour sécuriser son WordPress.
Bouts de code
Un autre mantra qui peut être contreproductif pour les gens qui se mettent à WordPress, c’est la phobie des extensions. « Je ne veux pas ajouter une extension, je préfère un bout de code, c’est plus léger ». C’est évidemment très relatif puisque si le bout de code fait la même chose que l’extension, vous n’y gagnez rien. Dans le cas de la sécurité, ça se traduit par une accumulation de bouts de code qui servent à tout : ça va de la sécurisation du très important fichier wp-config.php
au déplacement entier des fichiers vers un répertoire secret. Toutes ces ficelles ont un point commun : elles commencent à dater. Elles datent très exactement du temps où il n’y avait pas d’extension de sécurité complète pour WordPress. Les utilisateurs en étaient réduits à chercher des recettes sur le Web. Personnellement, je considère qu’elles n’ont pas de nécessité. Si un pirate peut avoir accès à wp-config.php
ou plus généralement au serveur où sont entreposés vos fichiers, il a la possibilité de nuire qui dépassent l’accès aux fichiers cachés. Ces bouts de code ont un autre inconvénient : en cas de problème sur le site, il faudra faire une vérification sur tous ces ajouts.
À retenir : recopier des bouts de code pour sécuriser son site est une solution obsolète et contraignante
Faisons simple
Je ne connais qu’une seule et bonne méthode pour sécuriser un site : installer une (et une seule) solution de sécurité/pare-feu.
Les extensions de sécurité protègent complètement un site sans faille de sécurité. En cas de faille (extension ou thème mal codé, ordinateur/smartphone vérolé, hébergeur piraté), il ne va pas obligatoirement pouvoir empêcher le piratage. Mais il saura vous prévenir de tout évènement suspect.
Elles doivent donc (et les complètes le font) :
- prévenir d’un évènement lié à la sécurité – changement de statut d’une extension (installée, activée, etc), utilisation d’un fichier php récent, mise à jour de règles de sécurité lorsqu’une faille est découverte sur une extension, avertissement lorsqu’une extension ou un thème nécessite une mise à jour immédiate
- protéger la page login
- gérer les règles de sécurité de base liées à WordPress
- permettre la comparaison suite à une modification d’un fichier – c’est une possibilité que je n’active pas parce que ça signifie que vous doublez l’espace serveur nécessaire et je ne peux pas me le permettre

Voici les trois extensions que je conseille pour des raisons plus ou moins valables.
1. Ninja Firewall
Moi aussi j’ai installé des petites extensions de sécurité et rajouté des bouts de code en pensant que ça suffisait bien comme ça. Et j’avais une peur bleue de me faire bloquer hors de mon site par une extension de sécurité. Mais c’était à une autre époque, un autre temps… À force de lire des choses au sujet du piratage, je me suis décidé à sauter le pas. Ninja Firewall a été un choix évident parce qu’elle est considérée comme l’extension de sécurité qui impacte le moins la vitesse d’une installation WordPress. Elle est aussi considérée comme très efficace (cf. plus loin).
2. SecuPress (pas testée)
Développée par une partie de l’équipe de WP Rocket, on peut imaginer que c’est du sérieux. De plus, développée par une équipe française, ça peut aider en cas de problème. Et c’est une bonne raison pour la préférer à la concurrence.
3. Wordfence (pas testée)
La plus populaire des extensions de sécurité. Difficile de l’écarter de cette liste mais elle est réputée pour son poids sur le fonctionnement de WordPress.
Attention, il ne faut installer qu’une seule extension de sécurité à la fois. Sinon les risques d’interférence sont trop importants et vous risquez de voir votre site tout cassé.
Complément indispensable
Le complément indispensable à l’extension de sécurité, c’est évidemment l’extension de sauvegarde (backup). La base de données en priorité et de manière quotidienne. Et les fichiers, par FTP et moins fréquemment.
La vraie faille WordPress dont personne ne parle
Assez étrangement, je ne lis jamais rien sur ce qui me paraît un grave problème de sécurité lié aux extensions de WordPress. Lorsque vous installez une extension, vous êtes prévenu lorsqu’une mise à jour est disponible. Mais jamais lorsque cette extension est retirée du dépôt officiel. Or, une des raisons les plus probables de ce retrait, c’est la découverte d’une faille de sécurité pas corrigée. Si bien que vous pouvez traîner une extension problématique dans votre installation pendant des années sans même savoir qu’elle a été retirée du dépôt. La seule façon que je connaisse de surveiller l’âge des extensions installées est l’extension Vendi Abandoned Plugin Check mais même elle ne vous dira pas si l’extension est retirée du dépôt.

Trop tard, mon WordPress a été piraté !
Si c’est le cas, il vous faut le nettoyer de fond en comble. Ne faites pas confiance aux extensions qui se vantent de nettoyer votre site. Elles détecteront des fichiers problématiques mais il est impossible de savoir si elles ont vraiment tout nettoyé. Car il faut nettoyer les fichiers suspects dans tous les répertoires et les entrées suspectes dans la base de données. C’est un travail de longue haleine qui oblige à mettre les mains dans le cambouis et vous obligera à un peu d’autoformation si FTP ou phpMyAdmin ne veulent rien dire pour vous – dans ce cas-là, un peu de lecture utile ici https://www.echodesplugins.li-an.fr/tutoriaux/mon-premier-wordpress/.
Cet excellent tutoriel va vous permettre de faire tout ce travail pas à pas : https://wpfr.net/support/sujet/solutions-de-depannage-pour-un-site-hacke-pirate/
La suite uniquement pour les curieux
Que valent les extensions de sécurité WordPress ? (version complotiste)

Impossible pour un clampin moyen de vraiment tester une extension de sécurité. On peut comprendre les fonctionnalités mais est-ce que c’est bien programmé, est-ce que ça pense à tout ? Heureusement, il y PluginVulnerabilities pour nous dire la vérité vraie.
Vous ne trouverez pas d’extension Plugin Vulnerabilities sur le dépôt. Elle en a été retirée en 2017 pour comportement déplacé : le développeur faisait la réclame de son produit en dénigrant la concurrence. Et c’est toujours le cas sur le site officiel https://www.pluginvulnerabilities.com/. À l’en croire, si Plugin Vulnerabilities protège un site à 100%, la concurrence fait au mieux… 36%. Et, hourra, c’est Ninja Firewall.
Il y a évidemment un côté risible à ces chiffres puisque si c’était réellement le cas, seuls les sites protégés par Plugin Vulnerabilities échapperaient au piratage. Mais la lecture de leur blog est néanmoins instructive si vous vous intéressez à la sécurité de votre site. Leurs articles souligne de manière éclairante les dysfonctionnements des sites plus connus d’analyse de sécurité ou même de l’équipe de gestion du dépôt (qui mériterait un article à elle toute seule) ou d’Automattic. Vous y découvrirez que l’installation d’Elementor est déconseillée vu les mauvaises pratiques de sécurité de cette extension – dont plusieurs failles ont été découvertes récemment.
Est-ce que je conseillerai leur produit ? Franchement, non. En dehors du prix prohibitif, le peu d’informations sur les options de leur pare-feu est pour le moins léger – l’extension gratuite se contentait d’informer des failles potentielles dans les extensions installées. Ils proposent d’ailleurs une extension pour navigateur qui fait le même travail et que je vais tester.