Restreindre l'accès à la page de connexion WordPress par IP
Pour limiter les tentatives de Brute Force sur la page de connexion à l’administration de WordPress, nous avons vu l’excellent plugin Limit Login Attempts. Ce plugin permet de sécuriser son site WordPress en luttant contre le Brute Force.
Pour aller plus loin et avoir une protection encore plus radicale, il est possible de restreindre l’accès à la page de connexion par adresse IP. Cette alternative est à mon sens la plus sécurisée, mais elle contraint de connaître la liste des adresses IP autorisées.
Sur un serveur Apache, la mise en place de cette restriction se fait à partir du fichier .htaccess comme ci-dessous :
wp-login.php> - order deny,allow
- Deny from all
- allow from 78.198.73.195
- allow from 98.93.210.247
- allow from 81.210.10.186
Dans cet exemple, toutes les adresses IP autorisées sont indiquées à l’aide d’un allow from
. Toutes les autres IP seront automatiquement rejetées lorsqu’elles tenteront d’accéder à la page de connexion.
Pour ceux qui utilisent NGINX à la place d’Apache, il faut modifier le fichier de configuration en ajoutant le code suivant :
- location ~ wp-login.php {
- allow 78.198.73.195;
- allow 98.93.210.247;
- allow 81.210.10.186;
- deny all;
- }
Attention, si vous utilisez PHP-FPM, vous devez ajouté quelques lignes supplémentaires pour que le code fonctionne correctement :
Grâce à ces quelques lignes de code, vous n’aurez plus aucun problème de Brute Force sur la page de connexion. C’est un peu radical, mais à mon avis, c’est la solution la plus efficace pour lutter contre le robot.
- location ~ wp-login.php {
- fastcgi_buffers 8 256k;
- fastcgi_buffer_size 128k;
- fastcgi_intercept_errors on;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_pass unix:/dev/shm/php-fpm-www.sock;
- allow 78.198.73.195;
- allow 98.93.210.247;
- allow 81.210.10.186;
- deny all;
- }