Fail2ban es una aplicación escrita en Python para la prevención de intrusos en un sistema, que se basa en la penalización de conexión (bloquear conexión) a los orígenes que intentan accesos por fuerza bruta. Se distribuye bajo la licencia GNU y típicamente funciona en todos los sistemas POSIXque tengan interfaz con un sistema de control de paquetes o un firewall local.
Funcionamiento de Fail2ban
Fail2ban se encarga de buscar en los registros (logs) de los programas que se especifiquen, las reglas que el usuario decida para poder aplicarle una penalización. La penalización puede ser bloquear la aplicación que ha fallado en un determinado puerto, bloquearla para todos los puertos, etc. Las penalizaciones así como las reglas, son definidas por el usuario.
Habitualmente si las IPs de ataque son prohibidas por un lapso prudencial de tiempo, la sobrecarga de red provocada por los ataques baja, y también se baja la probabilidad de que un ataque de fuerza bruta basada en diccionarios tenga éxito.
Instalación
Instalamos fail2ban desde vuestro gestor de paquetes.
apt-get install fail2ban
Configuración.
El archivo de configuración se encuentra en /etc/fail2ban/jail.conf
vi /etc/fail2ban/jail.conf
Dentro de este archivo de configuración hay diferentes secciones, vamos a ver un poco por encima…
[DEFAULT]
Podemos definir las direcciones ip’s las cuales que no queremos que banee.
ignoreip = 127.0.0.1
El tiempo que va a banear las direcciones ips
bantime = 600
y el numero de intentos.
maxretry = 3
Definimos el correo el cual queremos que nos avise cuando detecte un ataque.
destemail = rokitoh@red-orbita.com
El tipo de correo que vamos a utilizar para mandar dichos correos. por defecto es sendmail.
mta = sendmail
La acccion que queremos usar, yo e utilizado una muy simple…
action = %(action_mwl)s
y mas para abajo ya se encuentran todos los servicio que monitoriza.
El servicio SSH ya viene por defecto habilitado. que de momento es el que voy a dejar… ya que esto es un portatil y pocos servicios tiene.
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Iniciamos fail2ban
/etc/init.d/fail2ban start
y comprobamos que funciona.
Un saludo y espero que os sirva de utilidad. rokitoh!
Una respuesta a “Detener ataques de fuerza bruta”