Sécurité Serveur · 6 min read · Sep 15, 2025

Comment installer Fail2ban sur le serveur Ubuntu 24.04

Fail2ban est un logiciel IPS (Intrusion Prevention Software) gratuit et open-source qui aide les administrateurs à sécuriser les serveurs Linux contre les tentatives de connexion malveillantes et les attaques par force brute. Fail2ban est écrit en Python et est livré avec des filtres pour divers services tels qu’Apache2, SSH, FTP, etc. Fail2ban réduit les tentatives de connexion malveillantes en bloquant les adresses IP des attaques sources.

Fail2ban fonctionne en analysant les fichiers journaux des services (par exemple /var/log/auth.log) et en interdisant les adresses IP qui montrent des tentatives de connexion malveillantes telles que trop de mots de passe incorrects, la recherche d’exploits, etc. Fail2ban prend également en charge plusieurs backends de pare-feu tels qu’iptables, ufw et firewalld. Il vous permet également de configurer une notification par e-mail pour chaque tentative de connexion bloquée.

Dans ce guide, vous apprendrez à installer Fail2ban sur le serveur Ubuntu 24.04. Vous configurerez la prison Fail2ban, apprendrez la commande de base ‘fail2ban-client’, puis apprendrez à interdire et à lever l’interdiction des adresses IP à l’aide de Fail2ban.

Prérequis

Pour commencer ce guide, assurez-vous d’avoir :

  • Un serveur Ubuntu 24.04
  • Un utilisateur non-root avec des privilèges d’administrateur

Installation de Fail2ban et UFW (Uncomplicated Firewall)

Fail2ban est un IPS (Intrusion Prevention Software) qui protège les serveurs contre les attaques par force brute. Il est disponible par défaut dans la plupart des dépôts Linux et prend en charge plusieurs backends de pare-feu. Dans cette section, vous installerez Fail2ban puis configurerez UFW (Uncomplicated Firewall) qui sera utilisé comme backend de pare-feu pour Fail2ban.

Tout d’abord, exécutez la commande ci-dessous pour mettre à jour votre index de paquets Ubuntu.

sudo apt update

mise à jour du dépôt

Maintenant, installez les paquets ‘ fail2ban ‘ et ‘ ufw ‘ avec la commande ‘ apt ‘ suivante. Entrez ‘ Y ‘ pour confirmer l’installation.

sudo apt install fail2ban ufw

installer fail2ban et ufw

Une fois l’installation terminée, exécutez la commande ci-dessous pour ouvrir le port pour SSH et activer UFW. Entrez ‘Y’ pour confirmer, démarrer et activer UFW.

sudo ufw allow OpenSSH  
sudo ufw enable

Une fois UFW activé, vous verrez un message ‘ Le pare-feu est actif et activé au démarrage du système ‘.

Ensuite, exécutez la commande suivante pour vérifier l’état de UFW. Vous verrez que UFW est ‘ actif ‘ avec ‘ OpenSSH ‘ activé.

sudo ufw status

configuration ufw

Enfin, exécutez la commande ‘systemctl’ ci-dessous pour démarrer, activer et vérifier le service ‘ fail2ban ‘.

sudo systemctl enable --now fail2ban  
sudo systemctl status fail2ban

Vous pouvez voir ci-dessous que le ‘ fail2ban ‘ est actif (en cours d’exécution) et activé.

démarrer et activer fail2ban

Configuration de Fail2ban

Après avoir installé fail2ban, vous devez le configurer avant que Fail2ban ne prenne une action (vérification et blocage). Dans cette section, vous allez modifier la configuration de fail2ban ‘/etc/fail2ban/jail.local’, configurer la configuration globale pour ‘ bantime ‘, ‘ maxretry ‘, et ‘ findtime ‘, configurer l’action par défaut et le backend de pare-feu UFW, puis activer la prison ‘ sshd ‘ pour protéger le service SSH contre les attaques par force brute.

Pour commencer, copiez la configuration par défaut de fail2ban dans ‘ /etc/fail2ban/jail.local ‘ avec ce qui suit :

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ouvrez le fichier ‘ /etc/fail2ban/jail.local ‘ avec la commande de l’éditeur ‘ nano ‘ suivante.

sudo nano /etc/fail2ban/jail.local

