Vous êtes sur la page 1sur 12

Aclaramos que en versiones anteriores al kernal 2.4.

* se
llamaba ipchain, pero a partir de esta versin se cambi a
Iptables, mucho ms potente.
Iptables est basado en el uso de TABLAS dentro de las
tablas, CADENAS, formadas por agrupacin de REGLAS,
parmetros que relativizan las reglas y finalmente una ACCION,
que es la encargada de decir qu destino tiene el paquete.
Describimos los elementos y luego vemos un sencillo script
bsico.
Las Tablas
FILTER (filtrado)Permite generar las reglas de filtrado o sea, qu paquetes aceptar,
cuales rechazar o cuales omitir.Es la tabla por defecto. Las cadenas sern: INPUT
OUTPUT y FORWARD.
NAT (Network Address Translation) Desde esta tabla es posible el
enmascaramiento de IP, se usa para redireccionar puertos o cambiar las :IPs de
origen y destino a travs de interface de red. Las cadenas sern :PREROUTING y
POSTROUTING
MANGLE (Modificado de paquetes)Permite la modificacin de paquetes como ToS
(Type of Service), TTL (Time to live)o mark, marcar el paquete.
RAW Esta tabla se usa para configurar principalmente excepciones en el
seguimiento de paquetes en combinacin con la accin o target NOTRACK. Trabaja
sobre la cadena PREROUTING Y OUTPUT y su nica accin es Notrack. Puede
evitar que iptables haga un seguimiento de los paquetes.
Describimos los elementos y luego vemos un sencillo script bsico.
Comandos de Iptables
Como hacamos referencia ms arriba, dentro de las tablas hay cadenas a su
vez vez formadas por agrupaciones de reglas. Es importante ver que cada tabla
tiene cadenas por defecto, que no se pueden eliminar.
A las CADENAS por defecto podemos unir cadenas creadas por nosotros
mismos para un mejor funcionamiento del filtrado o el enrutamiento.
El comando IPTABLES tiene a su vez parmetros y comandos que permitirn
definir el comportamiento de una o varias reglas. Esto es, agregar una regla,
modificar una regla existente, eliminar el nombre de una cadena
Parmetros
Todas las reglas en iptables tienen definida su condicin por los parmetros, que
constituyen su parte primordial.
Algunos de estos parmetros son:
Acciones
Y finalmente, las ACCIONES que estarn siempre al final de cada regla que
determinar que hacer con los paquetes afectados. Si no se especifica ninguna
accin, se ejecutar la opcin por defecto que cada cadena tiene asignada. Las
acciones seran:
ACCEPT---> Paquete aceptado.
REJECT---> Paquete rechazado. Se enva notificacin a travs del protocolo ICMP.
DROP---> Paquete rechazado. Sin notificacin
MASQUERADE--->Enmascaramiento de la direccin IP origen de forma
dinmica.Esta accin es slo vlida en la tabla NAT en la cadena postrouting.
DNAT---> Enmascaramiento de la direccin destino, muy conveniente para re-
enrutado de paquetes.
SNAT---> enmascaramiento de la IP origen de forma similar a masquerade, pero
con IP fija.
MUY IMPORTANTE. Cuidado con el orden en el cual disponemos las reglas.
IPTABLES LEE DE MANERA SECUENCIAL LAS CADENAS DE REGLAS.
Es decir, comienza por la primera y verifica que se cumpla la condicin y
la ejecuta sin verificar las siguientes.
Por consiguiente, si la primera regla en la tabla filter de la cadena
input es rechazar cualquier paquete,las siguientes reglas no sern verificadas,
y se rechazar cualquier paquete.
Modelo de Cadena de Reglas
La estructura o el esqueleto de una regla bsicamente sera:
iptables --> -t -->tabla -->tipo_operacin -->cadena -->regla_con_parmetros -->Accin
En base a los conceptos anteriores realizaremos el siguiente ejemplo: protegeremos
Nuestra propia maquina y daremos acceso a algunos usuarios a determinados servicios
De la misma.
FLUSH de reglas
iptables F
iptables X
iptables Z
iptables t nat F
Establecemos politica por defecto
iptables P INPUT ACCEPT
iptables P OUTPUT ACCEPT
iptables P FORWARD ACCEPT
iptables t nat P PREROUTING ACCEPT
iptables t nat P POSTROUTING ACCEPT
A nuestra IP le dejamos todo
iptables A INPUT s 172.16.0.180 j ACCEPT
A una IP le dejaremos accesar a Mysql
iptables A INPUT s 231.45.134.23 p tcp dport 3306 j ACCEPT
A otra IP le dejamos usar el FTP
iptables A INPUT s 80.37.45.194 p tcp dport 20:21 j ACCEPT
El puerto 80 de www debe estar abierto, es un servidor web.
iptables A INPUT p tcp dport 80 j ACCEPT
El resto, lo cerramos
iptables A INPUT p tcp dport 20:21 j DROP
iptables A INPUT p tcp dport 3306 j DROP
iptables A INPUT p tcp dport 22 j DROP
iptables A INPUT p tcp dport 10000 j DROP
Verifiquemos lo que se aplica con: iptables L n
O iptables -L -v
Para guardar la configuracin del script se hace con la cadena
Iptables-save > nombre_archivo
Y para restaurar la configuracion de iptabbles
Iptables-restore nombre_archivo

Vous aimerez peut-être aussi