posibles conflictos ufw y fail2ban

45

¿Ejecutar fail2ban y ufw causará problemas? Noté que fail2ban modifica las reglas de iptables, pero ufw ya tiene un montón de reglas de iptables definidas ... así que no estoy seguro de si fail2ban las estropeará.

Adam Monsen
fuente
¿Qué versión de Ubuntu ? ('ufw' ha mejorado levemente entre 10.04 LTS y 11.x )
david6
@ david6: lo siento, no recuerdo qué versión estaba ejecutando cuando originalmente hice la pregunta.
Adam Monsen

Respuestas:

50

Puede usar ufw y fail2b juntos, pero como se indicó anteriormente, el orden de las reglas (ufw) es lo importante.

Fuera de la caja, fail2ban usa iptables e inserta las reglas primero en la cadena INPUT. Esto no hará ningún daño o conflicto con ufw.

Si desea integrar completamente fail2ban para usar ufw (en lugar de iptables). Deberá editar una serie de archivos, incluidos

/etc/fail2ban/jail.local

jail.local es donde define sus servicios, incluido qué puerto están escuchando (piense en cambiar ssh a un puerto no predeterminado) y qué medidas tomar.

** Tenga en cuenta *: nunca edite jail.conf , ¡sus cambios deben hacerse en jail.local! Ese archivo comienza con esto:

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

Usando ssh como ejemplo, tenga en cuenta la definición de un puerto no predeterminado también =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Luego configura fail2ban para usar ufw en (un archivo .conf para cada servicio)

/etc/fail2ban/action.d/ufw-ssh.conf

La sintaxis es

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

Nota: Configura fail2ban para usar ufw e insertar nuevas reglas PRIMERO usando la sintaxis "insert 1". La eliminación encontrará la regla independientemente del orden.

Hay una buena publicación de blog que entra en más detalles aquí.

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[EDITAR] Para ubuntu 16.04+

por defecto un " defaults-debian.conf" /etc/fail2ban/jail.dcon contenido

[sshd]
enabled = true

activará la protección ssh de fail2ban.

Necesitas ponerlo en falso.

Luego crea un jail.local como lo harías en general, el mío sería así:

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

Ya hay un ufw.conf en la instalación predeterminada de fail2ban, por lo que no es necesario crear uno.

El único cambio específico para usted jail.local sería en la línea de acción donde debe colocar la aplicación correspondiente para la protección y lo que desea obtener como resultado.

ufw tiende a detectar automáticamente cierta cantidad de aplicaciones que se ejecutan usando la red. Para tener la lista simplemente escriba sudo ufw app list. Es sensible a mayúsculas y minúsculas.

vuelva a cargar fail2ban y ya no verá la cadena fail2ban y si alguna IP obtiene un bloque, lo verá en sudo ufw status

Pantera
fuente
77
En resumen: sin hacer la integración como se explicó, tanto ufw como fail2ban funcionan como deberían. Fail2ban insertará sus definiciones de bloqueo antes de que se apliquen las reglas de ufw. Por otro lado, si a uno le gustaría que aparecieran los bloques ufw status, necesita la integración. Además de que aparezcan los bloques ufw status, ¿no habría otro beneficio? Sobre todo porque el autor del blog dice lo siguiente: Fuera de la caja Fail2ban trabaja con las reglas de iptables, sin embargo, estos no juegan bien con nuestros comandos simples UFW (...)
Bouke
1
Exactamente. "No juegues bien" equivale a no aparecer cuando los verificas con el estado ufw. Los beneficios de la integración son que está utilizando una herramienta, ufw, para administrar y mostrar sus reglas de firewall. No hay nada de malo en usar fail2ban tal como está, fuera de la caja, en términos de función. El problema sería que para ver las reglas de fail2ban necesitaría usar iptables -L -v -n, y como ya puede ver, cuando usa ufw la salida es larga y difícil de seguir. La ventaja de la integración es que las reglas y la sintaxis son más fáciles de entender (suponiendo que es por eso que usas ufw en primer lugar)
Panther
Para el registro, si hace clic en cualquier parte del sitio que vinculó, será redirigido a malware / adware.
Antonio Cangiano
@AntonioCangiano - El enlace funciona bien aquí, verifique su navegador y DNS
Panther
@ bodhi.zazen Cualquier clic en el artículo vinculado redirigirá a un sitio web corrupto, como señaló Antonio correctamente. Soy reacio a tomar consejos de seguridad de dicho artículo.
Goran Miskovic
4

He estado usando fail2ban y ufw durante años en un par de computadoras diferentes, y nunca tuve ningún problema. Para configurar fail2ban:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local

Ahora edite el archivo como lo desee, por ejemplo, si desea bloquear ssh no autorizado, busque las líneas:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

si "habilitado" se establece en "falso", cámbielo a "verdadero" como se indica aquí. Después de establecer las reglas, debe reiniciar el proceso fail2ban:

sudo /etc/init.d/fail2ban restart

Si ha abierto el puerto 22 en su firewall ufw, fail2ban prohibirá a los clientes que intenten conectarse más de 6 veces sin éxito, no romperá su firewall.

enedene
fuente
4

La instalación de 0.9.5 de fail2ban incluyó una ufwacción que simplemente tuve que configurar parabanaction

Carson Reinke
fuente
2
Para el registro, la acción también está presente en la versión 0.8.13
Joril