Para algunos servicios que solo es necesario que estén disponibles, merece la pena utilizar el bloqueo geográfico a nivel IP, permitiendo aumentar el nivel seguridad sin afectar a los usuarios de este.
Para esto utilizaremos la base de datos de GeoIP de db-ip en conjunto con el paquete xtables-addons
Instalación de requisitos
sudo apt-get update; sudo apt-get -y upgrade
sudo apt-get install curl unzip perl
sudo apt-get install xtables-addons-common
sudo apt-get install libtext-csv-xs-perl libmoosex-types-netaddr-ip-perl
Script de actualización
Debemos crear un script que periódicamente este descargando la actualización de la bases de datos de GeoIP para esto realizamos primero crear una carpeta:
sudo mkdir /usr/share/xt_geoip
Después creamos el script la siguiente ubicación /usr/local/bin/geo-update.sh
#!/bin/bash
MON=$(date +"%m")
YR=$(date +"%Y")
wget https://download.db-ip.com/free/dbip-country-lite-${YR}-${MON}.csv.gz -O /usr/share/xt_geoip/dbip-country-lite.csv.gz
gunzip /usr/share/xt_geoip/dbip-country-lite.csv.gz
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip/ -S /usr/share/xt_geoip/
rm /usr/share/xt_geoip/dbip-country-lite.csv
Al ejecutar este script se poblara la base de datos de GeoIP para su uso. Recuerde crear una tarea en cron para actualizar la base de manera pediodica.
Creacion de reglas
Antes de crear la regla debemos cargar el modulo para que opere. Ejecutamos el siguiente comando:
modprobe xt_geoip
lsmod | grep ^xt_geoip
Si todo va esta bien, podemos aplicar la siguiente regla:
iptables -A INPUT -m geoip -p tcp --dport 22 --src-cc RU,CN -j DROP
Esto bloqueara el acceso SSH desde Rusia y China.
Si quieres permiter el acceso desde un pais en ese caso la regla seria la siguiente:
iptables -A INPUT -m geoip -p tcp --dport 22 --src-cc CL -j ACCEPT
Aqui permitimos el acceso SSH solo desde Chile
Aplicando de manera permanente
Estas reglas que recien aplicamos se borrar si reiniciamos la maquina. Para que las reglas sean permanentes, te recomiendo usar el servicio ufw. Para esto edita el archivo /etc/ufw/before.rules y agregan reglas antes del COMMIT, como esta:
-A ufw-before-input -m geoip -p tcp --dport --dport 22 --src-cc CL -j ACCEPT
Esta regla permite el acceso SSH desde Chile, recuerda que ufw por defecto deniega todo el trafico
No hay comentarios.:
Publicar un comentario