viernes, 4 de marzo de 2011

Script, Como bloquear ip de forma masiva y sin esfuerzo usando IPTABLES

En ciertas ocasiones necesitamos impedir que ciertas IP puedan acceder a nuestro servidor, pero hacerlo suele ser complicado. Por este motivo vamos a hacerlo mediante un script:
Para esto vamos a necesitar crear dos ficheros, uno donde iran las ip's en este formato:

192.168.2.1/24

Y otro fichero donde guardaremos nuestra configuracion de iptables + script.


En esta ocasion al fichero donde guardaré las IP's lo llamaré ip.ls y el fichero donde se encuentra la configuración de iptables , se llama iptables.save. Al final de este mismo fichero anotaré este script:
# Ahora dropamos todas las direcciones IP de paises como china, taiwan, etc.
for i in $(cat /etc/ip.ls)
do
iptables -I INPUT -s $i -j DROP
iptables -I INPUT -s $i -j LOG --log-prefix "Packet Input DROP:"
done


Como se puede ver , es importante indicarle la ubicación exacta del fichero ip.ls (en este caso se encuentra en /etc) que contendrá todas las ip a bloquear por el administrador.

Con este fichero cada vez que carguemos el script de iptables se cargaran todas la ip directamente en IPTABLES de una rapida y sencilla.

Esto es muy comodo si queremos, por ejemplo, bloquear todos los rangos IP de China, (http://www.find-ip-address.org/ip-country/) podemos pegar el siguiente listado dentro del fichero ip.ls y ejecutar el script.

46.19.96.0/21
46.36.197.41/32
46.36.197.42/31
46.36.197.44/30
46.36.197.48/31
46.36.197.50/32
46.70.0.0/15
46.130.0.0/16
46.136.12.0/24
46.136.88.0/24
46.162.192.0/18
46.182.168.0/21
46.241.128.0/17


Y ya está.

No hay comentarios:

Publicar un comentario