Pourquoi désactiver xmlrpc.php
?
Si vous êtes propriétaire d’un site WordPress, sachez que le fichier xmlrpc.php
peut être exploité par des attaquants pour des attaques par force brute ou par déni de service distribué (DDoS). Ces problèmes peuvent survenir si votre site n’est pas suffisamment protégé ou si des versions obsolètes de WordPress sont utilisées. En outre, ce fichier peut être détourné pour lancer des pingbacks malveillants, transformant votre site en outil d’attaque contre d’autres cibles.
Dans la majorité des cas, xmlrpc.php
peut être désactivé sans affecter les fonctionnalités principales de votre site. Par exemple, si vous n’utilisez pas d’applications mobiles pour gérer votre site ou des services comme Jetpack, il est conseillé de bloquer son accès pour renforcer la sécurité.
Quelle solution choisir et pourquoi ?
En tant que propriétaire de site, vous vous demandez peut-être quelle est la meilleure méthode entre l’utilisation du fichier .htaccess
ou du fichier functions.php
. Voici une explication pour éclairer votre choix :
- Utilisation du fichier
.htaccess
: Cette méthode agit directement au niveau du serveur web, bloquant l’accès àxmlrpc.php
avant même que WordPress ne traite la requête. Cela signifie une efficacité optimale et une économie de ressources, car les requêtes malveillantes sont stoppées dès leur arrivée. C’est une excellente option si vous avez accès à ce fichier et si vous souhaitez une solution robuste, mais elle nécessite de manipuler les configurations du serveur. - Modification du fichier
functions.php
: Cette méthode fonctionne directement au niveau du code WordPress. Elle est plus simple à mettre en œuvre, notamment si vous n’avez pas facilement accès au fichier.htaccess
ou si vous préférez gérer les modifications dans l’environnement WordPress. Cependant, cette méthode peut consommer légèrement plus de ressources, car WordPress doit traiter la requête avant de la bloquer.
Conclusion sur le choix :
- Si vous recherchez une solution rapide et robuste avec un impact minimal sur les performances, le fichier
.htaccess
est recommandé. - Si vous préférez travailler directement dans l’environnement WordPress et que vous ne gérez pas directement votre serveur, optez pour la modification du fichier
functions.php
.
Dans tous les cas, choisissez la solution qui correspond le mieux à vos compétences techniques et à votre environnement d’hébergement.
Configuration Manuelle pour Désactiver XML-RPC
Modifier le fichier .htaccess
Ajoutez les lignes suivantes dans le fichier .htaccess
situé à la racine de votre site pour bloquer l’accès à xmlrpc.php
:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Cela empêche toute requête externe d’atteindre ce fichier.
Ajouter un filtre dans le fichier functions.php
Si vous préférez désactiver xmlrpc.php
via le code de votre site, insérez ce morceau de code dans le fichier functions.php
de votre thème actif :
add_filter('xmlrpc_enabled', '__return_false');
Cette méthode désactive complètement la fonctionnalité XML-RPC au niveau du cœur de WordPress.
Limiter l’accès avec des adresses IP autorisées
Si vous avez besoin de conserver xmlrpc.php
pour des services spécifiques, vous pouvez restreindre l’accès à certaines adresses IP. Ajoutez cette configuration dans .htaccess
:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Files>
Remplacez 123.123.123.123
par l’adresse IP autorisée.
XML-RPC sur d’autres CMS
Le protocole XML-RPC n’est pas exclusif à WordPress. Il est également utilisé par d’autres systèmes de gestion de contenu (CMS) comme Drupal, Joomla ou Magento, souvent via des modules ou extensions spécifiques. Cependant, la tendance actuelle est de migrer vers des solutions plus modernes comme les API REST, qui offrent une meilleure sécurité et des performances accrues.
Conclusion
Le fichier xmlrpc.php
peut être une source de vulnérabilités pour votre site WordPress. Désactiver cette fonctionnalité ou la restreindre lorsque cela est possible vous permettra de renforcer la sécurité de votre site sans compromettre ses fonctionnalités principales. Si vous souhaitez aller plus loin, vous pouvez consulter l’article complet sur WPMarmite pour plus de détails : wpmarmite.com.