WordPress protection anti brute force avec Cloudflare

Vous avez un ou plusieurs sites web WordPress et vous avez remarqué que l’utilisation du CPU de votre serveur est anormalement élevée ? Votre site WordPress subit probablement une attaque par force brute sur la page d’identification wp-login.php ou via XML-RPC. Je vous explique ici comment se protéger de cette attaque et comment baisser la consommation du CPU en utilisant le célèbre CDN Cloudflare.

Les attaques par force brute

Une attaque « brute force » consiste à tester un très grand nombre de mots de passe « faibles » comme par exemple votre nom, votre pseudo (visible généralement en bas des articles que vous écrivez sur WordPress…), des noms de villes, des mots de passe courant (« passwd », « pa&&w0rd », etc.),…

Vous trouvez cela stupide de la part des hackers ? Si seulement vous voyiez le nombre de nos clients qui utilisent de tels mots de passe y compris pour des applications sensibles comme des logiciels CRM gratuits ou leurs logiciels de gestion de stock.

Les symptômes

Comment détecter une attaque par force brute sur votre serveur :

  • Utilisation anormalement élevé du processeur alors qu’il y a peu de visiteurs sur votre site web (notamment pendant les heures creuses, la nuit)
  • En consultant vos logs Apache, vous voyez de nombreuses lignes comme celles-ci :
Log d'une attaque par force brute
Log d’une attaque par force brute

Quelles sont les solutions ?

Il existe plusieurs techniques pour se protéger d’une attaque par force brute.

Déjà, puisqu’il s’agit d’un site WordPress, il existe des plugins de sécurité comme Wordfence ou WP Cerber (que j’utilise personnellement) et qui bloquent l’IP d’un PC qui a eu trop d’échec d’identification.

Le problème principal de ce genre de plugin est qu’il n’empêche pas le pirate informatique d’atteindre votre site web, et donc de consommer ses ressources CPU…

Vous pouvez utiliser également un WAF (Web Application Firewall). Mais ce n’est pas à la portée de tout le monde tant du point de vue technique que financier.

Enfin, vous pouvez opter pour Cloudflare, solution que nous avons massivement adopté sur tous nos sites web et aux résultats exceptionnels :)

Cloudflare contre les attaques par force brute

cloudflare

Créez un compte gratuitement sur Cloudflare, puis inscrivez-y votre site web (vous pourrez trouver des tutoriaux vidéos à ce sujet sur Youtube). La procédure est bien expliquée, alors je ne vais pas m’attarder dessus ici, d’autant plus que ce n’est pas le sujet de l’article.

Une fois votre site enregistré dans Cloudflare (et donc ses nameservers étant ceux de ce CDN), allez dans « Page Rules ». Avec un compte gratuit, vous avez le droit à 3 règles, une seule nous sera nécessaire dans notre cas.

Dans URL pattern, mettez : *votredomaine.com/wp-login.php*

Le * est bien sûr une wildcard vous permettant de filtrer toutes les pages d’identification, quelques soient ses paramètres.

Puis dans les options, à la ligne « Security Level », choisissez « I’m Under Attack », et à la ligne « Browser Integrity Check », sélectionnez « on ».

Validez, et c’est terminé ! Votre site web est protégé contre les fortes demandes répétitives d’une attaque par force brute !

A chaque fois qu’un nouvel utilisateur (humain comme bot) voudra s’identifier sur votre page wp-login.php, son navigateur web sera examiné et il devra atteindre 5 secondes avant de voir la page s’afficher :

Protection des ressources de votre serveur contre les attaques brute force
Protection des ressources de votre serveur contre les attaques brute force

La preuve en image

Après avoir mis en place ces paramètres sur tous les sites web WordPress d’un de nos serveurs, voici la baisse d’utilisation flagrante d’utilisation CPU pour le processus Apache et du CPU en général :

Baisse de l'utilisation du CPU pour Apache avec Cloudflare
Baisse de l’utilisation du processeur pour Apache avec Cloudflare
Baisse générale de l'utilisation du CPU avec Cloudflare
Baisse générale de l’utilisation du CPU avec Cloudflare

A voir également comment utiliser Cloudflare pour passer un site WordPress en HTTPS

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here