SLBCloud
Intermédiaire7 min de lecture

fail2ban : bannir ceux qui insistent

Installer, vérifier que ça fonctionne vraiment, protéger autre chose que SSH, et se débloquer quand on s'est banni soi-même.

fail2ban lit les journaux, repère les échecs répétés depuis une même adresse et la bloque au pare-feu pour un temps donné. C'est simple, efficace, et ça ne remplace pas les clés SSH — ça complète.

Installer et configurer

bash
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Ne modifiez jamais jail.conf

Il est remplacé à chaque mise à jour du paquet, et vos réglages disparaissent avec. Créez jail.local à côté : il a la priorité et survit aux mises à jour.

/etc/fail2ban/jail.local

ini
[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
# Ne jamais se bannir soi-même
ignoreip = 127.0.0.1/8 ::1 203.0.113.25

[sshd]
enabled = true
mode    = aggressive

[nginx-http-auth]
enabled = true

[nginx-botsearch]
enabled = true
bash
sudo systemctl restart fail2ban

Vérifier que ça marche vraiment

Une prison activée mais qui ne lit pas le bon fichier de journal ne bannit personne, sans jamais le dire. Ces commandes le montrent en dix secondes.

bash
sudo fail2ban-client status              # les prisons actives
sudo fail2ban-client status sshd        # les adresses bannies, et le nombre d'échecs vus

Si « Total failed » reste à zéro alors que auth.log est plein de tentatives, la prison ne regarde pas le bon endroit. Sur les systèmes qui journalisent uniquement dans systemd, il faut le préciser :

ini
[sshd]
backend = systemd

Bannir, débannir

bash
sudo fail2ban-client set sshd unbanip 203.0.113.99
sudo fail2ban-client set sshd banip 198.51.100.7

Si vous vous bannissez

Ça arrive à tout le monde : trois erreurs de frappe et vous êtes dehors pour une heure. La console de secours de l'espace client reste accessible — elle ne passe pas par SSH — et permet de lancer la commande unbanip. Mieux vaut prévenir : mettez votre adresse dans ignoreip dès l'installation.

Ce que fail2ban ne fait pas

Il ne protège pas contre une attaque distribuée depuis des milliers d'adresses : chacune n'essaie qu'une fois, et aucune n'atteint le seuil. Il ne remplace pas non plus un mot de passe solide. Il élimine le bruit de fond, ce qui rend les journaux lisibles — et c'est déjà beaucoup.

Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.

Ouvrir un ticket