Skip to content

5.4. Filtrado de Tráfico mediante Cortafuegos (Firewalls)

Objetivo

Comprender el funcionamiento de los cortafuegos, sus tipos y arquitecturas, y aprender a configurar reglas de filtrado en entornos reales con UFW e iptables.


5.4.1. Qué es un cortafuegos

Un cortafuegos (firewall) es un sistema de seguridad que controla el tráfico de red entrante y saliente basándose en un conjunto de reglas predefinidas. Actúa como barrera entre una red de confianza (red interna) y una red no confiable (Internet u otra red externa).

Un cortafuegos no es una solución mágica: no detecta virus, no cifra comunicaciones y no protege contra ataques que ya están dentro de la red. Su función es controlar qué tráfico puede entrar y salir.

Analogía

Un cortafuegos es como el portero de un edificio. Decide quién puede entrar y quién no, pero no puede hacer nada si el intruso ya está dentro.

Qué puede hacer un cortafuegos

  • Bloquear conexiones entrantes no autorizadas.
  • Restringir el tráfico saliente a destinos o puertos concretos.
  • Registrar intentos de conexión (logs).
  • Segmentar redes internas (DMZ).
  • Limitar el número de conexiones por IP (protección básica anti-DoS).

Qué no puede hacer un cortafuegos

  • Proteger contra ataques que usan puertos permitidos (p. ej., malware por HTTPS).
  • Detectar tráfico cifrado malicioso sin inspección avanzada.
  • Sustituir a un antivirus o a un sistema de detección de intrusiones (IDS).
  • Proteger contra amenazas internas (por ejemplo, un empleado malicioso en la red local).

5.4.2. Tipos de cortafuegos

Cortafuegos de filtrado de paquetes (Packet Filtering)

Es el tipo más básico. Analiza cada paquete de forma independiente y decide si lo permite o lo bloquea según criterios simples:

  • Dirección IP de origen y destino.
  • Puerto de origen y destino.
  • Protocolo (TCP, UDP, ICMP).

Funcionamiento:

[Paquete entrante]
        |
        v
[Regla 1: ¿IP origen en lista negra?] --> SÍ --> BLOQUEAR
        |
        NO
        v
[Regla 2: ¿Puerto destino permitido?] --> NO --> BLOQUEAR
        |
        SÍ
        v
[PERMITIR]

Ventajas:

  • Muy rápido, bajo consumo de recursos.
  • Fácil de configurar para reglas simples.

Limitaciones:

  • No distingue si una conexión fue iniciada desde dentro o desde fuera.
  • No analiza el contenido del paquete.
  • Vulnerable a IP spoofing.

Ejemplo: iptables en modo básico, ACL en routers Cisco.


Cortafuegos con estado (Stateful Inspection)

Mantiene una tabla de estado con todas las conexiones activas. Sabe si un paquete pertenece a una conexión ya establecida o si es un intento de conexión nueva.

Tabla de estados:

Conexión IP origen IP destino Puerto Estado
1 192.168.1.10 8.8.8.8 53 ESTABLISHED
2 192.168.1.20 93.184.216.34 443 SYN_SENT
3 10.0.0.5 192.168.1.10 22 NEW

Ventajas:

  • Distingue tráfico de respuesta legítimo del tráfico no solicitado.
  • Mucho más seguro que el filtrado simple.
  • Permite reglas más inteligentes (por ejemplo, permitir respuestas a conexiones iniciadas desde dentro).

Limitaciones:

  • Mayor consumo de memoria y CPU.
  • No analiza el contenido de la aplicación.

Ejemplo: iptables con módulo conntrack, pfSense, Windows Defender Firewall.


Cortafuegos de aplicación (Application Layer / Proxy Firewall)

Opera en la capa 7 del modelo OSI. Entiende los protocolos de aplicación (HTTP, FTP, DNS…) y puede tomar decisiones basadas en el contenido.

Capacidades:

  • Bloquear URL o dominios concretos.
  • Detectar comandos peligrosos dentro de un protocolo (p. ej., bloquear FTP PUT).
  • Inspeccionar el contenido de peticiones HTTP.
  • Descifrar y analizar tráfico HTTPS (SSL inspection).

