Professional Documents
Culture Documents
IPTABLES
1. Qu es IPTABLES ?
En linux, el filtrado de paquetes se controla a nivel del kernel.
Existen mdulos para el kernel que permiten definir un sistema de reglas para aceptar o
rechazar los paquetes o las comunicaciones que pasan por el sistema. Estos sistemas de
reglas conforman lo que se conoce como firewall o cortafuegos; en otros sistemas los
firewall pueden estar implementados en software y estar desvinculados del sistema
operativo, pero en el caso de linux, el firewall se puede montar a nivel de kernel y no es
necesario instalar un software adicional que a veces tiene agujeros.
En versiones de Kernel anteriores a la 2.4 se dispona de los mdulos IPCHAINS para
montar firewalls, as como de otros mdulos de soporte para comunicaciones concretas
(enmascaramiento de FTP, de IRC, Real Audio etc.).
Gracias a IPCHAINS, adems de poder definir normas de firewall muy precisas,
tambin poda hacer que un linux funcionara como gateway enmascarando todas las
peticiones de una LAN.
IPCHAINS ha muerto, viva IPTABLE. A partir del kernel 2.4 se esta dando soporte a
otro modulo para filtrado de paquetes mucho ms potente que IPCHAINS, llamado
IPTABLES.
Para acceder a ciertos sitios ftp tendremos problemas usando IPCHAINS con el kernel
2.4. A pesar de que IPCHAINS siga funcionando, ya no tendremos los antiguos
mdulos para solventar los problemas de acceso a servicios especiales,
Y se recomienda pasarse a IPTABLES.
En el siguiente grfico se distingue el camino que siguen los paquetes al pasar por un
firewall con IPTables, y nos gua sobre la forma de aplicar las reglas.
(En general, a lo que se ruta a travs del firewall se le aplica FORWARD y a lo que va
al firewall se le aplica INPUT).
ANATOMIA DE LA REGLA:
iptables: comando iptables (no hay que olvidar que las reglas son un shell script)
-A: append, opcin para aadir la regal
INPUT: estado del paquete (al entrar es input).
-i eth0: interfaz de red eth0
-s 0.0.0.0/0: direccin de acceso (cualquiera en este caso)
-p TCP: tipo de puerto
--dport: puerto de destino
-j ACCEPT: destino del paquete (se acepta, podra ser DROP, LOG, REJECT,..)
-Gua rpida de flags:
-i = in-interface : el interfaz por el que se entra (eth0,eth1, ppp0,)
-o = --out-interface: el interfaz por el que se sale (eth0,eth1, ppp0,)
-s : source address. Ej: -s 192.168.1.0/24
-d : destino. Ej: -d 84.56.73.3
-p : tipo de protocolo(TCP,UDP,ICMP). Ej: -p TCP
--sport : puerto de origen
--dport: puerto de destino
-Notas:
-i se usa con reglas INPUT y FORWARD
-o se usa con reglas FORWARD y OUTPUT
A partir de estas normas bsicas, conociendo la anatoma bsica de una regla, y viendo
ejemplos ya tenemos
suficiente material para hacernos con el dominio de IPTABLES.
IMPORTANTE
El orden en el que se ponen las reglas de firewall es determinante. Normalmente cuando
hay que decidir que se hace con un paquete se va comparando con cada regla del
firewall hasta que se encuentra una que le afecta (match), y se hace lo que dicte esta
regla (aceptar o denegar); despus de eso NO SE MIRARN MS REGLAS para ese
paquete. Cul es el peligro? Si ponemos reglas muy permisivas entre las primeras del
firewall, puede que las siguientes no se apliquen y no sirvan de nada.
Ejercicio: comprobar el estado de IPTABLES
iptables -L -n
de reglas
F
X
Z
-t nat F
20:21 -j DROP
3306 -j DROP
22 -j DROP
10000 -j DROP
, y ejecutarlo.
Ejercicio: Comprobar el estado de IPTABLE despus de aplicar el script
iptables -L -n
o bien usando:
gunzip iptraf-2.7.0.tar.gz
tar xvf iptraf-2.7.0.tar
Para profundizar:
En la web existe un manual que podis consultar,
http://cebu.mozcom.com/riker/iptraf/
Probar filtrando para mejorar la visibilidad de los puertos que se desean
comprobar
Tambin podis probar NMAP con los scripts que habis hecho, el NMAP lo
podis encontrar en: http://www.insecure.org/nmap/nmap_download.html y el
manual en espaol que existe! Esta en:
http://www.insecure.org/nmap/data/nmap_manpage-es.html
Para obtener ms informacin se recomienda el articulo:
http://www.pello.info/filez/firewall/iptables.html en que podis encontrar
ejemplos para otras configuraciones de firewall ms complejos.