Ajoutez votre réseau local à l’option ‘ ignoreip ‘. Tout sous-réseau dans cette option ne sera pas bloqué par fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Ajustez la configuration par défaut pour ‘ bantime ‘ (le temps pendant lequel l’adresse IP sera bannie), ‘ findtime ‘ (la durée entre le nombre d’échecs avant l’action de bannissement), et ‘ maxretry ‘ (le nombre d’échecs pour que les adresses IP soient bannies). Dans cet exemple, vous allez configurer le ‘ bantime ‘ à ‘ 1 heure ‘, le ‘ findtime ‘ à ‘ 10 minutes ‘, avec le ‘ maxretry ‘ à ‘ 5 fois ‘.

bantime = 1h  
findtime = 10m  
maxretry = 5

Optionnellement, changez l’action par défaut en ‘ %(action_mw)s ‘ pour interdire les adresses IP et envoyer une notification à l’administrateur par e-mail. Assurez-vous également de changer les options ‘destmail’ et ‘sender’.

action = %(action_mw)s  
destemail = [email protected]  
sender = [email protected]

Changez l’action de bannissement par défaut en ‘ ufw ‘. Avec cela, les adresses IP seront interdites par fail2ban via UFW.

banaction = ufw

Maintenant, changez la prison par défaut pour ‘ sshd ‘ avec la configuration ci-dessous. Dans cet exemple, la prison ‘ sshd ‘ aura des paramètres personnalisés pour ‘ bantime ‘, ‘ maxretry ‘, et le ‘ findtime ‘.

[sshd]  
enabled = true  
maxretry = 3  
findtime = 15m  
bantime = 3h  
  
port = ssh  
logpath = %(sshd_log)s  
backend = %(sshd_backend)s

Enregistrez et quittez le fichier une fois terminé.

Enfin, exécutez la commande ‘systemctl’ ci-dessous pour redémarrer le service ‘ fail2ban ‘ et appliquer vos modifications.

sudo systemctl restart fail2ban

vérifier fail2ban

Vérification des règles fail2ban avec fail2ban-client

À ce stade, le service Fail2ban est opérationnel avec la prison ‘sshd’ activée. Maintenant, vous allez apprendre la commande de base de ‘fail2ban-client’ pour vérifier et gérer l’installation de Fail2ban.

Pour vous assurer que fail2ban fonctionne, exécutez la commande ‘ fail2ban-client ‘ ci-dessous.

sudo fail2ban-client ping

Si fail2ban fonctionne, vous verrez un message ‘ PONG ‘.

Maintenant, vérifiez l’état de la prison ‘ sshd ‘ avec la commande suivante. Cela vous montrera la liste des adresses IP détectées et bannies pour la prison ‘ sshd ‘.

sudo fail2ban-client status sshd

état de la prison sshd

Ensuite, exécutez la commande ‘ fail2ban-client get ‘ ci-dessous pour vérifier les règles spécifiques de votre prison fail2ban. Dans cette section, vous allez vérifier le ‘ bantime ‘, ‘ maxretry ‘, ‘ actions ‘, ‘ findtime ‘, et ‘ ignoreip ‘ de la prison ‘ sshd ‘.

sudo fail2ban-client get sshd bantime  
sudo fail2ban-client get sshd maxretry  
sudo fail2ban-client get sshd actions  
sudo fail2ban-client get sshd findtime  
sudo fail2ban-client get sshd ignoreip

configuration de la prison

Comment interdire et lever l’interdiction d’une adresse IP avec fail2ban-client

Il est important de savoir comment interdire ou lever l’interdiction des adresses IP manuellement à l’aide de ‘fail2ban-client’. Avec cela, vous pouvez facilement retirer votre adresse IP de la liste des interdits. Vous allez utiliser la commande ‘fail2ban-client’ pour interdire et lever l’interdiction des adresses IP sur Fail2ban.

Pour interdire des adresses IP manuellement via fail2ban, exécutez la commande ‘ fail2ban-client ‘ ci-dessous. Dans ce cas, l’adresse IP interdite va à la prison ‘ sshd ‘.

sudo fail2ban-client set sshd banip IP-ADDRESS

Maintenant, exécutez la commande suivante pour lever l’interdiction de l’adresse IP de la prison fail2ban ‘ sshd ‘.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Enfin, vous pouvez vérifier l’état de la prison ‘ sshd ‘ en utilisant la commande ci-dessous. Vous verrez que l’adresse IP a été supprimée.

sudo fail2ban-client status sshd

Conclusion

Félicitations ! Vous avez terminé l’installation de fail2ban sur le serveur Ubuntu 24.04. Vous avez également appris la configuration de base pour configurer Fail2ban, y compris la configuration globale et la prison. Enfin, vous avez également appris l’utilisation de base de la commande ‘fail2ban-client’ pour vérifier l’état de fail2ban, l’état de la prison, les configurations de la prison, et interdire et lever l’interdiction des adresses IP manuellement.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.