P�gina desactualizada Esta p�gina contiene una versi�n anterior de esta gu�a que puede estar desactualizada. Para ver la versi�n m�s reciente, haga clic aqu�.
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).
root@server:~# aptitude install fail2ban whois
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 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 (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
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