Objectif :
Bloquer automatiquement les adresses IP qui effectuent trop de tentatives de connexion échouées.
Installation
apt update
apt install -y fail2ban
Activer le service
systemctl enable --now fail2ban
Vérifier son état
systemctl status fail2ban
Créer une configuration locale
Il est recommandé de ne pas modifier directement jail.conf.
Créer un fichier local :
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Modifier la configuration
nano /etc/fail2ban/jail.local
Exemple minimal pour SSH
[sshd]
enabled = true
port = 22
logpath = %(sshd_log)s
maxretry = 5
findtime = 10m
bantime = 1h
Signification des paramètres
- enabled : active la jail
- port : port surveillé
- maxretry : nombre de tentatives autorisées
- findtime : période d’observation
- bantime : durée de bannissement
Redémarrer le service
systemctl restart fail2ban
Vérifier le fonctionnement
fail2ban-client status
fail2ban-client status sshd
Débannir une IP
fail2ban-client set sshd unbanip 1.2.3.4
Bonnes pratiques
- Adapter le port si SSH n’écoute pas sur 22
- Surveiller les logs en cas de problème
- Ne pas rendre les règles trop agressives pour éviter les faux positifs