Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Implementacin de
Iptables en
GNU/Linux
IPTABLES.
IPtables es una herramienta que viene junto con las distribuciones del kernel de
LINUX para las versiones 2.4 en adelante. IPTables es la evolucin de IPchains y
adems con nuevas funciones que permite generar un firewall a nivel de filtrado de
paquetes de una manera especifica, es decir, esta herramienta es solo eso un
medio para la construccin de un firewall; la parte fundamental de este trabajo es
la de proteger la integridad del sistema mediante la construccin ordenada y
adecuada de las reglas de filtrado de paquetes.
Adems en este captulo generaremos las polticas de seguridad, as como los
mecanismos que utilizaremos para evitar vulnerabilidades del sistema.
Un firewall controla el acceso entre dos redes, usualmente el primer lugar
donde se instala un firewall es entre la red local e Internet. Este firewall previene
que el resto del mundo sea capaz de acceder a la red privada y a los datos de
esta red. Sin embargo es importante que se piense en el firewall como una simple
pieza del equipo de seguridad y no como un programa de software que realiza
todo para proteger la red, ya que como mencionamos forma parte de los
mecanismos de seguridad.
El firewall de filtrado de paquetes es una aproximacin comn y una pieza
de seguridad de la red y del control de acceso desde el exterior. Este firewall
funciona en la capa de Red, toma decisiones de filtrado basadas en la fuente u
origen, las direcciones destino y los puertos en paquetes individuales de IP
(protocolo de Internet).
La comunicacin en una red se explica como un modelo de capas donde la
comunicacin se realiza entre capas adyacentes sobre un equipo individual y entre
capas paralelas sobre equipos que se comunican. El modelo OSI (Open Systems
Interconection) de comunicaciones est basado en una propuesta desarrollada por
la organizacin de estndares internacional (ISO), por lo que tambin se le conoce
como modelo OSI-ISO. Su funcin es la de definir la forma en que se comunican
los sistemas abiertos de comunicaciones, es decir, los sistemas que se comunican
con otros sistemas.
FIREWALL IPTABLES.
Tutor virtual Juan Martnez Garca
IPtables sustituye a IPchains en la versin 2.4 del kernel de LINUX, este es parte del
proyecto Netfilter que se utiliza para establecer reglas de control para el filtrado de
paquetes. IPtables es capaz de realizar una conexin por localizacin, es decir
habilita el estado de inspeccin de los paquetes icmp, udp y tcp. Por ejemplo, revisa
el estado del paquete icmp y permite el paso de ste si y solo si la maquina a la que
desea ingresar le envi un eco (echo) de solicitud para establecer conexin y siempre
cuando la mquina destino responda a esa peticin con un eco (echo) de respuesta,
esta accin slo la permite Iptables.
La mayora de los administradores podra tener un bloque de solicitudes Firewall en
Linux Utilizando Iptables pero a ciegas aceptan eco de respuesta con la suposicin de
que debera ser respondido por sus propias solicitudes de conexin, esto no siempre
es verdad, una solicitud no hecha con eco (echo) de respuesta puede ser signo de un
Smurf, es decir una amplificacin de ataque de una tribe flood Network
(inundacin de una familia numerosa en la red); bsicamente es una comunicacin
entre dueo del comando y un demonio o puerta tracera, esto es una tcnica de
ataque masivo a servidores utilizando para ello a vctimas inocentes que no estn
bien protegidas. Concretamente el ataque se basa en el envo de paquetes de
difusin a las computadoras de una subred (que llegan a todos las computadoras),
estos paquetes llevan falseada la direccin de origen apuntando en realidad a un
servidor que se desea atacar (tcnica conocida como spoofing). Todas las
computadoras de la subred responden a los paquetes falsos dirigindolos a la vctima,
la cual se ve sobrecargada instantneamente por el enorme efecto multiplicador
debido a la difusin. La diferencia entre el ataque Smurf y el ataque Fraggle estriba en
el tipo de paquete enviado (un echo UDP al puerto 7 en el caso de Fraggle y un ping
en el caso de smurf). El ataque smurf fue el utilizado durante los famosos asaltos a
buscadores y sitios de comercio electrnico.
Por otro lado IPtables simplifica el comportamiento del filtrado de paquetes
negociando la construccin de cadenas (INPUT, OUTPUT y FORWARD). En mltiples
host los paquetes viajan a travs de interfaces negociables, solo como forward o
reenvo de cadenas en lugar de todo un rbol de cadenas, es decir cuando se hacia
un reenvo se recorra todo el rbol de cadenas para llegar a un destino, como se
hacia antes; ahora los paquetes se habilitan en curso.
ELEMENTOS BSICOS.
En IPtables se utilizan script, stos generalmente comienzan cargando los mdulos
necesarios (los imprescindibles y los auxiliares, como el de ftp masquerading),
establecen algn bit como por ejemplo el de forwarding, luego borra todas las reglas
actuales (flush), establece las polticas por defecto para la aceptacin, reenvo y
salida, y finalmente va aplicando todas las reglas de firewall, que varan dependiendo
de las necesidades de cada red.
En IPtables se construyen reglas a partir de instrucciones, la sintaxis es:
iptables F :Realiza el borrado (flush) de las reglas existentes.
iptables L :Realiza el listado de reglas que se estn aplicando.
iptables A : Apendiza a las reglas es el comando bsico para generar una
nueva regla.
iptables D :Borrar especficamente una de las reglas.
CONSTRUCCIN DE REGLAS.
Tutor virtual Juan Martnez Garca
ESTADO DE BANDERAS.
El estado de las banderas nos indican las fases de los paquetes, es decir, si el
paquete va a ser recibido de una direccin especifica es decir tiene activo el bit - s o
va dirigida a una direccin definida se activa el bit d, el tipo de puerto de origen o
destino y adems la interfaz por la que se trasladara el paquete. A continuacin
mostramos estas banderas:
-s: Source address, esta bandera se utiliza para establecer la direccin
origen.
-d: Destino, establece hacia que direccin destino se enva.
-p: Tipo de protocolo para los mensajes (TCP,UDP,ICMP).
Tutor virtual Juan Martnez Garca
POLTICAS DE SEGURIDAD.
Las polticas de seguridad que se establecen en el Firewall y aplican para:
Denegacin para todos los paquetes entrantes. Es decir no se permite el ingreso
de los paquetes que intenten conectarse, solo se permite el acceso a los paquetes en
los que exista una coincidencia con las reglas establecidas, es decir, si no hay
concomitancia con las reglas establecidas se desecha el paquete y se ejecuta la
poltica establecida por defecto de DENEGACION.
El orden en que se definen las reglas, es el orden en que se agregarn a las tablas
del ncleo y por tanto el orden de comparacin de cada regla con cada paquete
corresponde a la manera conforme los paquetes se reciban y entonces stos se
analizan.
No se brinda servicio FTP externo y se controlar el uso interno de este servicio ya
que ser activado slo para algunos equipos.
Se brinda servicio SSH solo para usuarios con cuentas en el servidor que se
encuentra en la zona desmilitarizada y solo a ciertas mquinas con un IP
seleccionado. Con lo anterior brindaremos un primer filtrado para usuarios comunes y,
para los ms privilegiados se permite el acceso desde su mquina.
Se protege a servidores ubicndolos en la DMZ y se definen los permisos de acceso
en el firewall para llegar a ellos.
Tutor virtual Juan Martnez Garca
Se protege a una red local (Intranet) y se definen los accesos que sean abiertos entre
las mquinas de la subred y el exterior, accesos bien definidos para conexiones con
mquinas externas y slo para que stas sean realizadas por los administradores del
sistema va una direccin IP.
Las conexiones entre la red local y el servidor Web son restringidas para no permitir
intrusiones.
El servidor Web pertenece a una zona desmilitarizada (DMZ), es decir tiene una
interfaz de red extra, no comparte la misma interfaz de red que la red local.
Se debe permitir el acceso a Internet o a la red local, sin embargo no se brinda
servicio para descarga de programas.
Se denegarn paquetes que pretendan venir de direcciones reservadas, stas son de
clase A,B,C,D y E.
Los servicios se activarn conforme stos se requieran, es decir en principio todos los
servicios sern bloqueados y se irn activando conforme se requieran.
10
POSTROUTING
MASQUERADE
Las cadenas adems tambin pueden generar otras cadenas o inclusive recursin
con la generacin de cadenas de usuario. En el firewall construido para el sistema no
se generaron cadenas de usuario. La siguiente figura muestra la forma de operar del
firewall a la llegada de un paquete.
11
12
TIPOS DE FILTRADOS.
Para realizar el filtrado de paquetes, se definen reglas basadas en:
Direcciones
Puertos (TCP,UDP,ICMP)
Interfaz
Las reglas de filtrado incluyen estos aspectos con adems de contener estados de
conexin que permiten saber si la conexin fue requerida por las mquinas que estn
detrs de la red o solo es un intento de conexin. De esta manera los filtrados se
realizan:
INPUT, es dirigido hacia el firewall.
OUTPUT, es desde el firewall.
FORWARD, es lo que pasa a travs del Firewall.
La estructura es la siguiente:
iptables I | -A INPUT | OUTPUT | FORWARD
13
14
TABLAS NAT.
Las tablas NAT o Network Addres Translation surgen a partir de la necesidad de
tener escasez de direcciones IP, o porque se desea ocultar eldireccionamiento, para
multiplexar direcciones o simplemente para ofrecer mayor flexibilidad a la red. Y los
podemos clasificar como:
NAT de IP
NAT de Puertos PAT
Adems existen diversas variedades como son: Port Forwarding, Dinamic Nat, Smart
Nat, intelligent Nat, Dinamic Nat, Hide Nat, Static Nat, Masquerading y otras ms.
Pero de ellas no hablaremos, nicamente nos enfocaremos al NAT para direcciones
IP.
La forma de funcionar del NAT como Source es la de un paso intermedio entre dos
equipos, esto es, que de una mquina origen pasa por una tercera mquina esta es
la que redirecciona el paquete para que el paquete llegue a la mquina destino. Y
para la implementacin del firewall este paso fue necesario ya que la conexin se
establece por principio de cuentas con el Firewall y posteriormente con la red o con el
servidor que se encuentra en la DMZ. Por lo que se debe realizar un SNAT de
direccin origen para que el firewall establezca la conectividad entre el servidor de la
DMZ y la subred. En la siguiente figura se muestra como funciona el firewall en la
subred, en la que podemos observar la ruta que un paquete recorre dentro de la
subred; esto es de una mquina de la subred desea enviar un correo lo que se hace
es solicitar al firewall la conexin.
15
16
Este funcionamiento evita el que los usuarios externos tengan contacto directo a la
subred. Todos los datos y la informacin valiosa se mantienen dentro de la subred y a
esta informacin solo tiene acceso el personal autorizado y para la informacin que
los usuarios manejan se utilizan servidores especializados y que se encuentran en el
DMZ (Zona Desmilitarizada) donde cada servidor cumple una funcin determinada.
Y en el firewall la implementacin queda definida para los accesos desde fuera en los
puertos 80, 443, y 25.
# Direccionamiento para los servicios web.
/sbin/iptables -t nat -A PREROUTING -i $EXT -p tcp --dport 80 -j DNAT --to
192.168.10.2:80
# se redirecciona las accesos al httpd 443
/sbin/iptables -t nat -A PREROUTING -i $EXT -p tcp dport 443 -j DNAT --to
192.168.10.2:443
De igual manera sucede con el puerto 25 para el filtrado de este puerto se hace la
siguiente:
# se redireccionan los accesos al puerto 25 de correos /sbin/iptables -t nat -A
PREROUTING -i $EXT -p tcp --dport 25 -j DNAT --to 192.168.10.2:25
Tutor virtual Juan Martnez Garca
17
18