La herramienta iptables permite el filtrado y monitorización de tráfico TCP/IP en sistemas GNU/Linux. De hecho, esta herramienta no es más que una interfaz hacia el módulo netfilter de la serie 2.4 o superior del kernel Linux, el cual proporciona los mecanismos de seguridad para la capa de red del kernel (como, por ejemplo, el filtrado de paquetes), así como otras funciones relacionadas con el tratamiento de paquetes TCP/IP como, por ejemplo, traducción de direcciones de red (Network Address Translation, NAT).

Como ya hemos avanzado, netfilter es un módulo para la serie 2.4 del kernel Linux y es el responsable del filtrado de paquetes TCP/IP. Observando las cabeceras de cada paquete que pasa por el equipo, decidir´a si ese paquete debe ser aceptado, descartado o si deberá realizarse alguna otra operación más compleja con él.Para realizar filtrado de paquetes en un único equipo, Netfilter parte de dos conjuntos de reglas básicas: INPUT y OUTPUT. De ahora en adelante nos referiremos a estos conjuntos como cadenas de filtrado o simplemente cadenas.

Cada cadena tendrá asociada una lista de reglas que serán consultadas de forma secuencial por cada paquete. A medida que éstos vayan atravesando las reglas de la cadena que les corresponda, serán examinados para determinar qué acción tomar. En caso de ser aceptados, pasarán al siguiente punto del diagrama. Por contra, si son descartados, el paquete desaparecerá del esquema.

Utilización de la herramienta iptables

El primer paso para dar de alta iptables es asegurarse de que ha sido creado correctamente como una parte del kernel o como módulos asociados al mismo. Para ello, habrá que contestar afirmativamente a la cuestión CONFIG NETFILTER durante la configuración de un kernel 2.3.15 o superior.

Si iptables ha sido construido correctamente, podremos utilizar las herramientas asociadas en el espacio de usuario. La herramienta básica es iptables, que será utilizada para la construcción del conjunto de reglas. Estos conjuntos de reglas se añadirán a cada una de las cadenas básicas como si fueran bloques independientes de filtrado.

 

Fuente:

A1 – Exploraciones de red con Nmap y Nessus
Joaquín García Alfaro
UOC