En este post quisiera hablar de algo que me gusta mucho sobre las redes y es un tema muy importante para aquellos que deseen profundizar en el mundo de las redes, y aquellos que les gustan las telecomunicaciones, y es sobre el tema de la seguridad a nivel de redes, verificar cuales son los ataques a los que esta expuesta mi red y como solucionarlos o prevenirlos en el mejor de los casos.
Un Ataque de Fuerza Bruta se caracteriza por una tentativa continuada de obtener acceso a un servicio del sistema (ssh, smtp, http, etc.), intentando diversas combinaciones de nombre del usuario y su contraseña. Para llevar a cabo este ataque, el delantero puede usar un software que gestiona diversas combinaciones de caracteres o basarse en una lista de palabras (diccionario).
En ambos casos, un ataque de este género es un ávido consumidor de recursos y potencialmente bastante peligroso, especialmente si los usuarios del sistema no tienen un mínimo de cuidado al elegir sus contraseñas.
Otro género de Ataque de Fuerza Bruta es un Ataque de Negación de Servicio (DoS) o Ataque Distribuido de Negaciones de Servicio (DDoS), en donde el servidor es bombardeado con solicitudes a un determinado servicio en tal número que no las puede gestionar, consumiendo todos los recursos del sistema, o haciéndolo inestable.
Afortunadamente, esos ataques pueden ser detectados a tiempo, posibilitando una acción preventiva, como por ejemplo, ignorar o bloquear la dirección IP de origen del ataque.
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
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 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:
- /etc/fail2ban/jail.local
- # [...]DEFAULT]["ignoreip" can be an IP address, a CIDR mask or a DNS host i# gnoreip = 127.0.0.1 192.168.1.0/24 bantime = 1800
También se define la dirección e-mail que recibirá las alertas:
- /etc/fail2ban/jail.local
- # [...]#estination email address used solely for the interpolations in ## Djail.{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.
- /etc/fail2ban/jail.local
- # [...]#CTIONS ## ADefault banning action (e.g. iptables, iptables-new, ##iptables-multiport, shorewall, etc) It is used to define# action_* variables. Can be overriden globally or perultiport # [...] # Choose defa# section within jail.local file banaction = iptables- mult action. To change, just override value of 'action' with thection_mwl, etc) in jail.local # globally (section [DEFAULT]) or per specific section action =# interpolation to the chosen action shortcut (e.g. action_mw, a%(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:
- /etc/fail2ban/jail.local
- # [...]#AILS ## J # [...]led =[ssh] ena b true= ssh filterport = sshd/var/log/auth.log maxretrylogpath == 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: startedDate: Wed, 15 May 2013 16:10:03 +0000From: Fail2Ban <fail2ban@home.lan>sh has been starteTo: root@localhost Hi, The jail sd successfully. Regards,Fail2Ban
En de que sea necesaria una acción defensiva, el administrador también será notificado:
Subject: [Fail2Ban] ssh: banned 219.148.120.238Date: Wed, 15 May 2013 17:15:59 +0000root@localhost Hi, The IP 219.1From: Fail2Ban <fail2ban@home.lan> To :48.120.238 has just been banned by Fail2Ban afterabout 219.148.120.238:3 attempts against ssh. Here are more information % [whois.apnic.net node-7]http://www.apnic.net/db/dbcopyright.html inetnum: 219.148.0.0% Whois data copyright terms - 219.148.159.255 netname: CHINANET-HE descr: CHINANET hebei province network32 country: CN admin-cdescr: China Telecom descr: No.31,jingrong street descr: Beijing 100 0: CH93-AP tech-c: BR3-AP status: ALLOCATED NON-PORTABLE changed: ipadmin@north.cn.net 20060526..] Lines containing IP:219.1mnt-by: MAINT-CHINANET mnt-lower: MAINT-CHINANET-HE mnt-routes: MAINT-CHINANET-HE source: APNIC # [ .48.120.238 in /var/log/auth.log: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.148.120.238 user=root May 15 17:07:26 server sshd[27043May 15 17:07:25 server sshd[27043 ]]: Failed password for root from 219.148.120.238 port 59879 ssh2ation failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.148.120.238 user=root May 15 17:07:31 server sshd[27046]: Failed password for root fromMay 15 17:07:29 server sshd[27046]: pam_unix(sshd:auth): authenti c 219.148.120.238 port 60898 ssh2 May 15 17:07:34 server sshd[27048]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.148.120.238 user=rootMay 15 17:07:36 server sshd[27048]: Failed password for root from 219.148.120.238 port 33737 ssh2 Regards,Fail2Ban
0 comentarios :
Publicar un comentario