← Volver a Actividades
📥 Descargar PDF

Interpretación y traducción de políticas de filtrado en iptables

INFORMACIÓN GENERAL:

  • Alumno: Mauricio Josafat Salinas Carrillo
  • Maestro: Servando Lopez Contreras
  • Fecha: 03 de Febrero de 2026
  • Tipo de documento: Actividad 03

Introducción Contextual

El filtrado de paquetes es una de las técnicas más fundamentales en la seguridad de redes Linux. iptables actúa como el "guardián" del sistema operativo, permitiendo definir reglas granulares sobre qué tráfico puede entrar, salir o atravesar una máquina. Esta actividad explora la sintaxis y lógica detrás de las tablas y cadenas que conforman este potente firewall.

1. Flujo del Paquete

Instrucción: Completa los espacios conforme se explica el flujo del paquete.

Cuando un paquete llega al sistema, primero pasa por una tabla, después por una cadena y finalmente se ejecuta una regla / acción.

2. Propósito de las Tablas

Instrucción: Relaciona cada tabla con su propósito principal.

Tabla Propósito principal Ejemplo de uso
FILTER Permitir o bloquear paquetes Filtrar el tráfico en la red
NAT Traducir direcciones IP Distribuir el internet
MANGLE Modificación de paquetes Cambiar encabezados de paquetes
RAW Seguimiento de paquetes Saber si la marcación llega
SECURITY Aplicar seguridad Añadir seguridad de paquetes / servicios

3. Anatomía de un comando iptables

Comando de ejemplo:

iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

Este comando permite:

Respuesta: Filtrar todo lo que llegue por protocolo TCP de los PUERTOS 80, 443 y los va a aceptar.

5. Variables y opciones comunes

a) Limitar intentos por minuto

--limit 5/minute

b) Filtrar por IP de origen

-s 192.168.25.0/24

c) Ver solo números, sin DNS (ni resolución de puertos)

-list -n

d) Ver reglas con contadores (paquetes y bytes)

-L -v

6. Análisis de Regla

Comando:

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 \
-m state --state NEW,ESTABLISHED -j ACCEPT

¿Qué hace esta regla?

Respuesta: Permite tráfico TCP entrante por la interfaz eth0 a los puertos ssh, http, https, siempre que sea parte de una conexión nueva o establecida.

Ejercicios de Escritura de Reglas

7. Permitir tráfico HTTP entrante

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

8. Permitir todo el tráfico saliente

iptables -A OUTPUT -j ACCEPT

9. Permitir SSH solo desde la IP 192.168.1.50

iptables -A INPUT -p tcp -s 192.168.1.50 --dport 22 -j ACCEPT

10. Permitir tráfico TCP entrante a puertos 80 y 443 solo si es conexión establecida o relacionada

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m state --state ESTABLISHED

11. Permitir tráfico TCP entrante por eth0 a 22, 80 y 443, registrar intentos y permitir solo NEW, RELATED y ESTABLISHED

Regla 1 (Registro/Log):

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -j LOG --log-prefix "Intento "

Regla 2 (Aceptar conexión):

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT

Notas adicionales

iptables -A INPUT -m multiport --dports 56,82
iptables -A INPUT -s 192.168.1.36 --dport 22 -j REJECT

Reflexión y Casos de Uso

Reflexión Técnica

iptables es la base fundamental del filtrado de paquetes en Linux. Aunque hoy existen herramientas más abstractas como UFW o Firewalld, entender las tablas (Filter, NAT, Mangle) y las cadenas es crucial para cualquier administrador de sistemas. Esta actividad resalta la importancia del principio de "mínimo privilegio" en redes: bloquear todo por defecto y abrir solo lo estrictamente necesario.

Escenarios de Uso Real

Hardening de Servidores Web

Protección de servidores expuestos a internet permitiendo solo tráfico HTTP/HTTPS (80/443) y SSH (22) desde IPs de administración específicas, rechazando todo lo demás para reducir la superficie de ataque.

Mitigación de DoS Simple

Uso de módulos como limit (visto en la actividad) para restringir la tasa de conexiones entrantes, ayudando a mitigar ataques de denegación de servicio básicos o intentos de fuerza bruta.