Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:linux:administracion:fail2ban

¡Esta es una revisión vieja del documento!


fail2ban

Fail2ban escanea ficheros de log (por ejemplo /var/log/apache/error_log) y bloquea IPs que muestran comportamientos sospechosos (muchos fallos de contraseña, etc).

Generalmente Fail2Ban se utiliza para actualizar las reglas del firewall para rechazar las direcciones IP por un determinado tiempo. Por defecto, Fail2Ban viene con filtros para varios servicios. Por ejemplo, para ver un resumen de intentos fallidos e IPs bloqueadas por accesos SSH:

fail2ban-client status sshd

Ejemplo de salida:

Status for the jail: sshd
|- Filter
|  |- Currently failed:	5
|  |- Total failed:	1431722
|  `- File list:	/var/log/auth.log
`- Actions
   |- Currently banned:	6
   |- Total banned:	11730
   `- Banned IP list:	81.68.216.38 49.232.172.163 42.192.75.240 112.16.211.200 42.192.84.251 162.243.99.164

Si queremos quitar de la lista de bloqueos cierta IP:

fail2ban-client set sshd unbanip 123.123.123.123

SSH

Crear configuración local (NO edites jail.conf) cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Editamos /etc/fail2ban/jail.local

[sshd]
enabled = true
port = 22222
filter = sshd
logpath = /var/log/auth.log
backend = systemd
maxretry = 3
findtime = 10m
bantime = 24h

Qué hace:

  • 3 fallos en 10 minutos → ban
  • Bloqueo durante 24 horas
  • Funciona con journalctl y auth.log

Reiniciar fail2ban:

systemctl restart fail2ban

Ver si ya está bloqueando IPs:

fail2ban-client status
fail2ban-client status sshd

Salida típica:

Currently banned: 2
Banned IP list: 45.135.232.92 4.211.84.189
informatica/sistemas_operativos/linux/administracion/fail2ban.1767971746.txt.gz · Última modificación: por tempwin