WordPress XML-RPC est une fonctionnalité assez datée intégrée au CMS WordPress. C’est un moyen de standardiser les communications entre un site WordPress et d’autres technologies web ou mobiles. Si vous êtes un utilisateur de WordPress, ce tutoriel vous dira ce qu’est XML-RPC et pourquoi c’est une bonne idée de le désactiver pour vous protéger.
Comment fonctionne XML-RPC
Votre site WordPress est conçu pour fonctionner sur le Web. Il utilise des technologies Web de base telles que HTML, CSS et PHP. Tous ces fichiers sont bien rangés dans des dossiers à l’intérieur de votre serveur d’hébergement.
Lorsqu’un visiteur clique sur votre nom de domaine ou l’un de ses dérivés, il atterrit sur votre page Web. Le dossier spécifique contenant les informations qu’ils souhaitent télécharger dans leur navigateur. Maintenant, le navigateur interprète ces informations et les leur montre.
Mais que faire si vous ne souhaitez pas accéder à votre site Web à l’aide d’un navigateur ? Et si vous souhaitez y accéder depuis un logiciel d’administration personnalisé ou même une application mobile ?
Le XML-RPC de WordPress couvre ce problème.
XML-RPC est une API qui encapsule les informations essentielles dans un simple fichier XML et les envoie à l’application mobile ou au logiciel distant. L’application mobile gonfle ensuite ces informations avec son propre design préconfiguré. Dans ce cas, l’application mobile n’a plus besoin de télécharger des fichiers de page Web importants et vous pouvez toujours accéder à vos données dans une application astucieuse.
Aussi bon que cela puisse paraître, le seul problème est que vous devrez envoyer votre nom d’utilisateur et votre mot de passe à chaque fois que vous souhaitez vous authentifier via XML-RPC. Cela le rend très vulnérable aux attaques d’un pirate informatique.
Comment XML-RPC vous rend vulnérable
XML-RPC laisse votre site vulnérable aux attaques d’au moins deux manières : attaques par force brute et vol des identifiants de connexion.
1. Attaques par force brute
Les attaquants tentent d’infecter votre site Web en utilisant une attaque par force brute.
Une attaque par force brute n’est qu’un jeu de devinettes. L’attaquant tente de deviner votre mot de passe encore et encore jusqu’à ce qu’il réussisse.
Cela se produit plusieurs milliers de fois par seconde afin qu’ils puissent essayer des millions de combinaisons en peu de temps.
Sur un site WordPress, vous pouvez facilement limiter les attaques par force brute en plafonnant les tentatives de connexion pour votre site Web. Cependant, le problème avec XML-RPC est qu’il ne limite pas les tentatives de connexion sur votre site.
Un attaquant peut continuer à deviner en trompant votre serveur qu’il s’agit d’un administrateur cherchant à récupérer des informations. Et parce qu’ils n’ont pas les bonnes informations d’identification, ils ne peuvent pas encore accéder à votre site, ils continuent donc d’essayer plusieurs fois sans fin.
Comme il n’y a pas de limite au nombre d’essais, ce n’est qu’une question de temps avant qu’ils n’y accèdent. De cette façon, un pirate peut également facilement faire tomber un site en effectuant une attaque DDOS XML-RPC (en envoyant des vagues de requêtes « pingback » à XML-RPC pour surcharger et faire planter le serveur).
2. Interception/vol des informations de connexion
Une autre faiblesse du XML-RPC est le système d’authentification inefficace. Chaque fois que vous envoyez une demande d’accès à votre site Web, vous devez également soumettre vos identifiants de connexion. Cela signifie que votre nom d’utilisateur et votre mot de passe sont exposés.
Des pirates informatiques peuvent se cacher au coin de la rue pour intercepter ce paquet d’informations. Une fois qu’ils ont réussi, ils n’ont plus besoin de subir les rigueurs des attaques par force brute. Ils valsent simplement dans votre site Web en utilisant vos informations d’identification valides.
Dois-je désactiver XML-RPC dans WordPress ?
Depuis la version 3.5 de WordPress, le code XML-RPC a été tellement amélioré que l’équipe WordPress l’a jugé suffisamment sûr pour être activé par défaut. Si vous comptez sur des applications mobiles ou des logiciels à distance pour gérer votre site WordPress, vous ne devriez probablement pas désactiver XML-RPC.
Si vous êtes très conscient de la sécurité de votre serveur, il vaut peut-être mieux le désactiver car il masque un moyen possible que les pirates peuvent utiliser pour attaquer votre site.
Comment désactiver XML-RPC dans WordPress
XML-RPC est activé par défaut dans WordPress, mais il existe plusieurs façons de le désactiver.
Noter: si vous utilisez le plugin JetPack populaire, vous ne pouvez pas désactiver XML-RPC, car il est nécessaire pour que Jetpack communique avec le serveur. De plus, avant de désactiver XML-RPC, assurez-vous qu’aucun de vos plugins ou thèmes ne l’utilise.
Désactiver XML-RPC
1. Localisez votre dossier de thème (généralement dans « wp-content/themes/ ») et ouvrez le fichier « functions.php ».
2. Collez les commandes suivantes à la fin du fichier :
// Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' );
Enregistrez le fichier « functions.php ». Cela désactivera la fonctionnalité XML-RPC dans WordPress. Notez que cette méthode ne désactive que XML-RPC, mais elle n’empêche pas les pirates d’attaquer votre site puisque le fichier xml-rpc.php existe.
Blocage de l’accès au fichier XML-RPC
Le meilleur moyen d’empêcher les pirates d’attaquer est de bloquer l’accès au fichier xml-rpc.
serveur Apache
Si votre site WordPress s’exécute sur un serveur Apache (si vous voyez un fichier « .htaccess » dans votre dossier d’installation WordPress, vous pouvez être à peu près sûr que votre site est hébergé sur un serveur Apache), suivez ces étapes.
1. Connectez-vous à votre CPanel. Recherchez le gestionnaire de fichiers.
2. Ouvrez le gestionnaire de fichiers. Accédez au dossier « public_html » puis au document « .htaccess ».
3. Cliquez avec le bouton droit pour modifier le fichier.
4. Au bas du fichier collez le code suivant :
# Disallow all WordPress xmlrpc.php requests to this domain <Files xmlrpc.php> order deny,allow deny from all </Files>
5. Enregistrez et quittez.
Serveur Nginx
Pour le serveur Nginx, collez le code suivant dans votre fichier de configuration de serveur :
# nginx block xmlrpc.php requests location /xmlrpc.php { deny all; }
Votre site est désormais à l’abri des attaques.
En conclusion
Les attaques par force brute et le vol de données continueront de poser des problèmes aux propriétaires de sites. Il est de votre devoir de vous assurer que votre site est sécurisé. La désactivation de XML-RPC est un moyen efficace de le faire. Suivez le guide ci-dessus et protégez votre site Web et vos visiteurs contre les pirates maintenant.
Soutenez notre effort ❤️
Si vous avez apprécié cet article, pensez à laisser un pourboire pour nous aider à continuer à publier du contenu de qualité.


























