Chapitre 3 · 3.5
fail2ban contre les tentatives de connexion par force brute
fail2ban lit votre journal et bloque pendant un certain temps les adresses IP qui échouent à se connecter de manière répétée. Si vous utilisez uniquement des clés (voir Désactiver la connexion par mot de passe et en tant que root), les tentatives de deviner un mot de passe ne peuvent déjà plus aboutir. fail2ban permet alors surtout de garder votre journal lisible et de ralentir les attaquants.
Installation
anna@web1:~$ sudo apt install fail2ban
Sur Debian 13 et Ubuntu, la surveillance de SSH (la jail sshd) fonctionne ensuite immédiatement. Sur Debian 12, une ligne supplémentaire est nécessaire, voir ci-dessous.
Sur AlmaLinux et Rocky Linux : sudo dnf install epel-release, sudo dnf install fail2ban et sudo systemctl enable --now fail2ban.
Vos propres réglages
Ne modifiez pas jail.conf : une mise à jour l'écrase. Placez vos propres réglages dans /etc/fail2ban/jail.local :
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
bantime.increment = true
ignoreip = 127.0.0.1/8 ::1 198.51.100.7
[sshd]
enabled = true
maxretrytentatives échouées enfindtimeentraînent un blocage debantime.bantime.increment: une adresse qui revient est bloquée de plus en plus longtemps.ignoreip: les adresses qui ne sont jamais bloquées, comme l'adresse IP fixe de votre bureau. Remplacez 198.51.100.7 par votre propre adresse, ou supprimez-la.- Sur Debian 12, ajoutez aussi
backend = systemdsous[sshd]et installez le paquetpython3-systemd. fail2ban lit alors le journal systemd au lieu du fichierauth.log, qui n'existe pas. Debian 13 le fait déjà automatiquement.
anna@web1:~$ sudo systemctl restart fail2ban
anna@web1:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 2
| |- Total failed: 41
| `- Journal matches: _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
|- Currently banned: 3
|- Total banned: 7
`- Banned IP list: 192.0.2.44 198.51.100.23 203.0.113.99
Débloquer votre propre adresse
Vous vous êtes bloqué vous-même, par exemple après quelques essais avec une mauvaise clé ? Attendez la fin du blocage, ou connectez-vous via la console ou depuis une autre adresse et tapez :
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7