Ventajas:

  • Máxima precisión en el filtrado.
  • Puede detectar ataques que usan puertos permitidos.

Limitaciones:

  • Mucho más lento (debe procesar cada paquete a nivel de aplicación).
  • Complejo de configurar.
  • Puede generar problemas con aplicaciones que no esperan un proxy.

Ejemplo: Squid Proxy, pfSense con Snort/Suricata, soluciones UTM empresariales.


Cortafuegos de nueva generación (NGFW)

Combina las capacidades de los tres tipos anteriores y añade:

  • Identificación de aplicaciones (independientemente del puerto).
  • Integración con sistemas de prevención de intrusiones (IPS).
  • Inspección SSL/TLS.
  • Control por usuario (no solo por IP).
  • Inteligencia de amenazas en tiempo real (cloud).

Ejemplos comerciales: Palo Alto Networks, Fortinet FortiGate, Cisco Firepower, Check Point.


Comparativa resumida

Tipo Capa OSI Velocidad Precisión Uso típico
Filtrado de paquetes 3-4 Muy alta Baja Routers, ACL básicas
Stateful 3-4 Alta Media Firewalls de red generales
Aplicación (proxy) 7 Baja Alta Proxies corporativos
NGFW 3-7 Media Muy alta Empresas medianas y grandes

5.4.3. Arquitecturas de red con cortafuegos

Red simple con firewall perimetral

La arquitectura más básica: un único firewall entre Internet y la red interna.

[Internet]
    |
[Firewall perimetral]
    |
[Red interna LAN]
    |
[Equipos de usuarios / Servidores]

Problema: si un servidor interno es comprometido, el atacante puede tener acceso directo al resto de equipos de la LAN.


Arquitectura con DMZ (zona desmilitarizada)

La DMZ es una red intermedia donde se colocan los servidores que deben ser accesibles desde Internet (web, correo, DNS). Queda aislada tanto de Internet como de la red interna.

[Internet]
    |
[Firewall externo]
    |
[DMZ: Servidor web / Servidor correo / DNS]
    |
[Firewall interno]
    |
[Red interna LAN: Equipos de usuarios / Servidores internos]

Ventaja: si el servidor web es comprometido, el atacante solo accede a la DMZ, no a la red interna.

Reglas típicas en una arquitectura DMZ:

Origen Destino Puerto Acción
Internet DMZ (servidor web) 80, 443 PERMITIR
Internet LAN Cualquiera DENEGAR
DMZ LAN Cualquiera DENEGAR
LAN DMZ Cualquiera PERMITIR
LAN Internet Cualquiera PERMITIR

Arquitectura con doble firewall

Variante de la DMZ donde se usan dos firewalls de fabricantes distintos. Si un atacante explota una vulnerabilidad del primer firewall, aún debe superar el segundo.

[Internet]
    |
[Firewall A (fabricante X)]
    |
[DMZ]
    |
[Firewall B (fabricante Y)]
    |
[LAN interna]

5.4.4. Políticas de filtrado

Antes de escribir una sola regla, hay que definir la política por defecto: qué ocurre con el tráfico que no coincide con ninguna regla.

Política restrictiva (deny all)

Todo el tráfico está bloqueado por defecto. Solo se permite lo que está explícitamente autorizado.

Política por defecto: DENEGAR TODO
Regla 1: PERMITIR SSH desde red interna
Regla 2: PERMITIR HTTPS desde cualquier origen
Regla 3: PERMITIR DNS hacia 8.8.8.8

Ventaja: máxima seguridad. Un servicio olvidado no queda expuesto.
Inconveniente: requiere más trabajo de configuración inicial.

Política permisiva (allow all)

Todo el tráfico está permitido por defecto. Solo se bloquea lo que está explícitamente prohibido.

Política por defecto: PERMITIR TODO
Regla 1: DENEGAR Telnet (puerto 23)
Regla 2: DENEGAR FTP (puerto 21)

Ventaja: fácil de configurar inicialmente.
Inconveniente: cualquier servicio nuevo queda expuesto hasta que se añade una regla de bloqueo.

Recomendación

En entornos profesionales se usa la política restrictiva. La permisiva solo es aceptable en desarrollo o pruebas.


5.4.5. Orden de las reglas

