Sécurité

Comment mettre le xmlrpc KO

securite-wordpress-xmlrpc

Le xmlrpc est aujourd’hui une plaie pour nos installations WP alors désactivons cette fonctionnalité à la marge qui pourrait disparaitre un jour ?

Suite notamment à la recrudescence des tentatives de hack par le biais du xmlrpc qu’à constaté sucuri, je me suis dit qu’il est temps de passer à l’action. Alors voici comment je me protège, du moins mes sites internet .. 😉

Premièrement parlons de l’inculpé, le xmlrpc, qui permet de faire de la contribution sur les smartphones/tablettes entre autre. Par le biais de ce dernier les hackers pouvait réaliser des attaques DDoS plus importantes et impactantes. Aujourd’hui, pour faire simple, c’est comme si il était possible de faire plusieurs attaques DDoS en une. Je vous invite à jeter un coup d’oeil sur cet article pour comprendre comment ces dernières fonctionnent, ceci pour vous sensibiliser sur le fait que de base c’est une arme redoutable, et que maintenant c’est une arme imparable, mais pas pour tous.

Il existe deux manières de le désactiver :

  • par le méthode plugin : Disable XML-RPC
  • soit programmatiquement avec un mu-plugin et une règle .htaccess, expliqué ci-après.

 

Désactiver le xmlrpc par le mu-plugin et une règle .htaccess :

Premièrement, on le désactive en utilisant un mu-plugin réalisé par BeAPI :

/* Plugin Name: Disable XMLRPC
  Plugin URI: http://www.beapi.fr
  Description: Remove XMLRPC from header, remove feature from WP
  Author: BeAPI
  Author URI: http://www.beapi.fr
  Version: 0.1
*/
function bea_remove_x_pingback($headers) {
	unset($headers['X-Pingback']);
	return $headers;
}

add_filter( 'wp_headers', 'bea_remove_x_pingback' );
add_filter( 'xmlrpc_enabled', '__return_false' );
remove_action( 'wp_head', 'rsd_link' );

 

Deuxièmement, masquer la « visibilité » de ce fichier par le biais du htaccess. Il faut pouvoir avoir la main sur le htaccess, et dans le cas contraire, pas d’inquiétudes, on va dire que ce n’est qu’un bonus si la première étape à été réalisée.

# START Disable xmlrpc
<IfModule mod_alias.c>
  RedirectMatch 403 /xmlrpc.php
</IfModule>
# END Disable xmlrpc

 

Voila, aussi simple que cela, vous êtes protégés de ce côté-ci, mais je vous invite à réaliser les autres étapes pour sécuriser votre site.

Bonus : le xmlrpc rend vulnérable nos sites et il est même possible qu’un jour il disparaisse de WP. J’ai été glaner cette rumeur sur l’article « It’s Time for XML-RPC in WordPress to Hit the Road » de WP Taverne qui nous en parle en anglais.

 

4 Commentaires

  • Salut, je tombe sur ce billet en passant au préalable sur ton post sur la sécurité qui rappelle de bonnes bases.

    Concernant XMLRPC, si on veut vraiment être efficace, il faut intervenir sur la configuration du serveur. LEs astuces mentionnées ici ne vont pas empêcher ton serveur de « tomber »… :/

    Malheureusement, il faut un dédié et s’y connaitre mais le résultat est terriblement efficace en passant par fail2ban.

    Tu l’utilises ?

Laisser un commentaire

%d blogueurs aiment cette page :