El servidor fail2ban/ipfw/Mac OS X no niega conexiones

El servidor fail2ban/ipfw/Mac OS X no niega conexiones

Estoy intentando configurar un firewall para mi servidor 10.5, pero parece que no puedo hacerlo funcionar. El objetivo principal es intentar detener los constantes intentos de inicio de sesión de correo por fuerza bruta.

Con este fin instalé fail2ban, para detectar y prohibir los inicios de sesión fallidos. En su mayor parte, esto funciona, es decir, se logra la mecánica de enviar las direcciones IP prohibidas y enviarme un correo electrónico a tal efecto. Si inicio una sesión de terminal, obtengo docenas de direcciones IP enumeradas con el siguiente comando:

sudo ipfw list

Con una entrada que parece:

12345 deny tcp from 123.123.23.123 to any in

Pero la prohibición simplemente no es efectiva: la misma dirección IP volverá a intentarlo más tarde, a veces cada pocos segundos durante horas.

Cuando reviso el registro de fail2ban, se queja (después de haber detectado un intento de inicio de sesión malicioso varias veces):

"WARNING [sasl-ipfw] 123.123.123.123 already banned"

Intenté formatear la prohibición de diferentes maneras:

12345 deny tcp from 123.123.23.123 to 127.0.0.1 dst-port 25
12345 deny tcp from 123.123.23.123 to 192.168.123.123 dst-port 25

Pero simplemente no hace ninguna diferencia. Incluso intenté simplemente prohibir la red local en el servicio web:

12345 deny tcp from 192.168.123.122 to 192.168.123.123 dst-port 80

Pero nuevamente eso no tiene ningún efecto. Las otras reglas, que parecen ser predeterminadas, en la lista IPFW se ven así:

12300 allow log logamount 1000 tcp from any to any established
12301 allow log logamount 1000 tcp from any to any out
12302 allow log logamount 1000 tcp from any to any dst-port 22 …

y una regla final en la lista (que leí en alguna parte no se puede cambiar):

65535 allow ip from any to any

La aplicación de administración del servidor indica que el servicio de firewall se está ejecutando, no hay listados de "denegación" en el registro de ipfw. Las entradas parcheadas en IPFW por fail2ban no aparecen en las entradas de Server Admin en ninguna parte, ni en los archivos ipfw.conf o ipfw.conf.apple (así que no estoy seguro de dónde están almacenados). Pero los veo cuando aparece la "lista ipfw" en la terminal y aparecen en la pestaña "Reglas activas" de la sección Firewall en Server Admin.

Gracias por cualquier ayuda sobre este tema.

Respuesta1

Parece que su secuencia de comandos fail2ban utiliza un número de regla demasiado alto. ipfw evalúa las reglas en orden numérico, y la primera que se aplica a un paquete determinado determina qué se hace con él. Esto significa que las reglas con números más bajos tienen mayor prioridad. Dado que las reglas de "denegar" de fail2ban se agregan con el número 12345, pero las reglas de "permitir" configuradas por el administrador del servidor comienzan en 12302, al menos algunas de las reglas de permiso anulan las reglas de denegación de fail2ban.

Solución simple: busque dónde está definido el número de regla en su script fail2ban y bájelo a algo como 12200.

Por cierto, el hecho de que las reglas de fail2ban no se agreguen a los archivos de configuración es normal y probablemente bueno. Estos archivos se utilizan cuando se recarga el firewall (por ejemplo, cuando se reinicia), pero no reflejan necesariamente el estado "activo" del firewall. Si lo desea, puede editar el script fail2ban para agregar sus reglas a esos archivos y configurarlos en estado activo, pero eso significa que su conjunto de reglas crecerá arbitrariamente con el tiempo. En mi opinión, el único momento en el que deberías preocuparte por este tipo de prohibiciones "permanentes" es si sigues viendo abusos de las mismas IP una y otra vez durante un largo período de tiempo... pero espero que esto sea poco común.

información relacionada