Las reglas de un firewall se evalúan en orden, de arriba a abajo. La primera regla que coincide con el paquete se aplica y el resto se ignoran.

Ejemplo de error común:

Regla 1: DENEGAR todo el tráfico desde 192.168.1.0/24
Regla 2: PERMITIR SSH desde 192.168.1.10

La regla 2 nunca se ejecutará porque la regla 1 bloquea todo el tráfico de esa red antes de llegar a la regla 2.

Orden correcto:

Regla 1: PERMITIR SSH desde 192.168.1.10
Regla 2: DENEGAR todo el tráfico desde 192.168.1.0/24

5.4.6. UFW en Ubuntu 24

UFW (Uncomplicated Firewall) es la interfaz simplificada de iptables incluida en Ubuntu. Facilita la gestión del firewall sin necesidad de conocer la sintaxis compleja de iptables.

Activación y política por defecto

# Activar UFW
sudo ufw enable

# Política restrictiva (recomendada)
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Ver el estado actual
sudo ufw status verbose

Reglas básicas por servicio

# Permitir SSH (imprescindible antes de activar UFW en un servidor remoto)
sudo ufw allow ssh

# Permitir HTTP y HTTPS
sudo ufw allow http
sudo ufw allow https

# Permitir un puerto concreto
sudo ufw allow 8080/tcp

# Denegar puertos concretos
sudo ufw deny 23/tcp   # Bloquear Telnet
sudo ufw deny 21/tcp   # Bloquear FTP

Reglas por IP de origen

# Permitir SSH solo desde una IP concreta
sudo ufw allow from 192.168.1.10 to any port 22

# Permitir todo el tráfico desde una subred
sudo ufw allow from 192.168.1.0/24

# Denegar todo el tráfico desde una IP
sudo ufw deny from 10.0.0.5

Reglas por interfaz de red

# Permitir tráfico HTTP solo en la interfaz de red interna
sudo ufw allow in on enp0s3 to any port 80

# Denegar tráfico en una interfaz concreta
sudo ufw deny in on enp0s8

Gestión de reglas

# Ver reglas numeradas
sudo ufw status numbered

# Eliminar una regla por número
sudo ufw delete 3

# Eliminar una regla por descripción
sudo ufw delete allow 80/tcp

# Desactivar UFW temporalmente
sudo ufw disable

# Restablecer todas las reglas
sudo ufw reset

Logs de UFW

# Activar registro de eventos
sudo ufw logging on

# Ver los logs en tiempo real
sudo tail -f /var/log/ufw.log

# Filtrar intentos bloqueados
sudo grep "BLOCK" /var/log/ufw.log

Ejemplo de configuración completa para un servidor web

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.1.0/24 to any port 22   # SSH solo desde red interna
sudo ufw allow 80/tcp                                # HTTP desde cualquier origen
sudo ufw allow 443/tcp                               # HTTPS desde cualquier origen
sudo ufw deny 21/tcp                                 # Bloquear FTP
sudo ufw deny 23/tcp                                 # Bloquear Telnet
sudo ufw logging on
sudo ufw enable
sudo ufw status verbose

5.4.7. iptables: el motor detrás de UFW

UFW es una interfaz que simplifica la gestión de iptables, el sistema de filtrado de paquetes del kernel Linux. Conocer iptables es útil para entender qué hace UFW por debajo y para configuraciones avanzadas.

Estructura de iptables

iptables organiza las reglas en tablas y cadenas:

Tabla Función
filter Filtrado de paquetes (la más usada)
nat Traducción de direcciones (NAT/PAT)
mangle Modificación de cabeceras de paquetes

La tabla filter tiene tres cadenas principales:

Cadena Tráfico que procesa
INPUT Paquetes destinados al propio equipo
OUTPUT Paquetes generados por el propio equipo
FORWARD Paquetes que pasan a través del equipo (router)

Sintaxis básica

# Ver las reglas actuales
sudo iptables -L -v -n

# Política por defecto: denegar todo
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# Permitir tráfico de loopback (imprescindible)
sudo iptables -A INPUT -i lo -j ACCEPT

# Permitir conexiones ya establecidas
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Permitir SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Permitir HTTP y HTTPS
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Bloquear una IP concreta
sudo iptables -A INPUT -s 10.0.0.5 -j DROP

