Configurer fail2ban

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
Retour en haut