Qu’est-ce que xmlrpc.php Dans WordPress et Pourquoi Faut-il le Désactiver : Guide Complet

Qu’est-ce que xmlrpc.php Dans WordPress et Pourquoi Faut-il le Désactiver : Guide Complet

WordPress a toujours inclus des fonctionnalités qui vous permettent d’interagir avec votre site à distance. Admettez-le, il y aura des moments où vous aurez besoin d’accéder à votre site web WordPress, mais votre ordinateur n’est pas à proximité. Pendant longtemps, la solution était un fichier appelé xmlrpc.php. Cependant, ces dernières années, le fichier est devenu plus une nuisance qu’une solution.

Nous allons voir ce qu’est xml-rpc et pourquoi il a été créé. Nous passons également en revue les problèmes de sécurité les plus courants qu’il provoque et la manière de les résoudre sur votre propre site WordPress.

Qu’est-ce que le protocole Xmlrpc.php ?

XML-RPC est une fonctionnalité de WordPress qui permet de transmettre des données, HTTP agit comme mécanisme de transport et XML comme mécanisme d’encodage. WordPress n’étant pas un système fermé sur lui-même et ayant parfois besoin de communiquer avec d’autres systèmes, il a été choisi pour s’acquitter de cette tâche.

Par exemple, supposons que vous souhaitiez publier sur votre site à partir de votre appareil mobile, car votre ordinateur n’est pas à proximité. Vous pouvez utiliser la fonction d’accès à distance activée par xml-rpc pour faire cela.

Les principales fonctionnalités de xmlrpc-php étaient de vous permettre de vous connecter à votre site via un smartphone, d’implémenter des trackbacks et des pingbacks à partir d’autres sites, ainsi que certaines fonctions associées au plugin Jetpack.

Pourquoi XML-RPC a-t-il été créé et comment a-t-il été utilisé ?

L’utilisation de XML-RPC remonte aux premiers jours de WordPress, avant même qu’il ne s’appelle WordPress.

Écrire et publier sur Internet était beaucoup plus difficile et prenait beaucoup plus de temps dans les premiers temps d’Internet, lorsque les connexions étaient incroyablement lentes. Plutôt que d’écrire dans le navigateur, la plupart des gens écrivent hors ligne, puis copient et collent leur contenu sur le web. Néanmoins, cette procédure était loin d’être idéale.

À l’époque, la solution consistait à créer un client de blog hors ligne où vous pouviez composer votre contenu avant de vous connecter à votre blog pour le publier. Cette connexion a été établie à l’aide de XML-RPC. Les premières applications ont utilisé cette même connexion pour permettre aux utilisateurs de se connecter à leurs sites WordPress à partir d’autres appareils, une fois que le cadre de base de XML-RPC a été mis en place.

XML-RPC était initialement désactivé par défaut jusqu’à ce que WordPress 2.6 ajoute une fonction dans le tableau de bord pour l’activer ou le désactiver.

XML-RPC a été activé par défaut avec WordPress 3.5 et l’introduction de l’application mobile WordPress. Cette modification a également supprimé l’option du tableau de bord permettant d’activer ou de désactiver XML-RPC.

XML-RPC aujourd’hui

En 2015, le noyau de WordPress a reçu une nouvelle API REST. Il permet à WordPress d’inclure une API pour interagir avec des applications mobiles et d’autres plateformes.

De nombreux développeurs ont commencé à utiliser la nouvelle API, ce qui a entraîné une baisse significative de l’utilisation de XML-RPC. En d’autres termes, l’API REST a effectivement remplacé XML-RPC. XML-RPC est toujours activé dans WordPress, et le fichier xmlrpc.php se trouve toujours dans le répertoire du logiciel de base.

Pourquoi désactiver Xmlrpc.php ?

Les problèmes les plus importants posés par XML-RPC sont les problèmes de sécurité qui en découlent. Le problème n’est pas directement lié à XML-RPC, mais plutôt à la manière dont le fichier peut être utilisé pour permettre une attaque par force brute sur votre site.

Bien sûr, vous pouvez vous protéger avec des mots de passe extrêmement forts et des plugins de sécurité WordPress. Mais le meilleur moyen de protection est de le désactiver.

XML-RPC présente deux faiblesses principales qui ont été exploitées par le passé.

