Instalación de Fail2Ban
En el primer post sobre políticas de seguridad mencionamos un programa llamado Fail2Ban, ahora en este post hablaremos de como instalarlo y configurarlo para proteger nuestros equipos contra robots y ataques de diccionario hacia nuestra consola.
Fail2Ban es un analizador de logs , que busca intentos fallidos de registro y bloquea las IP’s de donde provienen estos intentos.
Instalación y Configuración
Paso #1:Debemos de Instalar python en nuestro servidor , para ello ejecutamos
[root@elastix]# yum install python*
Paso #2:Descargamos Fail2ban en la carpeta /usr/src desde su pagina en sourceforge
[root@elastix]# cd /usr/src
[root@elastix src]# wget http://downloads.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2?use_mirror=hivelocity
Paso #3 Descomprimimos e instalamos Fail2Ban
[root@elastix src]# tar xvfj fail2ban-0.8.4.tar.bz2
[root@elastix src]# cd fail2ban-0.8.4
[root@elastix fail2ban-0.8.4]# python setup.py install
Con esto tendremos instalado Fail2Ban en /usr/share/fail2ban. Los scripts los encontramos en /usr/bin.
Ahora debemos de configurar Fail2Ban para que analice los logs que deseamos y bloque IP,s y nos sean enviadas notificaciones vía e-mail.para ello modificaremos el archivo jail.conf que encontramos en /etc/fail2ban
[root@elastix src]# cd /etc/fail2ban
[root@elastix fail2ban]# vi jail.conf
Lo primero a modificar es el valor bantime, este valor determina el tiempo en segundos que quedará bloqueada la ip que esta atacándonos , por defecto el valor viene en 600.
Después buscamos el valor maxretry que serán el número de veces que una IP puede tener una autenticación fallida antes de ser bloqueada.
Para que busque intentos fallidos de logueo por ssh buscamos la siguiente parte:
[ssh-iptables]
enabled = false
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
logpath = /var/log/sshd.log
maxretry = 5
Y la dejamos así:
[ssh-iptables]
enabled = true
filter = sshd
action = iptables-allports[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=tu@correo.com, sender=fail2ban@correo.com]
logpath = /var/log/secure
maxretry = 3
Modificando estos valores podemos buscar los errores que queramos en el log que queramos , se podría bloquear por ejemplo , intentos fallidos de registro SIP modificando otras líneas.
Para iniciar el cliente de Fail2ban utilizamos el comando fail2ban-client start

Febrero 1st, 2010 at 11:27 am
Muy interesante Augusto, desde que lo nombraste por primera vez en el post de “Recomendaciones de Seguridad” lo instale en varios servers y me viene dando muy buenos resultados, aparte de controlar y banear accesos por ssh lo estoy usando también para que monitoree los registros de elastix, si veo algo raro de alguna ip que esta intentando realizar alguna conexión vía sip o iax también la banea y dandome mayor seguridad aun, si te interesa después armamos algo del uso de fail2ban sobre elastix y lo colgamos en el blog, saludos
Rodrigo
Abril 25th, 2010 at 3:02 am
Now THAT’S what I deem an insightful thought on this subject. What I would suggest perhaps is speaking to other people involved in the scene and bring to day any different points of view and then update or create a new post for us to . I hope you’ll take my advice, I’m looking forward to it! Try to cover off on some graffiti characters as well if you can, they’re very popular at the moment.