Buscador

Loading

viernes, 6 de julio de 2012

como bloquear china, rusia, korea y otros países con iptables

Un gran problema son los contantes ataques y escaneos de bots, una solución es bloquear los países más conflictivos y que no contamos con relación comercial o similar con ellos.

Hace tiempo encontré un buen script, ya no recuerdo la fuente pero aquí se los dejo.



#EDITAR LISTAS DE PAISES DESEADOS
ISO="af cn ru nl pl kr"


### Set PATH ###
IPT=/sbin/iptables
WGET=/usr/bin/wget
EGREP=/bin/egrep


### No editing below ###
SPAMLIST="countrydrop"
ZONEROOT="/root/iptables"
DLROOT="http://www.ipdeny.com/ipblocks/data/countries"


cleanOldRules(){
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
}


# create a dir
[ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT


# clean old rules
cleanOldRules


# create a new iptables list
$IPT -N $SPAMLIST


for c  in $ISO
do
        # local zone file
        tDB=$ZONEROOT/$c.zone


        # get fresh zone file
        $WGET -O $tDB $DLROOT/$c.zone

        # country specific log message
        SPAMDROPMSG="$c Country Drop"

        # get
        BADIPS=$(egrep -v "^#|^$" $tDB)
        for ipblock in $BADIPS
        do
           $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
           $IPT -A $SPAMLIST -s $ipblock -j DROP
        done
done

# Drop everything
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
# call your other iptable script
# /path/to/other/iptables.sh

exit 0


creen un .sh con ese contenido, asignen permiso 700 o 755 y ejecuten, tardara varios minutos así que no desesperen





No hay comentarios:

Publicar un comentario en la entrada

Generar número aleatorio en java script con rango de valores

Número aleatorio en java script con rango de valores Les comparto esta funcion para  generar un número aleatorio en javascript, y este num...