La première consiste à utiliser des attaques par force brute pour accéder à votre site. Un pirate tentera d’accéder à votre site à l’aide de xmlrpc.php en utilisant diverses combinaisons de nom d’utilisateur et de mot de passe. Ils peuvent en effet utiliser une seule commande pour tester des centaines de mots de passe différents. Cela leur permet de contourner les outils de sécurité qui détectent et bloquent généralement les attaques par force brute.

La seconde consistait à mettre des sites hors ligne par le biais d’une attaque DDoS. Les pirates utiliseraient la fonction “pingback” de WordPress pour envoyer instantanément des “pingbacks” à des milliers de sites. Cette fonctionnalité de xmlrpc.php permet aux pirates de disposer d’un nombre quasi infini d’adresses IP pour diffuser une attaque DDoS.

Conseil de pro

Diverses menaces pèsent sur la sécurité de votre site web. La protection de votre site web contre les vulnérabilités potentielles peut être réalisée en choisissant un fournisseur d’hébergement WordPress fiable. Assurez la protection de votre site web en choisissant un hébergeur WordPress sécurisé qui met en œuvre des mesures de sécurité avancées.

Pour vérifier si XML-RPC fonctionne sur votre site, vous pouvez utiliser un outil appelé XML-RPC Validator. Lancez votre site dans l’outil, et si vous obtenez un message d’erreur, cela signifie que vous n’avez pas activé XML-RPC.

Si vous obtenez un message de réussite, vous pouvez arrêter xmlrpc.php en suivant l’une des deux approches ci-dessous.

Comment désactiver Xmlrpc.php dans WordPress

Maintenant que vous comprenez pourquoi xmlrpc.php est utilisé et pourquoi il doit être supprimé, voyons les deux façons de le désactiver dans WordPress.

1. Désactiver Xmlrpc.php avec des plugins

Désactiver XML-RPC sur votre site WordPress ne pourrait pas être plus simple.

Il vous suffit de vous rendre dans la section Plugins ‘ Ajouter un nouveau depuis votre tableau de bord WordPress. Recherchez Disable XML-RPC-API et installez le plugin.

Activez le plugin et vous êtes prêt. Ce plugin insère automatiquement le code nécessaire pour désactiver XML-RPC.

Cependant, gardez à l’esprit que certains plugins existants peuvent utiliser des parties de XML-RPC, de sorte que sa désactivation complète pourrait entraîner un conflit entre les plugins ou empêcher certains éléments de votre site de fonctionner.

2. Désactivation manuelle de Xmlrpc.php

Si vous ne voulez pas utiliser de plugin et préférez le faire manuellement, suivez cette approche. Elle arrêtera toutes les requêtes xmlrpc.php entrantes avant qu’elles ne soient transmises à WordPress.

Ouvrez votre fichier .htaccess. Il se peut que vous deviez d’abord activer la fonction “Afficher les fichiers cachés” dans le gestionnaire de fichiers ou votre client FTP pour localiser ce fichier.

Dans votre fichier .htaccess, collez le code suivant :

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

Important ! Remplacez xxx.xxx.xxx.xxx par l’adresse IP à laquelle vous souhaitez autoriser l’accès à xmlrpc.php ou supprimez complètement cette ligne.


Conclusion

Dans l’ensemble, XML-RPC a été une solution solide à certains des problèmes liés à la publication à distance sur votre site WordPress. Cependant, cette fonctionnalité s’est accompagnée de quelques failles de sécurité qui ont fini par être très préjudiciables à certains propriétaires de sites WordPress.

Pour garantir la sécurité de votre site, il est conseillé de désactiver complètement xmlrpc.php. Sauf si vous avez besoin de certaines des fonctions nécessaires à la publication à distance et du plugin Jetpack. Vous devez alors utiliser les plugins de contournement qui permettent ces fonctionnalités, tout en corrigeant les failles de sécurité. 

Author
L'auteur

Ayoub Ouarain

Ayoub est Content Manager chez Hostinger. Il a pour mission de créer les meilleurs tutoriels possibles pour aider les clients de Hostinger. Ce qui le motive c'est de voir d'autres personnes et entreprises réussir en ligne grâce a leur présence web. Ayoub est un grand fan du thé. Il aime aussi les motos, la nature et les animaux.