jueves, 16 de mayo de 2013

BLOQUEAR ATAQUES CON FAIL2BAN

BLOQUEAR ATAQUES POR FUERZA BRUTA CON FAIL2BAN


BLOQUEAR ATAQUES POR FUERZA BRUTA CON
‘Fail2ban’

Fail2ban es una aplicación que nos permite bloquear ciertas direcciones cuyos intentos fallidos de conexión sean superiores a un número determinado por el usuario. Es muy potente ya que aprovecha la robustez de iptables y los log’s del sistema para conseguir su función.

Básicamente consiste en leer los log’s y busca patrones comunes como el número de veces que se intenta conectar un usuario de forma fallida (esto se encuentra en /var/log/auth.log) y a partir de los datos obtenidos actúa en función de la configuración que le hayamos dado.
Primero instalamos el programa:

#apt-get install fail2ban

Fail2ban se ejecuta como demonio y para configurarlo modificaremos el archivo
#/etc/fail2ban/jail.conf

Éste archivo se divide en secciones, como por ejemplo [DEFAULT], debajo de ésta se encontrarán las reglas a seguir en el caso predeterminado. Si por ejemplo, queremos que nuestro servicio ssh tenga unas reglas distintas, crearemos una nueva sección llamada [ssh].

Las reglas más importantes son las siguientes:
[DEFAULT]-enabled = true/false....... .Indica si la regla estará activa o no-port = ssh,sftp,http…....... El puerto del servicio-filter = sshd.................... El parámetro de búsqueda en el fichero de log
-logpath = /var/log/auth.log..El fichero de log donde realizaremos la búsqueda
-maxretry = 3...................Numero de conexiones permitidas antes de bloquear la ip
-bantime = 300................Tiempo en segundos que permanecerá baneada la ip
Ahora conociendo un poco más las reglas, si quisiéramos banear durante 10 minutos las ip’s, que realizan 5 conexiones fallidas a nuestro sistema por ssh crearíamos la siguiente sección en el archivo /etc/fail2ban/jail.conf:

[ssh]
enabled = true
port = ssh,sftp
filter = sshdlogpath = /var/log/auth.log
maxretry = 5
bantime = 6000

Y ahora, para que la configuración tenga efecto, debemos reiniciar el deminio con:
#/etc/init.d/fail2ban restart

Para comprobar que funciona, podemos probar a conectarnos desde otra máquina y hacer 5 intentos fallidos. Veremos que no nos deja conectar más veces y en el servidor si introducimos el siguiente comando, veremos las ip’s que están actualmente bloqueadas:

#iptables -L fail2ban-ssh

2 comentarios:

  1. Si se utiliza en un servidor de correo ¿se puede ver además de la ip bloqueada la cuenta de correo atacada?

    ResponderEliminar
  2. man la vez que instale fail2ban fue en un servidor elastix para bloquear ataques que me hacian desde afuera, para un serivdor de correo pues claro que que bloquearias ip pero no creo que se pueda para cuentas de correos, existen otras herramientas para bloquear cuentas de correo , cualquier cosas a la orden y gracias por el comentario

    ResponderEliminar