Sélectionner une page

La faille XML-RPC – La Comprendre et la Sécuriser

19 Déc 2024 | Sécurité Web

Accueil » Sécurité Web » La faille XML-RPC – La Comprendre et la Sécuriser
Le fichier xmlrpc.php est un composant clé de WordPress qui permet à votre site de communiquer avec des applications externes. Historiquement, il était essentiel pour des fonctionnalités comme les pingbacks, les publications distantes ou encore les connexions à des services tiers comme Jetpack. Cependant, avec l'avènement de l'API REST, ce protocole est devenu moins utile et reste aujourd'hui activé par défaut, ce qui peut présenter des risques pour la sécurité de votre site.

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 :

  1. 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.
  2. 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.

Lire nos autres conseils pour un site web éco responsable

Le directory Lisiting – Le comprendre et le Corriger

Le directory Lisiting – Le comprendre et le Corriger

Le directory listing : une vulnérabilité ? Par défaut, les serveurs web comme Apache, NGINX ou LiteSpeed permettent souvent l'affichage des fichiers d'un répertoire s'ils ne trouvent pas un fichier index à afficher. Ainsi, si un utilisateur tente d'accéder à un...

Les catégories vides – quels impacts pour votre visibilité

Les catégories vides – quels impacts pour votre visibilité

L'Impact Négatif des Catégories Vides dans WordPress pour un site web éco-responsable Vous souhaitez réduire l'impact environnement de votre entreprise grâce à un site web éco-responsable? L'écoconception web vise à créer des sites performants et respectueux de...

L’Optimisation Vidéo, pourquoi est-ce une nécessité ?

L’Optimisation Vidéo, pourquoi est-ce une nécessité ?

Qu'est-ce que HandBrake et Pourquoi l'Utiliser pour Site Web Éco-Responsable? HandBrake est un logiciel vidéo open-source, gratuit et polyvalent qui va vous être utile lors du développement d'un Site Web Éco-Responsable. Sa capacité à réduire considérablement la...