Beaucoup de sites utilisant Wordpress font appel à WPCerber ou Wordfence pour bloquer diverses attaques mais la configuration de notre plateforme actuelle rend le premier peu opérant alors que le second fait son job.
Pourquoi ?
Essentiellement par manque de visibilité de l’adresse IP source des requêtes, si vous consultez le fichier log de votre site (dans le dossier log à coté du dossier httpdocs) vous trouverez des lignes comme :
194.36.166.10 - - [25/Dec/2018:10:27:03 +0100] « GET /wp-content/uploads/2016/12/Guirlandes_de_Noel.jpg HTTP/1.1 » 200 306976 « - » « Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) »
le premier champ est censé donner l’adresse IP source mais il montre celle du proxy (serveur intermédiaire) de la plateforme d’hébergement Ouvaton. Vous verrez que toutes les lignes commencent par 194.36.166.10. J’ai ouvert un ticket à ce sujet mais la résolution peut demander un certain temps.
Wordfence s’en sort quand même !
Car il s’adapte au bout d’un moment voyant toujours le même adresse il cherche dans les en-têtes d’autres informations. Si ‹ REMOTE_ADDR › ne change jamais il va se fier à ‹ HTTP_X_FORWARDED_FOR › qui est un champ ajouté par le proxy pour tracer l’adresse de la source originale de la requête.
Conclusion provisoire :
Si besoin dans vos scripts cherchez ‹ HTTP_X_FORWARDED_FOR › et si vous utilisiez une extension firewall vérifiez qu’elle y voit plus loin que le bout de son proxy…