Por admin |

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 negación de servicio (DoS).

Instalación

root@server:~# aptitude install fail2ban whois

Configuración

NOTA:
La configuración que resulta de la instalación de fail2ban activa el puerto ssh. Sin embargo, es posible monitorizar y proteger otros puertos.

La documentación de fail2ban aconseja que toda la configuración se realice en archivos con la extensión .local. Estos pueden ser creados copiando el archivo de la configuración original, con la extensión .conf:

root@server:~# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Toda la configuración será efectuada, a partir de este momento, en el archivo /etc/fail2ban/jail.local.

En una primera etapa, definimos cuales son las direcciones que no estarán sujetas a restricciones (la dirección local y la red local), por cuanto tiempo estarán bloqueadas las direcciones de donde provengan las amenazas (1800 segundos (30 minutos)) y después de cuantas tentativas (3 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 192.168.1.0/24
bantime = 1800
maxretry = 3

# [...]

También se define la dirección e-mail que recibirá las alertas:

# [...]

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

# [...]

Luego, debe configurarse la acción a realizar cuando se detecta un posible ataque. En este caso, la dirección IP del atacante es bloqueada y u e-mail 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

# [...]

#
# Action shortcuts. To be used to define action parameter

# [...]

# 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

# [...]

Por último, se definen los parámetros del servicio que se pretende proteger. Para esto, se edita la sección JAILS del archivo /etc/fail2ban/jail.local:

# [...]

#
# JAILS
#

# [...]

[ssh]

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

# [...]

Ahora debe reiniciarse el servicio fail2ban:

root@server:~# /etc/init.d/fail2ban restart

Verificación

Durante cada (re)inicio del servicio fail2ban se envía un e-mail de notificación al administrador del sistema:

Subject: [Fail2Ban] ssh: started
From: Fail2Ban <fail2ban@home.lan>
To: root@localhost
Date: Tue, 13 Jan 2011 22:14:28 +0000 (WET)

Hi,

The jail ssh has been started successfully.

Regards,

Fail2Ban

En de que sea necesaria una acción defensiva, el administrador también será notificado:

Subject: [Fail2Ban] ssh: banned 219.143.232.144
From: Fail2Ban <fail2ban@home.lan>
To: root@localhost
Date: Tue, 13 Jan 2011 22:25:06 +0000 (WET)

Hi,

The IP 219.143.232.144 has just been banned by Fail2Ban after
3 attempts against ssh.

Here are more information about 219.143.232.144:

% [whois.apnic.net node-1]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 219.143.232.0 - 219.143.233.127
netname: Sinotrans-Air-Transport-Development-Co-Ltd
country: CN
descr: 16F Building A Jinyun Plaza,NO.43 Xizhimen South Street,Xicheng District, Beijing,P.R.China
admin-c: HC55-AP
tech-c: HC55-AP
status: ASSIGNED NON-PORTABLE
changed: bjnic@bjtelecom.net 20071010
mnt-by: MAINT-CHINANET-BJ
source: APNIC

person: Hostmaster of Beijing Telecom corporation CHINA TELECOM
nic-hdl: HC55-AP
e-mail: bjnic@bjtelecom.net
address: Beijing Telecom
address: No. 107 XiDan Beidajie, Xicheng District Beijing
phone: +86-010-58503461
fax-no: +86-010-58503054
country: cn
changed: bjnic@bjtelecom.net 20040115
mnt-by: MAINT-CHINATELECOM-BJ
source: APNIC

Lines containing IP:219.143.232.144 in /var/log/auth.log

Dec 21 23:40:54 server sshd[4311]: Did not receive identification string from 219.143.232.144
Dec 21 23:44:19 server sshd[4318]: Invalid user globus from 219.143.232.144
Dec 21 23:44:19 server sshd[4318]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144 
Dec 21 23:44:21 server sshd[4318]: Failed password for invalid user globus from 219.143.232.144 port 43536 ssh2
Dec 21 23:44:22 server sshd[4320]: Invalid user marine from 219.143.232.144
Dec 21 23:44:22 server sshd[4320]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144 

Regards,

Fail2Ban
Publicado el: nov 4, 2011
Enviado por: admin
Categoría:Software
Fuente:http://molasoft.no-ip.org