Comment désactiver XML-RPC pour une meilleur sécurité de WordPress ?

Publié le 
2 janvier 2021

Comment désactiver XML-RPC pour sécuriser votre site WordPress ? Avant de répondre à cette question, voyons à quoi sert ce protocole. Le protocole XML-RPC (abréviation de « Extensible Markup Language Remote Procedure Call) est une spécification qui permet la communication entre WordPress et d’autres systèmes.

Le XML-PRC a été très utile avec WordPress pour nous permettre d'écrire du contenu en offline.

Qu'est ce que le protocole XML-RPC ? 

Le protocole XML-RPC est une fonction de WordPress. Son code est stocké dans un fichier appelé xmlrpc.php, dans le répertoire racine de ton site. Depuis la version 3.5 de WordPress, le XML-RPC est activé par défaut. 

Ce protocole est utilisé pour :

  • l’application mobile de WordPress,
  • la communication entre WordPress et d’autres plateformes de blogs,
  • il permet les trackbacks et les pingbacks.
  • et  alimente l'extension JetPack qui relie un site WordPress.

Mais depuis que l’API REST a été intégrée dans le noyau de WordPress (depuis la version 4.4), le fichier xmlrpc.php n’est plus utilisé pour cette communication.

As-tu besoin de désactiver la fonction XML-RPC ? 

La principale raison pour laquelle vous devriez désactiver le xmlrpc.php sur votre site WordPress est qu’il introduit des vulnérabilités de sécurité et peut être la cible d’attaques.

Désormais, le XML-RPC n’est plus nécessaire pour communiquer en dehors de WordPress, il n’y a plus de raison de le maintenir actif. C’est pourquoi il est judicieux pour sécuriser votre site WordPress de le désactiver.

De plus, utiliser ce protocole peut entrainer différentes vulnérabilités : 

  • Attaques de force brute via XML-RPC : chaque fois que le xmlrpc.php fait une requête, il envoie l’identifiant et le mot de passe pour l’authentification, contrairement à l’API REST. Si un hacker envoie suffisamment de requêtes à ton site, chacune avec une paire d’identifiant et de mots de passe différente, il y a une chance qu’il puisse éventuellement trouver la bonne, lui donnant ainsi accès à votre site.
  • Attaques DDoS via les pingbacks XML-RPC :  en envoyant un grand nombre de pingbacks sur ton site en peu de temps. Cela pourrait surcharger ton serveur et rendre ton site hors service.

Alors dois-tu désactiver XML-RPC pour sécuriser ton site WordPress ? La réponse est OUI ! ( sauf les cas très particuliers vus auparavant). 

Comment savoir si le service xmlrpc.php est présent sur ton site ?

Pour cela, rien de bien compliqué, utilise le service de validation XML-RPC de WordPress :

https://xmlrpc.eritreo.it/

Tu peux également vérifier à cette adresse :  http://tondomaine/xmlrpc.php et entre ton nom de domaine à la place de "tondomaine" et si tu as un de ces messages « Access forbidden! » ou« 403 error » c'est que XML-RPC est désactivé. 

Il ne s’agit pas simplement de vérifier si le fichier est là : il fait partie de chaque installation de WordPress et sera présent même si XML-RPC est désactivé !

Comment désactiver xmlrpc.php sur ton site ?

Il y a trois façons de désactiver le xmlrpc.php :

Avec un plugin

Pour désactiver XML-RPC pour sécuriser ton site WordPress, tu peux utiliser par exemple le plugin Disable XML-RPC-API .

Il te suffit juste d'ajouter cette extension et de l'activer, puis de vérifier que tu as bien le message « Access forbidden! » ou« 403 error » en accédant à http://tondomaine/xmlrpc.php

Si tu veux avoir un contrôle plus précis de la configuration du xmlrpc.php et de l’API REST sur ton site, installe l'extension REST XML-RPC Data Checker, puis va dans "Réglages > REST XML-RPC Data Checker et cliquez sur l’onglet XML-RPC".

Via le fichier .htaccess

Pour désactiver XML-RPC pour sécuriser ton site WordPress, tu peux également le faire sans installer d'extension, juste en modifiant ton fichier .htaccess (fichier caché à la racine de ton site WordPress).  Pense à effectuer un backup de ce fichier avant de le modifier. 

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Via certains hébergeurs

Certains hébergeurs désactiveront le xmlrpc.php si une attaque est détectée. 

Proudly designed with Oxygen, the world's best visual website design software
chevron-up-circle
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram