Bloquear IP de Ataques Fuerza Bruta WinFail2ban
by Jordi on may.29, 2009, under Firewall, Hacking
Los ataques a servidores son constantes. Para poder asegurar servidores hay una herramienta opensource creada por Vittorio Pavesi que anula los ataques tanto a Ftp’s como a MS SQL Server y Remote Desktop.
Su funcionamiento se basa en leer los logs de windows para que una vez que se cumple un numero determinado de ataques en un tiempo determinado, la ip atacante, quede baneada y ésta queda añadida en una lista negra o “blacklist”
La versión que hemos testeado es Winfail2ban v0.3 y ésta instala un servicio de sistema y un configurador para poder interactuar con funcionamiento general del programa.
En la primera opción nos sale la ventana para decirle los parámetros de número de ataques y de tiempo en el que éstos ataques se dan. Por ejemplo si en minutos ponemos 5 y en ataques 12, bloquearemos la ip atacante si en un espacio de tiempo de 5 minutos recibimos 12 fallos de autenticación.
En la segunda opción podemos decidir si banear por regla de filtrado del firewall o redirigiendo mal la petición (“Bad Route Banning”):
Todas las ips baneadas se encontraran en el listado de blacklist:
También podemos poner un listado de ips que nunca sean baneadas (“whitelist”)
La tercera opción nos permite configurar el envio mediante correo electrónico de los avisos cuando tengamos un atacante:
La Opción de sonido es para recibir aviso sonoro cuando tengamos un ataque.
Por último tenemos el listado de ips baneadas con fecha de ataque:
Es importante revisar el log del programa para asegurarnos que esta funcionando bien, así como hacer algunos tests para estar seguro de tener la protección activada. Para ello podemos reiniciar el servicio Winfail2ban.exe.
Los log para ver que esta todo funcionando perfectamente, los tenemos en INICIO- TODOS LOS PROGRAMAS-WINFAIL2LOG-LOG.
Ejemplo:
31/05/2009 21:51:36
WinFail2Ban: Stopping WinFail2Ban 1.0
—————————————–
31/05/2009 21:56:01
WinFail2Ban: Starting WinFail2Ban 1.0 (enable verbose logging)
—————————————–
31/05/2009 21:56:01
WinFail2Ban: Wait for events…
—————————————–
31/05/2009 22:35:42
WinFail2Ban: ParseFTPMessage
—————————————–
31/05/2009 22:35:44
WinFail2Ban: ParseW3CLog
—————————————–
31/05/2009 22:35:47
WinFail2Ban: AttackDetected 192.168.1.12
—————————————–
31/05/2009 22:35:54
WinFail2Ban: Total Attack from IP 192.168.1.12 during last 2 are 1
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseFTPMessage
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseW3CLog
—————————————–
31/05/2009 22:35:54
WinFail2Ban: AttackDetected 192.168.1.12
—————————————–
31/05/2009 22:35:54
WinFail2Ban: Total Attack from IP 192.168.1.12 during last 2 are 2
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseFTPMessage
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseW3CLog
—————————————–
31/05/2009 22:35:54
WinFail2Ban: AttackDetected 192.168.1.12
—————————————–
31/05/2009 22:35:54
WinFail2Ban: Total Attack from IP 192.168.1.12 during last 2 are 3
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseFTPMessage
—————————————–
31/05/2009 22:35:54
WinFail2Ban: ParseW3CLog
—————————————–
31/05/2009 22:35:54
WinFail2Ban: AttackDetected 192.168.1.12
—————————————–
31/05/2009 22:35:54
WinFail2Ban: Total Attack from IP 192.168.1.12 during last 2 are 4
—————————————–
31/05/2009 22:35:54
WinFail2Ban: BanIP 192.168.1.12
—————————————–
31/05/2009 22:35:54
WinFail2Ban: Ban_BadRoute 192.168.1.12
—————————————–
31/05/2009 22:35:57
WinFail2Ban: Ban_BadRoute Output:
—————————————–
31/05/2009 22:35:57
WinFail2Ban: ParseFTPMessage
—————————————–
31/05/2009 22:35:57
WinFail2Ban: ParseW3CLog
—————————————–
31/05/2009 22:35:57
WinFail2Ban: AttackDetected 192.168.1.12
—————————————–
31/05/2009 22:35:57
WinFail2Ban: Total Attack from IP 192.168.1.12 during last 2 are 5
—————————————–
31/05/2009 22:35:57
WinFail2Ban: BanIP 192.168.1.12
—————————————–
31/05/2009 22:35:57
WinFail2Ban: Ban_BadRoute 192.168.1.12
—————————————–
31/05/2009 22:35:57
WinFail2Ban: Ban_BadRoute Output:
—————————————–
Aquí vemos que se ha reiniciado el servicio y que despues de hacer un test de ataque sobre ftp, el programa esta funcionando bien y que añade a la lista negra la ip atacante del ataque por fuerza bruta:
El programa se puede descargar desde:
El programa para servidores y estaciones windows está basada en fail2ban para sistemas linux.
Para más información: www.fail2ban.org
El servicio de sistema utiliza unos 27700Kb de memoria Ram aproximadamente. Tenemos instalado el sistema para ver si su funcionamiento no da problemas, en todo caso actualizaremos con la nueva información que tengamos sobre su funcionamiento.
Para desbloquear cualquier ip que haya sido baneada, solo debemos reiniciar el host y automáticamente quedaran libres de bloqueo.
En la versión actual no funciona la “White list”, aunque próximamente Vittorio sacará una nueva versión con ésta funcionalidad y algunas mejoras.
Deja un comentario
You must be logged in to post a comment.
julio 22nd, 2009 on 16:22
Hola buenas! He estado probando el winfail2ban en mi servidor ftp, ya que recibo ataques continuamente.
Primero lo he probado con dos maquinas virtuales y el asunto es que cuando simulo el ataque intentando conectarme muchas veces con user/pass falsos, me sale la IP en la blacklist, pero aún así no bloquea la IP, sigo podiendo hacer intentos y conectarme. Lo tengo configurado como BAD Route Banning. Alguna idea de porque falla? Como implementa el programa la ruta mala para banear la IP.
¿Puede ser que necesite alguna otra interfaz virtual o algo así, o acabo de decir una burrada? En fin si se te ocurre algo me ayudarías mucho,
un saludo y felicidades por el blog!
julio 22nd, 2009 on 18:08
Hola,
Te sugiero que reinicies el servicio desde la consola de servicios y verifiques de vez en cuando que el log del programa esta en este estado:
WinFail2Ban: Wait for events…
Es fácil que en unos dias el programa se quede en este estado:
WinFail2Ban: System.Runtime.InteropServices.COMException (0x800401E4): Error parsing query:
Se nota que es una version aun no lo suficientemente madura, pero según Vittorio en breve sacará una nueva versión (en agosto tenia intención…)
En cuanto salga, la evaluaremos también y podremos ver las mejoras.
Saludos!
julio 23rd, 2009 on 13:55
Buenas otra vez y gracias por la respuesta. He probado varias veces a reiniciar el servicio, e incluso la máquina, pero sigue haciendo lo mismo. Respecto al log sale la línea
WinFail2Ban: Wait for events…
varias veces, y todo parece correcto, después de los ataques pone que ha baneado la ip:
WinFail2Ban: AttackDetected 192.168.116.129
—————————————–
7/22/2009 4:44:40 PM
WinFail2Ban: Total Attack from IP 192.168.116.129 during last 5 are 9
—————————————–
7/22/2009 4:44:40 PM
WinFail2Ban: BanIP 192.168.116.129
—————————————–
7/22/2009 4:44:40 PM
WinFail2Ban: Ban_BadRoute 192.168.116.129
—————————————–
7/22/2009 4:44:40 PM
WinFail2Ban: Ban_BadRoute Output:
Si se te ocurre algo más… Si no tocará esperar a la próxima versión a ver que tal. De todos modos ya que estamos, ¿conoces algún otro método para evitar los ataques de fuerza bruta? Cambiar el puerto o poner una máquina con linux y fail2ban antes del server no puedo, ya que el servidor recibe bastante tráfico y esto lo ralentizaría.
Muchas gracias!!