Script to block countries in iptables

Script to block countries in Iptables.

Todos los propietarios de Servidores o VPS, padecemos de la gran lacra  de los sitios web… evidentemente hablamos de los intentos de intrusión, dDOS, ataques constantes, rastreo de puertos, spammers, etc… etc…

La gran mayoría de este tipo de situaciones que nos pueden generar auténticos dolores de cabeza, provienen de los mismos países, China, Rusia, India, etc…

Entonces yo me pregunto… realmente es necesario admitir a un país como China?, la respuesta es no, no es necesario, pues no te reportara ningún beneficio (salvo casos muy puntuales), solo problemas.

Soy consciente que mi afirmación puede ser discutida, incluso criticada, pero vamos a ver… seamos sinceros, acaso piensas que un chino está interesado en tu tienda de zapatos, tu periódico en castellano, tus servicios en la red, etc…, pues no, no les interesas para nada, su único interés es hacerse con tu servicio, por ejemplo tu SMTP para enviar su mier** de spam que lo único que hará sera perjudicar la reputación de tu IP o dominio.

No te lo pienses más y no dudes, si tienes este problema bloquea el país al completo.

 

Hace ya un tiempo publicamos un scriptbash“, que descargaba el listado de IP’s de un país y las aplicaba en Iptables.

Lamentablemente aquel script ya está obsoleto… y por ello te presento la nueva versión del script bash “block-countries.sh”, que viene con muchas mejoras.

Principales novedades:

  • Programación mejorada
  • Definir puertos permitidos (por defecto 80 y 443)
  • Reducción del proceso de las reglas
  • Solo busca la coincidencia en el primer octeto del rango IP
  • Se permite al acceso desde un puerto a definir del país bloqueado
  • Carga el listado de país con iptables-restore
  • etc…

En la antigua versión cargar y aplicar el listado de IP’s, de un país como China, podía tomar más de una hora. En esta nueva versión, menos de 30 segundos y todo gracias a el uso de “iptables-restore”, para que me entiendas mejor… restaura tablas IP a partir de datos especificados en STDIN.

Sin más preámbulos vemos el script.

 

Script block countries en Iptables

Desde consola / terminal y como root creamos el archivo “block-countries.sh” (países predeterminados, Rusia y China).

Copia y pega el script.

Guarda y cierra el editor.

 

Ejecuta el script:

Como te comente anteriormente, este script es muy rápido.

Ejemplo de salida:

Ya lo tenemos instalado y ejecutándose, te recomiendo que crees una tarea cron para que se actualice el listado de ip’s.

Por ejemplo:

y lo ejecutamos.

Si prefieres descargar el script “block countries“directamente, lo encontraras a continuación.

 

Recursos

Descargar script Block countries.

Descargar listados por países.

 

Que disfrutes el script.

Script to block countries in iptables
4.7 (94.29%) 7 Votos

6 Comentarios

  1. manjajo
    11/02/2018
    • sergio
      11/02/2018
  2. Javier
    08/04/2018
    • Javier
      08/04/2018
  3. Julio
    23/05/2018

Agregar comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.