Capítulo 3 · 3.5
fail2ban contra los intentos de adivinar contraseñas
fail2ban lee su registro y bloquea durante un tiempo las direcciones IP que fallan una y otra vez al iniciar sesión. Si solo usa claves (consulte Desactivar el inicio de sesión con contraseña y como root), los intentos de adivinar contraseñas ya no pueden tener éxito. En ese caso, fail2ban sirve sobre todo para mantener tranquilo su registro y frenar a los atacantes.
Instalar
anna@web1:~$ sudo apt install fail2ban
En Debian 13 y Ubuntu, la vigilancia de SSH (la jail sshd) funciona de inmediato después de la instalación. En Debian 12 se necesita una línea adicional, como se explica más abajo.
En AlmaLinux y Rocky Linux: sudo dnf install epel-release, sudo dnf install fail2ban y sudo systemctl enable --now fail2ban.
Su propia configuración
No modifique jail.conf: una actualización lo sobrescribe. Ponga su propia configuración en /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
maxretryintentos fallidos dentro defindtimeprovocan un bloqueo debantime.bantime.increment: quien vuelve a intentarlo queda bloqueado cada vez durante más tiempo.ignoreip: direcciones que nunca se bloquean, como la IP fija de su oficina. Sustituya 198.51.100.7 por su propia dirección u omítala.- En Debian 12 añada también
backend = systemdbajo[sshd]e instale el paquetepython3-systemd. Así fail2ban lee el journal en lugar del archivoauth.log, que no existe. Debian 13 ya lo hace de forma automática.
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
Desbloquear su propia dirección
¿Se ha bloqueado usted mismo, por ejemplo tras usar varias veces una clave incorrecta? Espere a que termine el bloqueo, o inicie sesión a través de la consola o desde otra dirección y escriba:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7