Comment désactiver xmlrpc.php dans WordPress
Le fichier
dans WordPress peut être un risque de sécurité s’il n’est pas nécessaire, mais il est gérable avec la bonne approche. Ce guide explique sa raison d’être, pourquoi il pose problème et comment le désactiver pour sécuriser votre site tout en maintenant ses performances. Avec des exemples pratiques et des conseils, vous apprendrez à protéger efficacement votre site WordPress.xmlrpc.php
Qu’est-ce que xmlrpc.php ?
Le fichier xmlrpc.php est un composant central de WordPress qui permet la communication à distance entre votre site WordPress et des applications externes. Il utilise le protocole XML-RPC pour envoyer des données, permettant des fonctionnalités telles que :
Publier du contenu à distance via l’application mobile WordPress ou des outils de blogging externes
Trackbacks et pingbacks
Jetpack et d’autres fonctionnalités de plugins qui dépendent de l’accès à distance
Dans les versions antérieures de WordPress (avant l’API REST), xmlrpc.php était essentiel pour permettre les opérations à distance. Cependant, l’API REST est devenue l’alternative moderne et plus sûre.
Pourquoi xmlrpc.php pose-t-il un problème de sécurité ?
Bien que xmlrpc.php serve des objectifs légitimes, il a souvent été exploité pour des activités malveillantes, en particulier lorsqu’il n’est pas correctement sécurisé. Les menaces les plus courantes sont les suivantes
Attaques brutales: Les pirates peuvent l’utiliser pour essayer des milliers de combinaisons de nom d’utilisateur et de mot de passe en une seule demande.
Attaques DDoS: Le fichier peut être utilisé de manière abusive pour envoyer des pingbacks de votre site à d’autres, participant ainsi à des attaques par déni de service distribué.
Vulnérabilités d’exécution de code à distance: Les versions plus anciennes ou mal configurées de WordPress peuvent présenter un risque.
Si vous n’utilisez pas de services ou de plugins qui reposent sur xmlrpc.php, c’est généralement une bonne idée de le désactiver.
Comment désactiver xmlrpc.php
1. Utilisation d’un plugin
Le moyen le plus simple de désactiver xmlrpc.php est d’utiliser un plugin de sécurité tel que :
Wordfence Security
Désactiver XML-RPC
All In One WP Security & Firewall
Ces plugins permettent de désactiver l’accès au fichier en un seul clic.
2. Désactivation via .htaccess
Si vous utilisez un serveur Apache, vous pouvez bloquer l’accès à xmlrpc.php en ajoutant cette règle à votre fichier .htaccess dans le répertoire racine :
Ordre Refuser, Autoriser
Refuser à tous
3. Utilisation de Nginx
Pour les serveurs Nginx, ajoutez ce qui suit à votre fichier de configuration :
location = /xmlrpc.php {
deny all ;
access_log off;
log_not_found off;
}
4. Désactivation via functions.php (limitée)
Vous pouvez également désactiver certaines méthodes xmlrpc en ajoutant ce qui suit au fichier functions.php de votre thème :
add_filter('xmlrpc_enabled', '__return_false') ;
Remarque : cela n’empêche pas l’accès au fichier, mais désactive seulement la fonctionnalité.
Quand faut-il le garder activé ?
Vous pourriez avoir besoin de garder xmlrpc.php activé si :
Vous utilisez l’application mobile WordPress pour publier
Vous utilisez Jetpack ou d’autres outils de publication à distance
Votre site web s’intègre avec des systèmes ou des applications qui nécessitent XML-RPC
Dans ces cas, assurez-vous d’utiliser des mesures de sécurité telles que l’authentification à deux facteurs, des mots de passe forts et la limitation du débit.
Autres conseils
Sauvegardez d’abord: Sauvegardez toujours votre site avant de modifier des fichiers comme
ou.htaccess
f__CODEBLOCK_f6c8cdc5b949ce1f2dd13191d814cdc_SAFE__
Tester la fonctionnalité: Après la désactivation, testez les fonctionnalités telles que Jetpack ou la publication mobile pour éviter les perturbations
Surveillez les attaques: Utilisez des plugins comme Wordfence pour suivre les tentatives de connexion échouées ciblant
xmlrpc.php
Alternative à l’API REST: Migrer vers l’API REST de WordPress pour des intégrations modernes, en réduisant la dépendance à
xmlrpc.php
Conclusion
Désactiver
est une décision intelligente pour sécuriser votre site WordPress si vous n’avez pas besoin de ses fonctionnalités d’accès à distance. En utilisant des plugins, xmlrpc.php
, des règles Nginx, ou .htaccess
, vous pouvez bloquer les vulnérabilités tout en gardant votre site rapide et fiable. Les exemples et les conseils fournis vous permettent de mettre en œuvre et de tester ces changements en toute confiance, en améliorant la sécurité sans sacrifier la fonctionnalité.functions.php