GNU/Linux Fail2Ban

Publicado

GNU/Linux https://www.fail2ban.org/wiki/index.php/Main_Page Fail2Ban es una aplicación que analiza continuamente los ficheros log y bloquea las direcciones Internet de donde se hayan originado varias tentativas fallidas de acceso con contraseña inválida. Fail2Ban es extremadamente eficaz en la prevención de ataques de fuerza bruta y ataques de denegación de servicio (DoS).

En la instalación de fail2ban activa el puerto ssh. Sin embargo, es posible monitorizar y proteger otros puertos.

# apt-get install fail2ban whois

La documentación de fail2ban recomienda se realice en un archivo con la extensión .local. Copie el archivo de la configuración original, con la extensión .conf:

# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

La configuración se efectuara, en el archivo /etc/fail2ban/jail.local.

Definimos cuáles son las direcciones que no estarán sujetas a restricciones (la dirección local y la red local), por cuánto tiempo estarán bloqueadas las direcciones de donde provengan las amenazas (1800 segundos (30 minutos)) y después de cuántas tentativas (4 tentativas permitidas). Esta configuración debe realizarse en el archivo /etc/fail2ban/jail.local:

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 172.18.50.0/24
bantime = 1800
maxretry = 4

# [...]

Definir correo que recibirá las alertas:

# [...]

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = gerape@gnuco.org

# [...]

Debe configurarse la acción a realizar cuando se detecta un posible ataque. La dirección IP del atacante es bloqueada y un correo es enviado al administrador del sistema.

# [...]

#
# ACTIONS
#

# Default banning action (e.g. iptables, iptables-new,
# iptables-multiport, shorewall, etc) It is used to define
# action_* variables. Can be overriden globally or per
# section within jail.local file
banaction = iptables-multiport

# [...]

# Choose default action. To change, just override value of 'action' with the
# interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local
# globally (section [DEFAULT]) or per specific section
action = %(action_mwl)s

# [...]

Definir los parámetros del servicio que se pretende proteger. Para esto, se edita a partir de la linea JAILS del archivo /etc/fail2ban/jail.local:

# [...]

#
# JAILS
#

# [...]

[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

# [...]

Reiniciamos el servicio:

# /etc/init.d/fail2ban restart

Durante cada reinicio del servicio fail2ban se envía un correo de notificación al administrador del sistema. En caso de una acción defensiva, el administrador también será notificado. Fail2Ban protege servidores correo, ftp, web, base datos y otros. Se debe editarse el archivo /etc/fail2ban/jail.local para modificar los servicios que se deseen proteger.

Autor