Blog

Sécuriser la page de connexion wp-admin de WordPress avec Fail2ban

Inscrivez-vous à notre newsletter

L’URL d’accès de WordPress étant connue (http://www.mondomaine.com/wp-login.php), il est donc très facile pour un BOT ou un Hacker d’essayer de se connecter à votre backoffice WordPress. Nativement, le CMS WordPress n’effectue aucun contrôle sur les tentatives de connexion au Backoffice.

Si vous avez un accès Root SSH sur le serveur qui héberge votre WordPress, alors il peut être très intéressant d’installer la librairie Fail2ban afin de palier à cette lacune.

qu'est ce que fail2ban ?

Fail2ban est une librairie Linux de prévention contre les intrusions, écrit en Python. L’application lit les logs de divers services à la recherche d’erreurs d’authentification répétées et ajoute une règle Iptables (règles dans le pare-feu) pour bannir l’adresse IP de la source.

INSTALLER FAIL2AN sur son serveur

Comme toujours sous Debian, rien de plus simple avec la commande apt-get

$ apt-get install fail2ban

Fail2ban est localisé dans le dossier /etc/fail2ban/
Le fichier de configuration : /etc/fail2ban/jail.conf

Déclarer un filtre wordpress dans fail2ban

Ajoutez dans le fichier /etc/fail2ban/jail.conf les lignes suivantes :

[wordpress]
enabled = true
port = http,https
filter = wordpress
action = iptables-multiport[name=wordpress, port=”http,https”, protocol=tcp]
logpath = /var/log/apache2/log_apache_de_votre_wordpress.log
         /var/log/apache2/access*log
maxretry = 3
findtime = 600
bantime = 90000

Les lignes permettent d’activer une règle Fail2ban avec le nom du filter, ici “wordpress“. Il est important de spécifier le chemin de votre fichier log apache. On détermine le nombre de tentative “maxretry” (ici 3) la plage de temps de recherche “findtime” ici 600 secondes et le temps de bannissement “bantime” (ici 90000 secondes).

CRéer le filtre wordpress dans fail2ban

Les filtres Fail2ban sont localisés dans le répertoire /etc/fail2ban/filter.d.

Créez le fichier wordpress.conf :

$ touch wordpress.conf

Ajoutez les lignes ci-dessous dans le fichier /etc/fail2ban/filter.d/wordpress.conf

[Definition]
failregex = ^<HOST> .* “POST .*wp-login.php
^<HOST> .* “POST .*xmlrpc.php
ignoreregex =

Redémarrez Fail2ban afin d’activer la nouvelle règle :

$ service fail2ban restart

Vérifiez que la règle est bien prise en compte dans Iptables

$ iptables -L

Cela devrait afficher vos règles activées, notamment la dernière crée :

Chain f2b-wordpress (1 references)


Whitelistez votre adresse ip

Afin de ne pas blacklister votre adresse IP, il est conseillé de l’ajouter dans la liste des IPs à ignorer dans Fail2Ban (ignoreip) :

ignoreip = 127.0.0.1/8 xxx.xx.xx.xxx

Vous pouvez ajouter une ou plusieurs IPs, séparées soit par un espace, soit par une virgule.

Puis il faut redémarrer/reloader Fail2ban pour que la nouvelle configuration soit à jour :

$ service fail2ban reload

Fabien

Rédacteur Wapeo

D'autres potins intéressants :

[DISPLAY_ULTIMATE_SOCIAL_ICONS]
[DISPLAY_ULTIMATE_SOCIAL_ICONS]
smartphone

Contactez-nous

Nous sommes joignable du lundi au vendredi de 9h à 13h et de 14h à 18h. 

03 20 70 76 79

Inscrivez-vous à notre Newsletter

wapeo-gradient

Pour être certain(e) de ne rater aucun potin !

Veuillez activer le javascript sur cette page pour pouvoir valider le formulaire

Nous avons bien reçu votre message, nous le traiterons dans les meilleurs délais :)