remonter vers le haut
Sécuriser la page de connexion wp-admin de WordPress par Promatec Digital | Temps de lecture : 2 minutes
Partager sur Facebook Partager sur Twitter Partager sur Linkedin
Contactez l'Agence Web Promatec Digital

Blog de L'Agence Web Promatec Digital WordPress, WooCommerce, SEO, Optimisation ...

blank

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 fail2ban sur son serveur Debian

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
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les News les plus populaires !