Antivirusonline.es. Seguridad en la red.

Bloquear IP de Ataques Fuerza Bruta WinFail2ban

by 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.

wf2b

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.

pwf2b

En la segunda opción podemos decidir si banear por regla de filtrado del firewall o redirigiendo mal la petición (“Bad Route Banning”):

bwf2b

Todas las ips baneadas se encontraran en el listado de blacklist:

blwf2ban

También podemos poner un listado de ips que nunca sean baneadas (“whitelist”)

wlwf2ban

La tercera opción nos permite configurar el envio mediante correo electrónico de los avisos cuando tengamos un atacante:

mwf2b

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:

banwf2b

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:

wf2ban2

El programa se puede descargar desde:

download_managerEl 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.

:, ,
3 comentarios para este post:
  1. marras

    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!

  2. Jordi

    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!

  3. marras

    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!!

Deja un comentario

You must be logged in to post a comment.

Buscando Algo?

Usa el formulario para buscar en el sitio:

Aun no encontraste lo que buscas? Deja un comentario o contacta con nosotros, te hecharemos un cable!