jueves, 26 de noviembre de 2009

Configurar Fail2ban contra ataques de fuerza bruta

Fail2ban es una aplicación utilizada para combatir ataques de fuerza bruta en diversos servicios ,  esto lo hace analizando los logs por específicos intentos de ingreso al sistema en un determinado intervalo de tiempo,  hoy veremos como configurarlo para una aplicación muy esencial como SSH.

para comenzar instalamos las aplicaciones necesarias por medio de yum.

#yum -y install fail2ban

editamos el archivo /etc/fail2ban/jail.conf

#vi  /etc/fail2ban/jail.conf

configuramos los ips o segmentos de red que seran excluidos de la restriccion de fail2ban "ignoreip", tambien encontraremos la regla de cuanto tiempo estaran restringidos los host "bantime" , cuanto tienpo buscara los intentos "findtime" (los tiempos son dados en segundos ) y cuantos intentos son los maximos permitidos "maxretry" , cabe mencionar que en las reglas especificas del servicio se sobre ponen a las reglas generales .

==========================================================

ignoreip = 127.0.0.1 192.168.0.0/24


bantime  = 600

findtime  = 600

maxretry = 3



==========================================================


ahora habilitamos el servicio que requerimos , en las jaulas correspondientes  . pondremos como ejemplo la de SSH, cambiamos los parámetros resaltados en rojo

==========================================================

[ssh-iptables]

enabled  = true
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
==========================================================


grabamos los cambios en el archivo reiniciamos  el servicio

# service fail2ban restart

si requerimos  borrar una regla  agregada al iptables  listamos las reglas de iptables

# iptables -L

y borramos la regla  deceada

# iptables -D regla_fail2ban
#service iptables save

si no deseamos utilizar iptables , cambiamos la configuración a tcpwrappers

==========================================================

[ssh-tcpwrapper]

enabled = true
filter = sshd
action = hostsdeny
mail-whois[name=SSH, dest=root@localhost]
logpath = /var/log/auth.log

==========================================================

reiniciamos el servicio de fail2ban

# service failt2ban restar

1 comentario:

  1. Muy buena informacion, me ayudo para entender la funcion de fail2ban y completar mi tarea de la escucela

    ResponderEliminar