Sei sulla pagina 1di 15

IPTABLES: El Firewall de Linux

Que es un firewall?

Un firewall es un elemento de hardware o software utilizado en una red de computadoras para controlar las comunicaciones, permitindolas o prohibindolas segn las polticas de red que haya definido la organizacin responsable de la red.

Tipos de firewalls

Implementado en hardware y/o software. Segn la capa en la actan:


Capa de red o Filtro de Paquetes Capa de Aplicacin (Proxies)

Stateful o Stateless. Con o sin NAT. Personal y/o de red.

Qu es iptables?

Es un paquete (software) que me permite modificar y controlar las politicas de filtrado del kernel de Linux. Ofrece ciertas mejoras con respecto a la antigua herramienta ipchains, entre las que podemos citar:

Caractersticas de iptables

Mejor integracin con el kernel de Linux (capacidad de cargar mdulos especficos). SPI: Inspeccin de paquetes con seguimiento de las conexiones. Filtrado basado en direcciones MAC y el valor de los flags TCP Mejor translacin de direcciones (NAT) Soporte para una integracin transparente con Web proxies como Squid. Filtrado segn la tasa de paquetes

Procesado de paquetes

En iptables todos los paquetes pasan a travs de una secuencia de tablas (colas) internas para el procesado. Cada una de estas tablas se dedica a una actividad en particular y son controladas por cadenas (chains) donde se colocan las reglas del firewall.

Estructura de iptables
TABLA filter nat FUNCION Filtrado de paquetes Translacin de direcciones de red mangle Modificacin de la cabecera TCP CADENA DE TRANSFORMACION FORWARD INPUT OUTPUT PREROUTING POSTROUTING OUTPUT PREROUTING POSTROUTING OUTPUT INPUT FORWARD

Objetivos (Targets)
OBJETIVO ACCEPT DESCRIPCIN
Iptables

deja de procesar el paquete. Se deja el manejo del paquete a la aplicacin final o el OS.
Iptables

DROP

deja de procesar el paquete. El paquete es bloqueado.


La

LOG

informacin del paquete es enviada al log del sistema. Iptables continua el proceso con la siguiente regla en la cadena.

Objetivos (Targets)
OBJETIVO REJECT DNAT SNAT MASQUERADE DESCRIPCIN
Trabaja

igual que DROP pero informando a la fuente que el paquete fue bloqueado.
Usado

para la translacin de direcciones de red de destino.


Usado

para la translacin de direcciones de red de origen.


Usado

para la translacin de direcciones de red de origen. La direccin utilizada es la perteneciente a la interfaz de salida del firewall.

Opciones generales
OPCIN -t <table> -j <target> -A -F -p <type> -s <ipaddress> -d <ipaddress> -i <interface> -o <interface> DESCRIPCIN
Especifica Saltar

la tabla a utilizar. Por defecto filter

al objetivo especificado cuando el paquete coincide con la regla actual.


Agregar Flush. Tipo

una regla al final de una cadena.

Borrar todas las reglas de la tabla seleccionada de protocolo: tcp, udp, icmp, etc. IP origen del paquete IP destino del paquete
Direccion Direccion Interfaz Interfaz

de entrada del paquete de salida del paquete

Ejemplos

iptables -t nat -F iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -j LOG iptables -A FORWARD -s 192.168.0.0/24 -j DROP iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -o eth0 -j MASQUERADE

Opciones para TCP, UDP e ICMP


OPCIN -p tcp --sport <port> -p tcp --dport <port> -p tcp --syn -p udp --sport <port> -p udp --dport <port> -p icmp --icmptype <type> -m --state <state> DESCRIPCIN
Puerto Puerto Nueva Puerto Puerto Tipo

TCP de origen TCP de destino conexin TCP UDP de origen UDP de destino

de mensaje ICMP. Los ms usados son echo-reply y echo-request


ESTABLISHED NEW RELATED INVALID

Ejemplos

iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP -sport 1024:65535 --dport 80 -j ACCEPT iptables -A OUTPUT -p icmp --icmptype echo-request -j ACCEPT iptables -A INPUT -p icmp --icmptype echo-reply -j ACCEPT

Cadenas definidas por el usuario


iptables -A INPUT -i eth0 -d 206.229.110.2 -j fast-input-queue iptables -A OUTPUT -o eth0 -s 206.229.110.2 -j fast-output-queue iptables -A fast-input-queue -p icmp -j icmpqueue-in iptables -A fast-output-queue -p icmp -j icmpqueue-out iptables -A icmp-queue-out -p icmp --icmptype echo-request -m state --state NEW j ACCEPT iptables -A icmp-queue-in -p icmp --icmp-type echo-reply -j ACCEPT

Potrebbero piacerti anche