Passer au contenu
XML-RPC et l'API REST, des risques de sécurité pour votre site Wordpress

XML-RPC et l'API REST, des risques de sécurité pour votre site Wordpress

1 août 2019 wordpress  cms  vulnérabilité 

XML-RPC (pour XML Remote Procedure Call) et l'API REST sont des protocoles intégrés à Wordpress qui permettent d'agir sur son site à distance mais apportent des risques de sécurité à ne pas négliger.

Avec ces protocoles, il est possible depuis une application mobile ou depuis une application sur le bureau de poster à distance un article, de gérer le contenu des pages, de télécharger des images ou bien de modifier des commentaires.

XML-RPC et l'API REST sont donc très utiles mais ils représentent un risque de sécurité et ouvrent la porte (entre autres) à des attaques en force brute. La grande majorité des utilisateurs n'ont pas besoin de ces fonctionnalités, donc autant tout désactiver par mesure préventive.

Désactiver XML-RPC

Si vous n'avez pas besoin de XML-RPC, la méthode la plus efficace pour l'arrêter est d'interdire l'accès au fichier xmlrpc.php situé à la racine de votre site par l'ajout d'une règle dans le fichier .htaccess :

<Files "xmlrpc.php">
Order Allow,Deny
Deny from all
</Files>

Avec ce code, vous interdisez à tout le monde l'accès au fichier. Mais il est possible d'autoriser l'accès uniquement à certains sites, en ajoutant une ou plusieurs adresse IP :

<Files "xmlrpc.php">
Order Allow,Deny
Deny from all
Allow from 1.2.3.4
Allow from 5.6.7.8
</Files>

Ils existent d'autres méthodes, comme l'ajout de plugin ou l'ajout de code dans le thème mais l'interdiction directement au niveau du fichier .htaccess est la plus sûre (et évite l'ajout d'un plugin supplémentaire, vous en utilisez surement déjà trop).

Désactiver l'API REST

Pour échanger des données entre plateformes, l'API REST est incontournable. Mais cela constitue également un risque pour la sécurité de votre site web. Le plugin Disable REST API permet de désactiver la fonctionnalité pour les internautes non connectés à Wordpress.

Une fois le plugin installé, essayez d'accéder à l'url https://www.votre-site.fr/wp-json/wp/v2/users sur votre site web. Si vous n'y arrivez pas, le plugin fonctionne bien.

Note : 4.8 - 18 votes Evaluer cet article
4.8

Par Thibaut Pietri

Ingénieur informatique spécialisé réseau, basé à Toulouse, j'ai plus de 20 ans d'expérience en développement et sécurisation de sites Internet, Extranet & applications mobiles autour des technologies LAMP (Linux/Apache/MySQL/PHP) sur différents outils de gestion de contenu (Wordpress, Prestashop, Drupal, Isens Evolution...).

Derniers articles

Aucun commentaire, soyez le premier !

 
Retour en haut de la page