Basado en Linux Debian 10

bloquear-paises

YouTube

Proyecto P4Dependiendo del trafico que queramos para nuestro servidor es posible que alguno países no los veamos necesarios ya sea por el idioma en el que tenemos las webs o simplemente porque no los veamos clientes potenciales. Cada cual tendrá sus motivos por el que hacer un bloqueo de países.

En mi caso a parte de no ser clientes potenciales para el servidor que voy a configurar son países desde los que suelen venir ataques  y no quiero malgastar recursos del servidor en atender las peticiones que nos puedan hacer ya sea un humano o una maquina.

Antes de nada deciros que para hacer esto del bloqueo vamos a usar un maravilloso script de CyberCiti.biz que cumple perfectamente con esta finalidad y que no podía faltar en mi sección de seguridad informática.

Script para bloquear países

Para empezar vamos a identificarnos como super usuario root con el comando …

su

Seguidamente aquí mismo os voy a dejar el script ya convertido en archivo y en español para que lo podáis descargar directamente a vuestro servidor.

Vamos a entrar en el directorio donde queramos alojar el script …

cd /home/forat/scripts/

Seguidamente nos descargamos el script …

wget https://foratdot.info/scripts/bloqueo-paises.sh

Ahora vamos a darle permisos de ejecución …

chmod 0700 bloqueo-paises.sh

Ahora que tenemos el script preparado vamos a editarlo …

vi bloqueo-paises.sh

script bloque paises

Cómo podemos ver en la primera linea ISO pone las siglas ru af y cn que no es otro que Rusia, Afganistán y China.

Si necesitáis saber que siglas corresponden al país que quereis bloquear podéis visitar la web de IPDeny.com que es la web desde la que el script descarga los rangos de IP.

paises bloqueados

Bloqueo de países inteligente

Recordad que cuantos más países agreguemos a la linea ISO más listas tendrá que descargarse y tardará más en la sincronización.

También debéis tener en cuenta que son muchas direcciones IP y que una vez descargadas IPTables tiene que trabajar con ellas. Si agregamos muchos países nos encontraremos con que nuestros procesadores se empiezan a colapsar, así que os recomiendo poner solo los que os causen las mayores molestias.

Una vez agregamos los países que queramos guardamos el fichero y vamos a ejecutarlo por primera vez …

./bloqueo-paises.sh

Podéis ejecutarlo y dejarle que trabaje porque tarda mucho tiempo en descargarse los ficheros de zonas pero acaba haciéndolo.

Ahora vamos a automatizarlo para que se ejecute solo y vuelva a descargarse las listas de IP de los países actualizadas desde IPDeny así si aparecen nuevas IP del país bloqueado nuestro servidor también lo bloqueará.

Para ello ejecutamos …

crontab -e

Y agregamos las siguientes lineas para que se ejecute el minuto 1 de las 12 de la noche cada día 1 de cada mes …

# Bloqueo de países
1 0 1 * * /home/forat/scripts/bloqueo-paises.sh

Guardamos el fichero de cron y salimos.

Ahora que se está ejecutado podemos ver como está funcionando bloqueando las direcciones IP de los países que le hemos especificado …

tail -f /var/log/syslog

bloqueo de paises syslog

Con este manual sobre cómo bloquear países con Linux Debian no haremos trabajar a nuestro servidor más de lo que necesita por no decir que no tendrá que procesar todos los ataques que vengan de esos determinados países porque ya están denegados automáticamente.