Introducción

Por Andy

IPTABLES es una herramienta de administración para definir reglas que gestionen, filtren y manipulen paquetes de red en máquinas con kernel Linux 2.4 o superior. El procesamiento de los paquetes en sí los hace el módulo netfilter, parte del kernel Linux. IPTABLES define las reglas, que quedan en memoria. Netfilter las utiliza cuando manipula paquetes de red...

Mediante la correcta definición de reglas con IPTABLES podremos ser capaces de bloquear paquetes de red "sospechosos" o no deseados, detener -o al menos dificultar- intentos de intrusión, redirigir tráfico, y un largo etc. Aunque siempre hay que destacar que la seguridad no es simplemente cortar y pegar un script o mejorar una técnica de filtrado de paquetes para que sea más eficiente. La seguridad es un proceso, no un producto. Hay que revisar logs y actuar en consecuencia, adaptar técnicas a las circunstancias de cada día, mantenerse informado y un largo etc...

 

Audiencia

IPTABLES es una herramienta muy flexible que debería ser de conocimiento obligado para aquellos que aspiren a ser administradores de su propios equipos en vez de sólo usuarios. En Internet hay mucha documentación para el que desee aprender. La documentación "oficial" se encuentra aquí y está disponible en varios idiomas y formatos.

Esta serie de artículos no pretende ser substituto de la formación oficial y de hecho no lo es, ya que hace falta al menos haber leído la documentación para poder entenderlos en su totalidad. En éstos artículos no se explica la sintaxis de IPTABLES, ni la de sus extensiones, ni los necesarios conceptos de networking o de arquitectura de Linux. Pinchad en el link del párrafo anterior, allí explican todo eso muy bién.

 

Los artículos

En los artículos que seguirán, se verán distintas técnicas y ejemplos de uso de IPTABLES mediante invocaciones desde la línea de comandos y especialmente con scripts. Cuando los scripts sean demasiado largos para analizarlos de una sola vez, se irán introduciendo por fragmentos. En estos casos, siempre encontraréis al final el script completo para no tener que copiar y pegar cada fragmento.

En los artículos se utilizará principalmente "bash" para armar los mencionados scripts, aunque nada impide hacerlos utilizando vuestra herramienta de preferencia. Particularmente alguien con experiencia en PERL podría hacer estos scripts en forma más elegante, en especial los scripts de tratamiento de listas negras.

Aunque los scripts presentados en éstos artículos están en idioma inglés, incluídos los comentarios, accederé gustoso a explicar -en castellano- cualquier duda, malentendido o error con el código.

La lista completa de artículos de esta serie es la siguiente:

  • Parte 0 - Indice
  • Parte 1 - IPTABLES Básico
  • Parte 2 - IPTABLES dinámico
  • Parte 3 - Listas negras y Epílogo

 

Disclaimer

Sois libres de utilizar los scripts y técnicas de esta serie de artículos de la forma que queráis, sin necesidad de pedirme permiso ni autorización previa. Pero eso si: usadlos bajo vuestra propia cuenta y riesgo. Yo los utilizo en varias instalaciones tal cual los veréis aquí y me funcionan. Pero eso no es garantía de que no se haya dezlizado algún error, o que vayan a producir efectos catastróficos en otros equipos con distintas versiones de IPTABLES o netfilter. Cualquier comentario, crítica, informe de errores y/o mejora será bienvenida. Las quejas por mal funcionamiento serán cortésmente ignoradas.

Anterior | Siguiente