Está en la página 1de 15

Seguridad en Redes

Diego Suárez
Fidel Paniagua

IPTables
Iptables
– Herramienta de firewall  Stateful firewall (seguimiento de las
conexiones)

– Componente construido sobre Netfilter


• Interceptar y manipular paquetes en capas de red y de
transporte.

– Formado por:
• Tablas  Contiene cadenas
• Cadenas  Contiene reglas de un mismo tipo
• Reglas  Requisitos y targets para los paquetes

Seguridad en Redes
Iptables

Seguridad en Redes
Tablas
– Tablas más comunes:
• filter  Filtra paquetes
• nat  NAT paquetes
• mangle  Modifica paquetes (por ejemplo su TTL).

– La tabla filter es la tabla utilizada por defecto

Seguridad en Redes
Cadenas
– Existen 5 cadenas
• INPUT Paquetes de entrada
• OUTPUT  Paquetes de salida
• FORWARD  Paquetes para reenviar
• PREROUTING  Paquetes antes de ser enrutados
• POSTROUTING  Paquetes después de ser enrutados

– filter  INPUT, OUTPUT, FORWARD

– nat, mangle  PREROUTING, POSTROUTING

Seguridad en Redes
Comandos

-A Especifica la cadena donde se guarda la


regla
-D Elimina la regla especificada
-L Lista reglas
-F Elimina reglas (por cadena o de todas las
cadenas)
-P Política
etc.

Seguridad en Redes
Comandos  Opciones

-v Información detallada -A, -D, -L


-n Muestra valores numéricos (IP, -L
puertos…), es decir, no usa DNS para
resolver nombres. Se usa con el
comando list.
-t Especifica un nombre de una tabla. -A, -D, -L
--line- Números de cada regla. Se usa con el -L
numbers comando list.
etc.

© 2014 evalues Seguridad en Redes


Condiciones
-p Protocolo
-s IP origen
-d IP destino
-i Interfaz de entrada
-o Interfaz de salida
--sport Puerto origen
--dport Puerto destino
-m state -- Estados de la conexión
state
etc.

Seguridad en Redes
Estados
• Estados (Módulo coontrack):
 NEW  Nueva conexión
 ESTABLISHED  Conexión establecida
 RELATED  Nueva conexión asociada a otra establecida (abrir
nueva conexión dentro de una existente)
 INVALID  El paquete seleccionado no puede ser asociado a
una conexión conocida
• Estados conexión TCP:

Seguridad en Redes
Acción
– Si un paquete cumple los requisitos de la regla, se tendrá en
cuenta la acción. Si no cumple ninguna regla se tiene en cuenta
la política de la cadena.

– Acciones comunes:
• ACCEPT  Acepta el paquete
• DROP  Descarta el paquete
• REJECT  Deniega el acceso y notifica al remitente

Seguridad en Redes
Estructura de las Reglas
– iptables [-t tabla] comando [condición] [acción]

– Ejemplos:
• iptables –P INPUT DROP
– La política de entrada por defecto es la de descartar
todos los paquetes.
• iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j
ACCEPT
– Acepta las nuevas conexiones entrantes por el puerto 80
que utilicen el protocolo TCP.
• iptables –A INPUT -i lo -j ACCEPT
• iptables –A OUTPUT -o lo -j ACCEPT
– Se permite el flujo local.

Seguridad en Redes
Ejemplos Comandos
• Muestra las reglas que contiene la cadena que le pasemos como
argumento.
– iptables -L INPUT
• Borra todas las reglas de una cadena.
– iptables -F INPUT
• Agrega una regla a una cadena especificada
– iptables -A INPUT ...
• Especificar al Kernel que hacer con los paquetes que no coinciden
con ninguna regla.
– iptables -P INPUT DROP

Seguridad en Redes
Ejemplos Reglas I
• Regla/s que van a aceptar las conexiones a un servidor SSH
desplegado en nuestra máquina (SSH  22/tcp).
– iptables -A INPUT -p tcp --dport 22 -m state --state
NEW,ESTABLISHED -j ACCEPT
– iptables -A OUTPUT -p tcp --sport 22 -m state --state
ESTABLISHED -j ACCEPT
• Regla que acepta todas las conexiones que hayan sido establecidas
con nuestra máquina.
– iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
• Regla/s que va/n a aceptar todos los paquetes TCP de entrada de
los puertos 21, 22, 80 de nuestra máquina.
– iptables –A INPUT -p tcp -m multiport --source-port 21,22,80 -j
ACCEPT

Seguridad en Redes
Ejemplos Reglas II
• Saltar a otra cadena definida previamente.
– iptables -A INPUT -p tcp -j tcp_packets
• Seleccionar paquetes de un determinado tiempo de vida.
– iptables -A OUTPUT -m ttl --ttl 60
• Re-enviar tráfico dirigido hacia al puerto 80/tcp hacia el puerto
3128/tcp
– iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
REDIRECT --to-port 3128
• Asigna un determinado valor de TTL en los paquetes que cumplen
la condición especificada.
– iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64

Seguridad en Redes
www.unir.net

También podría gustarte