Contenu
Qu’est ce que c’est fail2ban?
Fail2ban, c’est un outil de sécurité pour les serveurs, principalement utilisé sous Linux. Son rôle principal est de protéger le serveur contre les attaques par force brute (par exemple, quand un attaquant essaie de deviner un mot de passe en tentant plein de fois de se connecter).
Voici ce que fait fail2ban concrètement :
- Il surveille les fichiers logs des services (comme SSH, FTP, Apache, etc.) pour détecter des tentatives de connexion échouées répétées.
- Dès qu’il remarque qu’une même adresse IP tente plusieurs fois sans succès (configurable), il va bloquer cette IP temporairement via le pare-feu (iptables, nftables, etc.).
- Le blocage est temporaire (par exemple 10 minutes, 1 heure), mais si l’IP continue à poser problème, fail2ban peut prolonger ce blocage.
- Cela limite efficacement les risques d’intrusion par brute force sans que tu aies à intervenir manuellement.
Ce que n’est pas fail2ban
Fail2ban ne va pas vous bloquer tout seul, il a besoin d’un firewall comme iptables pour le faire ou ufw. Fail2ban met juste en place des IP à bloquer.
Installer fail2ban
Si vous êtes sous Debian faites la commande suivante :
sudo apt install fail2ban #apt est une nouvelle version de la commande apt-get, designé pour être plus ergonomique
Ensuite dupliquez les fichiers fail2ban.conf et jail.conf e, fail2ban.local et jail.local, c’est une habitude à prendre pour en cas de mise à jour de fail2ban, vous perdiez votre configuration.
Configurer fail2ban pour protéger ssh
Nous allons modifier avec vim ou nano le fichier jail.local. Comme nous voulons protéger dans cet article seulement sshd, nous allons trouver la section [sshd] et nous assurer de trouver les lignes suivantes
[sshd] maxretry=2 findtime=600 #10 minutes soit 600 secondes bantime=600 # temps d ebanissement
bantime est le temps de banissement, findtime est le temps durant lequel les tentatives infructueuses de login se déroulent, c’est la fenêtre d’observation.
Expérimentation:
Connectez vous à un compte et faites exprès d’échouer 2 sessions de connexion de suite.
Ensuite tentez de vous connecter à nouveau.
Quelques commandes relatives à fail2ban
connaitre l’état des lieux de fail2ban
# connaitre l'état des lieux des bans pour un programme comme sshd fail2ban-client status sshd #Redémarrer fail2ban après une modification de fichier d configuration sudo systemctl restart fail2ban
Le fichier de log de fail2ban se trouve dans /var/log/fail2ban.log
en conjonction de fail2ban, il est intéressant de monitorer les logs de connexion du fichier auth.log. Si ce fichier n’est pas présent c’est qu’il faut installer via la command suivante :
sudo apt-get install rsyslog