- Qu’est-ce que XML-RPC et quel est son rôle sur WordPress ?
- Pourquoi désactiver XML-RPC sur WordPress ?
- Dans quels cas ne faut-il pas désactiver XML-RPC ?
- Comment vérifier si XML-RPC est actif sur votre site ?
- Comment désactiver XML-RPC sur WordPress ?
- Vérifications après désactivation
- Conclusion
- Sécurisez votre site dès maintenant !
XML-RPC est une fonctionnalité intégrée à WordPress permettant d’interagir avec votre site à distance via des requêtes HTTP. Il est utilisé notamment par l’application mobile WordPress, certains services tiers et des outils de gestion de sites.
Toutefois, XML-RPC est aussi une porte d’entrée pour des attaques automatisées. Des pirates peuvent l’exploiter pour forcer l’accès à votre site ou le surcharger de requêtes malveillantes.
Dans cet article, nous verrons en détail ce qu’est XML-RPC, pourquoi il peut poser un problème de sécurité, dans quels cas il est utile et comment le désactiver si nécessaire.
Qu’est-ce que XML-RPC et quel est son rôle sur WordPress ?
XML-RPC (Extensible Markup Language Remote Procedure Call) est un protocole permettant à WordPress de communiquer avec des applications et services tiers via des requêtes HTTP. Il est activé par défaut et permet l’interaction à distance avec votre site.
Les pingbacks et trackbacks : des fonctionnalités aujourd’hui obsolètes
XML-RPC prend en charge les pingbacks et trackbacks, qui étaient autrefois des outils essentiels pour le référencement et la mise en réseau entre blogs.
- Les trackbacks permettent à un site A d’envoyer un signal manuel à un site B pour l’informer qu’il a été cité dans un article.
- Les pingbacks, quant à eux, sont automatisés : si un site WordPress A mentionne un site WordPress B, celui-ci reçoit automatiquement une notification.
Cependant, ces fonctionnalités sont aujourd’hui largement détournées pour du spam et des attaques DDoS, ce qui les rend inutilisables dans la plupart des cas. Beaucoup de sites choisissent donc de les désactiver.
Connexion avec des services tiers comme IFTTT et Jetpack
XML-RPC est aussi utilisé pour connecter WordPress à des services externes et automatiser certaines tâches.
- IFTTT (If This Then That) : Cet outil permet de créer des automatisations entre WordPress et d’autres services. Par exemple, publier automatiquement un article WordPress sur Twitter ou sauvegarder un post dans Google Drive.
- Jetpack : Ce plugin tout-en-un développé par Automattic utilise XML-RPC pour synchroniser WordPress avec ses serveurs. Il permet notamment des sauvegardes automatiques, des protections contre les attaques et des statistiques avancées.
Si vous utilisez ces services, la désactivation complète de XML-RPC pourrait entraîner des dysfonctionnements.
Gestion du site à distance via l’application mobile WordPress
XML-RPC est également indispensable si vous souhaitez gérer votre site WordPress depuis l’application mobile officielle. Grâce à ce protocole, vous pouvez :
- Publier et modifier des articles à distance.
- Modérer les commentaires directement depuis votre téléphone.
- Recevoir des notifications sur l’activité du site.
Si vous utilisez fréquemment l’application mobile, XML-RPC doit rester activé pour assurer son bon fonctionnement.
Pourquoi désactiver XML-RPC sur WordPress ?
Un vecteur d’attaques couramment exploité
XML-RPC est souvent utilisé pour :
- Des attaques par force brute : les pirates tentent de deviner vos identifiants en envoyant des milliers de requêtes via
xmlrpc.php
. - Des attaques DDoS amplifiées : les pingbacks de XML-RPC sont détournés pour inonder un serveur de requêtes.
- L’exploitation de vulnérabilités connues : des failles ont été détectées dans certaines versions de WordPress utilisant XML-RPC.
Un impact sur la performance du site
- XML-RPC permet l’envoi de multiples requêtes simultanées, ce qui peut rapidement surcharger un serveur en cas d’attaque.
- Sa désactivation empêche certaines requêtes inutiles et améliore la stabilité du site.
Dans quels cas ne faut-il pas désactiver XML-RPC ?
Avant de désactiver XML-RPC, vérifiez que vous n’en avez pas besoin :
- Vous utilisez l’application mobile WordPress pour publier et gérer votre site à distance.
- Vous connectez WordPress à des services tiers comme Jetpack, IFTTT ou ManageWP.
- Vous utilisez les pingbacks pour connecter du contenu entre sites WordPress (bien que souvent remplacé par d’autres méthodes plus modernes).
Si vous avez besoin de XML-RPC mais souhaitez limiter les risques :
- Utilisez un pare-feu comme Wordfence ou Sucuri pour filtrer les requêtes suspectes.
- Restreignez l’accès à certaines IP en configurant votre
.htaccess
. - Désactivez uniquement les pingbacks plutôt que l’ensemble de XML-RPC.
Comment vérifier si XML-RPC est actif sur votre site ?
Vérification via un outil en ligne
Rendez-vous sur https://xmlrpcchecker.com et entrez l’URL de votre site. S’il détecte XML-RPC, c’est qu’il est actif.
Test manuel avec curl
Si vous avez un terminal (Mac/Linux ou WSL sous Windows), exécutez cette commande (remplacez monsite.com par votre nom de domaine) :
curl -d "<?xml version='1.0'?><methodCall><methodName>system.listMethods</methodName></methodCall>" -H "Content-Type: text/xml" https://monsite.com/xmlrpc.php
Si une réponse contenant system.listMethods
apparaît, XML-RPC est actif.
Comment désactiver XML-RPC sur WordPress ?
Sans plugin (via .htaccess et functions.php)
Désactiver XML-RPC via functions.php
Ajoutez ce code dans le fichier functions.php
de votre thème actif :
add_filter('xmlrpc_enabled', '__return_false');
Cette méthode empêche WordPress d’exécuter XML-RPC sans le bloquer totalement.
Bloquer XML-RPC via .htaccess
Ajoutez ce code dans votre fichier .htaccess
:
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
Cela bloque totalement l’accès au fichier xmlrpc.php
, empêchant toute requête malveillante.
Avec un plugin (méthode simple et rapide)
Utiliser « Disable XML-RPC »
- Installez et activez le plugin Disable XML-RPC.
- XML-RPC sera automatiquement désactivé sans autre configuration.
Utiliser un plugin de sécurité global (Sucuri, Wordfence)
Ces plugins offrent une option pour désactiver XML-RPC tout en renforçant d’autres aspects de la sécurité WordPress.
Vérifications après désactivation
Une fois XML-RPC désactivé, vérifiez que tout fonctionne correctement :
- Vérifiez avec XML-RPC Checker pour confirmer qu’il est bien inactif.
- Assurez-vous que vos outils tiers fonctionnent toujours si vous en utilisez.
Conclusion
XML-RPC est une fonctionnalité utile dans certains cas, mais elle représente aussi une surface d’attaque importante pour les hackers. Si vous n’en avez pas l’utilité, le désactiver est une bonne pratique pour renforcer la sécurité de votre site et améliorer ses performances.
Vous souhaitez aller plus loin ? Découvrez d’autres mesures de protection dans mon article sur comment sécuriser efficacement votre site WordPress.
Sécurisez votre site dès maintenant !
Désactiver XML-RPC est une première étape, mais une vraie protection passe par un renforcement global de votre site. Je vous accompagne pour sécuriser WordPress efficacement et éliminer les vulnérabilités.