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.

Renforcer la sécurité de mon site

Article précédent

Masquer la version de WordPress : pourquoi et comment le faire ?

L’affichage de la version de WordPress expose votre site à des risques de piratage en facilitant l’identification des failles de sécurité. Découvrez pourquoi il est essentiel de la masquer et comment le faire efficacement, avec ou sans plugin, pour mieux protéger votre site.
Lire l'article
Article suivant

Protéger l’API REST de WordPress : pourquoi et comment ?

L’API REST de WordPress facilite les échanges de données, mais elle peut aussi exposer des informations sensibles aux attaquants. Plutôt que de la désactiver, il est préférable de la sécuriser efficacement. Découvrez les meilleures méthodes pour restreindre son accès et limi
Lire l'article