Lorsque l’on gère un site web WordPress, la sécurité et les performances sont toujours des priorités absolues. Un fichier qui revient souvent dans les discussions à ce sujet est xmlrpc.php. Dans cet article, nous allons expliquer ce que fait ce fichier, pourquoi il est considéré comme un risque pour la sécurité, et comment vous pouvez le désactiver s’il n’est pas nécessaire.

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.

Conclusion

Le fichier xmlrpc.php de WordPress était autrefois un composant essentiel pour permettre l’accès à distance, mais il est aujourd’hui souvent considéré comme un problème de sécurité. Si vous n’utilisez pas activement les fonctionnalités qui en dépendent, désactiver xmlrpc.php est un moyen simple et efficace de renforcer votre site WordPress. Sauvegardez toujours votre site avant d’effectuer des modifications et testez-le après l’avoir désactivé pour vous assurer qu’aucune fonctionnalité n’est interrompue.