# Ver las reglas con números de línea
sudo iptables -L INPUT --line-numbers

# Eliminar una regla por número
sudo iptables -D INPUT 3

Nota práctica

En la mayoría de casos, UFW es suficiente para un servidor Ubuntu. iptables directo se usa en escenarios avanzados o en sistemas sin UFW.


5.4.8. Introducción a pfSense

pfSense es un sistema operativo basado en FreeBSD especializado en funciones de red y seguridad perimetral. Es gratuito, de código abierto y ampliamente utilizado en entornos empresariales como alternativa a soluciones comerciales de alto coste.

Funcionalidades principales

Función Descripción
Firewall stateful Filtrado de tráfico con inspección de estado
Router Enrutamiento estático y dinámico (OSPF, BGP)
VPN OpenVPN, IPsec, WireGuard
DHCP / DNS Servidor DHCP y resolutor DNS
Proxy / IDS Squid, Snort, Suricata (mediante paquetes)
Portal cautivo Control de acceso en redes Wi‑Fi
Balanceo de carga Distribución de tráfico entre múltiples enlaces

Por qué pfSense en el aula

  • Gratuito y con documentación extensa.
  • Interfaz web intuitiva.
  • Permite simular entornos empresariales reales en VirtualBox.
  • Muy utilizado en pymes y centros educativos.

Arquitectura típica con pfSense en VirtualBox

[Adaptador NAT de VirtualBox]  <-- WAN (simula Internet)
            |
        [pfSense]
            |
[Red interna de VirtualBox]    <-- LAN (red de equipos)
            |
    [Ubuntu cliente]

pfSense actúa como router y firewall entre la red interna del laboratorio y el exterior.

Conceptos clave de pfSense

Interfaces:

  • WAN: conexión hacia el exterior (Internet).
  • LAN: red interna de confianza.
  • OPT1, OPT2…: interfaces adicionales (DMZ, Wi‑Fi, etc.).

Reglas en pfSense:

Las reglas se aplican por interfaz y en dirección entrante. Una regla en la interfaz LAN controla el tráfico que entra desde la LAN hacia pfSense.

Alias:

pfSense permite crear alias (grupos de IP o puertos) para simplificar reglas. En lugar de crear 10 reglas para 10 IP, se crea un alias con esas IP y una sola regla.


5.4.9. Comparativa UFW vs iptables vs pfSense

Característica UFW iptables pfSense
Nivel de complejidad Bajo Alto Medio
Interfaz Línea de comandos Línea de comandos Web (GUI)
Entorno típico Servidor Linux Servidores avanzados Perímetro de red
Stateful Sí (vía iptables) Sí (conntrack)
Logs Sí (avanzados)
VPN integrada No No
Coste Gratuito Gratuito Gratuito

5.4.10. Recursos de ampliación

Vídeos recomendados

En MkDocs Material se recomienda usar enlaces en lugar de iframe, salvo que tengas habilitado contenido HTML embebido.

Documentación de referencia

Recurso Descripción
Documentación oficial UFW Guía completa de UFW en Ubuntu
pfSense Documentation Documentación oficial de pfSense
iptables Tutorial Tutorial completo de iptables
INCIBE — Ciberseguridad Guías y recursos de seguridad para pymes

Resumen de conceptos clave

Concepto Definición rápida
Cortafuegos Sistema que controla el tráfico de red según reglas
Filtrado de paquetes Análisis por IP, puerto y protocolo sin estado
Stateful Filtrado con seguimiento del estado de las conexiones
Proxy firewall Filtrado a nivel de aplicación (capa 7)
NGFW Firewall de nueva generación con IPS y control de aplicaciones
DMZ Red intermedia para servidores accesibles desde Internet
Política restrictiva Denegar todo por defecto y permitir solo lo necesario
UFW Interfaz simplificada de iptables para Ubuntu
iptables Motor de filtrado de paquetes del kernel Linux
pfSense Sistema operativo especializado en firewall y routing
Cadena INPUT Reglas para tráfico destinado al propio equipo
Cadena OUTPUT Reglas para tráfico generado por el propio equipo
Alias (pfSense) Grupo de IP o puertos para simplificar reglas