Guide technique — Sécurité système

Installation &
Configuration Fail2ban

Fail2ban analyse les journaux système et bloque automatiquement les adresses IP responsables de tentatives d'intrusion répétées — SSH, FTP, et bien d'autres services.

Auteur
EHAVOX
Mise à jour
2025
Système
Debian / Ubuntu
Sommaire
01

Installation du service Fail2ban

Sur Debian / Ubuntu, installez le paquet directement depuis les dépôts officiels :

bash
sudo apt update
sudo apt install fail2ban -y

Vérifier que le service est actif et fonctionne correctement :

bash
sudo systemctl status fail2ban
02

Fichier de configuration

Le fichier de configuration principal se trouve ici :

path
/etc/fail2ban/jail.conf
Attention
Ne modifiez pas directement jail.conf — il est écrasé lors des mises à jour. Créez toujours votre propre fichier de jail personnalisé.

Créez votre propre fichier de configuration à partir du modèle par défaut :

bash
sudo cp /etc/fail2ban/jail.d/defaults-debian.conf /etc/fail2ban/jail.d/ma_jail.conf
sudo nano /etc/fail2ban/jail.d/ma_jail.conf

Exemple de configuration avec une jail pour SSH et des valeurs par défaut globales :

jail.conf
[DEFAULT]
bantime   = 3600      # durée du bannissement en secondes (1h)
findtime  = 1800      # fenêtre d'observation (30 min)
maxretry  = 3         # tentatives max avant bannissement
ignoreip  = 127.0.0.1 # IPs jamais bannies (loopback)

[sshd]
enabled   = true
port      = 22        # adapter si vous avez changé le port SSH
bantime   = 7200      # durée plus longue pour SSH (2h)
findtime  = 1800
maxretry  = 2         # plus strict sur SSH
backend   = systemd
Info
Si vous avez modifié le port SSH (recommandé), pensez à mettre à jour la valeur port dans la jail [sshd] en conséquence. Consultez le guide SSH pour les détails.
03

Paramètres expliqués

Paramètre Exemple Description
bantime 3600 Durée du bannissement en secondes. Valeur négative = bannissement permanent.
findtime 1800 Fenêtre temporelle d'observation. Les tentatives comptées doivent survenir dans cet intervalle.
maxretry 3 Nombre de tentatives échouées avant que l'IP soit bannie.
ignoreip 127.0.0.1 Liste blanche d'IPs jamais bannies. Séparez plusieurs IPs par des espaces.
enabled true Active (true) ou désactive (false) la jail.
port 22 Port(s) à surveiller et sur lequel appliquer les règles de bannissement.
backend systemd Backend de lecture des logs. systemd pour journald, auto pour les fichiers.
04

Redémarrer le service

Après toute modification de la configuration, redémarrez Fail2ban pour appliquer les changements :

bash
sudo systemctl restart fail2ban

Pour vérifier le statut des jails actives et les IPs bannies :

bash
# Afficher le statut général
sudo fail2ban-client status

# Afficher le statut d'une jail spécifique
sudo fail2ban-client status sshd

# Débannir manuellement une IP
sudo fail2ban-client set sshd unbanip 192.168.1.100
Attention
Assurez-vous d'avoir ajouté votre propre adresse IP dans ignoreip avant d'activer Fail2ban, pour éviter de vous bannir accidentellement.