Como bloquear ultrasurf usando iptables+fail2ban
Bueno para los administradores cansados de ir bloqueando el famoso ultrasurf en cada una de sus nuevas versiones aca les pongo el como bloquearlo definitivamente utilizando iptables+fail2ban
OS: Centos 5.8
squid: Version 2.6.STABLE21 mode transparent
1. En su script de iptables agregar la siguiente linea
iptables -A FORWARD -d 65.49.14.0/24 -j LOG --log-prefix "=UltraSurf= "
0j0: esta linea siempre va antes de la linea donde aceptamos los paquetes ya establecidos (--state ESTABLISHED,RELATED)
2. instalar fail2ban
yum install -y fail2ban
Editar el archivo de configuracion
vim /etc/fail2ban/fail2ban.conf
y agregar en la parte de logtarget
logtarget = /var/log/fail2ban.log
3. crear un archivo llamado "jail.local":
vim /etc/fail2ban/jail.local
y colocarle dentro lo siguiente:
[ultrasurf]
enabled = true
filter = ultrasurf
port = all
action = iptables-ultrasurf
logpath = /var/log/messages
maxretry = 3
bantime = 900
explain: si ven la variable bantime=900 nos indica q le estamos dando 900 sec/15 min de bloqueo a la ip que trate de utilizar el ultrasurf. El maxretry=3 significa q le estamos dando 3 chances al usuario en cuestion para un bloqueo definitivo
4. Creamos el archivo ultrasurf.local
vim /etc/fail2ban/filter.d/ultrasurf.local
Aqui adicionamos una expresion regular simple:
[Definition]
failregex = (.*)=UltraSurf=(.*) SRC=
ignoreregex =
Esta expresion nos permitira detectar en nuestro log las ips y sus acciones.
5. En el archivo que ejecutara la regla, irán las reglas de iptables necesarias para el bloqueo y desbloqueo:
vim /etc/fail2ban/action.d/iptables-ultrasurf.local
Dentro adicionamos:
[Definition]
actionstart = iptables -N fail2ban-
iptables -A fail2ban- -j RETURN
iptables -I INPUT -j fail2ban-
iptables -I FORWARD -j fail2ban-
actionstop = iptables -D FORWARD -j fail2ban-
iptables -D INPUT -j fail2ban-
iptables -F fail2ban-
iptables -X fail2ban-
actioncheck = iptables -n -L FORWARD | grep -q fail2ban-
iptables -n -L INPUT | grep -q fail2ban-
actionban = iptables -I fail2ban- 1 -s -j REJECT
actionunban = iptables -D fail2ban- -s -j REJECT
[Init]
name = ultrasurf
6. Por ultimo nos falta reiniciar fail2ban:
service fail2ban restart
[quote]
Stopping fail2ban: [OK]
Starting fail2ban: [ OK ][/quote]
y para que se ejecute siempre en nuestro centos
chkconfig fail2ban on
Para verificar los bloqueos bastara con:
cat /var/log/fail2ban.log
Listo podemos empezar a ver los primeros bloqueos que duran 15 min como pusimos en la parte de arriba
[quote]2012-11-06 09:39:56,135 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.1.168
2012-11-06 09:41:48,146 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.0.19
2012-11-06 09:52:15,168 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.3.224
2012-11-06 09:54:56,183 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.1.168
2012-11-06 09:55:39,198 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.1.168
2012-11-06 09:56:48,214 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.0.19
2012-11-06 10:01:14,242 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.0.19
2012-11-06 10:07:15,268 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.3.224
2012-11-06 10:10:39,285 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.1.168
2012-11-06 10:11:21,301 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.1.168
2012-11-06 10:16:14,324 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.0.19
2012-11-06 10:18:25,336 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.0.19
2012-11-06 10:26:21,341 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.1.168
2012-11-06 10:27:06,354 fail2ban.actions: WARNING [ultrasurf] Ban 192.168.1.168
2012-11-06 10:33:25,346 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.0.19
2012-11-06 10:42:06,375 fail2ban.actions: WARNING [ultrasurf] Unban 192.168.1.168
[/quote]
Nota, hay como tambien configurar para que nos notifique automaticamente via mail los malos usos, bueno
pero eso ya lo pondre en otro post.
Comentarios
Buen caso de uso del fail2ban
Buen caso de uso del fail2ban, la verdad es que es muy bueno y extensible ...
la regla:
iptables -A FORWARD -d 65.49.14.0/24 -j LOG --log-prefix "=UltraSurf= "
Incluye la red 65.49.14.0/24, esta es la del proveedor del ultrasurf habría que monitorear el cambio de esa red supongo para que no se te escapen :), alguna otra manera de identificar tráfico de ultrasurf ...???
bye
;)
la verdad habria q ir
la verdad habria q ir monitoreando el cambio de rango de ips de uso de ultrasurf, pero uso este sistema cerca de 1 anio y no hahn cambiado de subred.... ushhhh q frio q hace en UIO
OK, en todo caso como un bofh
OK, en todo caso como un bofh preocupado por la seguridad y el buen uso de los recursos, siempre notaras si algo va raro y verificarás el tema de las redes ...
Acá en Villahermosa hace un calor de madres ...!!! no manches güey ...!!! :D
bye
;)
claro siempre hay q ir
claro siempre hay q ir revisando los logs del sistema...
vaya en mexico huey..... jeje
Chévere el uso de fail2ban,
Chévere el uso de fail2ban, me haz dado un par de ideas jejeje
"Transporta un puñado de tierra todos los días y construirás una montaña" - Confucio
floss.iknaxio.net
como puedes ver tiene
como puedes ver tiene configurado x default para proteger ssh, apache, php, vsftpd, etc, etc, etc... muy bueno para bloquear las conexiones indeseadas!
Sip, ya lo publiqué alguna
Sip, ya lo publiqué alguna vez en el blog como herramienta de bloqueo proactivo, lo interesante es que puedes personalizar muy granularmente la respuesta y acciones que toma cuando detecta las acciones indeseadas, muy potente ... :)
bye
;)
mm la verdad no recuerdo
mm la verdad no recuerdo tienes el link por favor...
thnx
Bueno, tampoco es que haya
Bueno, tampoco es que haya sido el mega manual de fail2ban, más bien algo muy a mi estilo de un pequeño caso de uso con algunas notas de lo que me llama la atención y para un poco dejarles picados y que investiguen y así hasta hacen un COMO decente y me cuentan no ... :D
http://www.ecualug.org/?q=alaja_el_fail2ban_para_combatir_a_los_crackers_hijos_de_puta
OT: como me encanta la opción de crear tu propio URL :D ...
bye
;)
Hola, bueno ya han pasado 2
Hola, bueno ya han pasado 2 años desde este tutorial, lo estoy implementando pero en 6.2 64bits, iptables-1.4.7-11.el6.x86_64, kernel-2.6.32-431.23.3.el6.x86_64, tengo este error:
service fail2ban start
Iniciando fail2ban: ERROR Error in action definition iptables-ultrasurf
ERROR Errors in jail 'ultrasurf'. Skipping...
[FALLÓ]
Hice los paso tal como lo indicaste en tu tutorial.
Saludos
Vamos Ecuador, si se puede
Páginas