Se ejecuta en el servidor Ubuntu 14.04.
Entonces tengo fail2ban configurado correctamente para procesar /var/log/auth.log
intentos de inicio de sesión SSH.
Tras 3 intentos fallidos, veo esto en el registro fail2ban:
2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY
iptables -L
muestra esta cadena:
Chain fail2ban-ssh (1 references)
target prot opt source destination
REJECT all -- BANNED_IP_ADDY anywhere reject-with icmp-port-unreachable
RETURN all -- anywhere anywhere
Sin embargo, desde esa IP todavía puedo iniciar sesión a través de SSH sin ningún problema.
La misma historia se aplica a todas mis cárceles fail2ban. Apache, por ejemplo, puedo ver que fail2ban detecta correctamente el registro y afirma que prohíbe una IP. La IP termina en una cadena de iptables pero la IP en realidad no se RECHAZA.
Tengo la sensación de que en estos casos es porque SSH no está en el puerto estándar. Está en un puerto diferente.
Entonces, si fuerzo la regla de la cárcel ssh a usar el nuevo puerto:
[ssh]
enabled = true
port = 32323
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
Entonces veo este error:
2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment
Si lo dejo como
port = ssh
Luego ingresa a iptables correctamente, pero la cadena no funciona para el REJECT
tráfico (como se mencionó anteriormente).
ACTUALIZAR:
Si cambio:
banaction = iptables-multiport
A:
banaction = iptables-allports
Entonces parece funcionar. ¿Cuáles son las repercusiones de este cambio?
Parece que provocar la fail2ban
prohibición de una IP debido a SSH con esto allports
prohibió CADA puerto para esa IP. A propósito se prohibió debido a errores repetidos de inicio de sesión ssh También se prohibió en cualquier otro servicio.
/etc/fail2ban/actions.d
, tiene un archivo correspondiente a cada una de esas acciones de prohibición. En el interior, verá qué comandos se utilizan para prohibir, desbancar, iniciar y detener fail2ban. Puede intentar ejecutar los comandos de actionban manualmente y ver qué sucede. Yo
iptables -L -n -v
(redactando direcciones IP cuando sea necesario). En particular, tenga en cuenta -v
que, que proporcionará contadores de bytes y paquetes para cada cadena y regla, facilitando la depuración.