KYOSH1RO

◀ Documentation

Installation et configuration de Fail2Ban sous Ubuntu

Linux · Fail2Ban | 📅 Mis à jour : 30/03/2026 | ⏱ ~2 min de lecture
I – Objectif
Ce document décrit l'installation et la configuration de Fail2ban, un outil de protection contre les attaques par force brute. Fail2ban analyse les fichiers de logs et bloque automatiquement les adresses IP présentant un comportement suspect (trop de tentatives de connexion échouées).
II – Prérequis
● Ubuntu Server 22.04 LTS
● Accès sudo
● iptables ou nftables actif (utilisé par Fail2ban pour bloquer les IP)
● Service SSH actif (pour la configuration du jail SSH)
III – Procédure
1) Installation de Fail2ban
$ sudo apt update && sudo apt install fail2ban -y
2) Vérifier le statut du service
$ sudo systemctl status fail2ban
Si le service n'est pas actif :
$ sudo systemctl enable --now fail2ban
3) Créer un fichier de configuration local
Il ne faut jamais modifier directement le fichier jail.conf car il peut être écrasé lors des mises à jour. On crée à la place un fichier jail.local qui surcharge les paramètres :
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Puis éditer le fichier :
$ sudo vi /etc/fail2ban/jail.local
4) Configurer les paramètres globaux
Dans la section [DEFAULT], ajuster les valeurs suivantes :
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 ::1
• bantime → durée du bannissement (ex: 1h, 24h, -1 pour permanent)
• findtime → fenêtre de temps dans laquelle sont comptées les tentatives
• maxretry → nombre d'échecs autorisés avant bannissement
• ignoreip → adresses IP jamais bannies (localhost, IP admin)
5) Activer le jail SSH
Localiser la section [sshd] et l'activer :
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Si SSH est sur un port personnalisé, remplacer ssh par le numéro de port :
port = 2222
6) Redémarrer Fail2ban
$ sudo systemctl restart fail2ban
7) Vérifier l'état des jails actifs
$ sudo fail2ban-client status
Détail d'un jail spécifique :
$ sudo fail2ban-client status sshd
Les informations affichées incluent le nombre de connexions échouées et la liste des IP actuellement bannies.
8) Débannir manuellement une IP
En cas de faux positif, une IP peut être débannie manuellement :
$ sudo fail2ban-client set sshd unbanip <adresse_ip>
9) Consulter les logs
$ sudo tail -f /var/log/fail2ban.log
Les bannissements apparaissent sous la forme :
fail2ban.actions [INFO] Ban <adresse_ip>
IV – Conclusion
Fail2ban est maintenant installé et protège le service SSH contre les attaques par force brute. Les adresses IP dépassant le nombre de tentatives autorisées sont automatiquement bannies pendant la durée définie.
Pour renforcer la sécurité, il est recommandé de créer des jails supplémentaires pour les autres services exposés (NGINX, Postfix, etc.) selon le même principe.