Archivo etiqueta drop.lasso
Shell Script para incluir/actualizar “drop.lasso” de Spamhaus usando iptables en Gentoo Linux
Este es un pequeño Shell Script para añadir y actualizar rangos de IPs de la lista drop.lasso de Spamhaus.org y que ha determinado como principales emisores de SPAM en Internet.
# declaramos las variables que vamos a usar.
IPTABLES="/sbin/iptables"
SPAM_URL_spamhaus="http://www.spamhaus.org/drop/drop.lasso"
SPAM_FILE_TMP="/home/backup/scripts/spamhaus.ips"
SPAM_TABLE_spamhaus="Spamhaus"
SPAM_IPS=$(cat $SPAM_FILE_TMP | grep -iE "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | awk -F\; '{ print $1 }')
# borramos el fichero de ips anterior si existe.
rm -f $SPAM_FILE_TMP
# descargamos la ultima actualización realizada por spamhaus.org.
# -q no muestra ningún log de registro | -c para continuar la descarga si se cortara.
wget -qc $SPAM_URL_spamhaus -O $SPAM_FILE_TMP
# creamos las lista de ips.
$IPTABLES -n -L INPUT | grep -q "$SPAM_TABLE_spamhaus"
if [ $? -eq 0 ] ; then
# borramos todas las reglas que contiene la cadena spamhaus.
$IPTABLES -F $SPAM_TABLE_spamhaus
else
# crea una nueva cadena llamada spamhaus si no existe.
$IPTABLES -N $SPAM_TABLE_spamhaus
# añade la regla spamhaus para todo el tráfico entrante.
$IPTABLES -A INPUT -j $SPAM_TABLE_spamhaus
fi
# con RETURN salta el objetivo si existe.
$IPTABLES -A $SPAM_TABLE_spamhaus -j RETURN
# recorremos la lista de IPs para ir incluyéndolas una por una a iptables.
for IP in $SPAM_IPS
do
# inserta una nueva regla a la cadena con la opciones especificadas.
# -p all (bloquea el trafico recibido a través de los protocolos icmp, tcp, udp)
# -s ip (ip origen del paquete)
# -j DROP (elimina el paquete recibido)
$IPTABLES -I $SPAM_TABLE_spamhaus -p all -s $IP -j DROP
done
“El Shell Script ha sido probado correctamente en Gentoo y Fedora Core 5″
Como veis es bastante sencillo y probablemente mejorable … luego solo tendríamos que añadirlo a nuestro crontab para que se ejecute periódicamente.
Descargar el ejemplo.