Configuración de Firewall con Iptables: Implementación de Políticas DROP y Enrutamiento

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 3,37 KB

Configuración de Firewall con Iptables

A continuación, se detalla la implementación de un firewall robusto utilizando iptables, estableciendo políticas restrictivas y configurando el enrutamiento necesario para redes locales y DMZ.

1. Limpieza de reglas previas

Antes de aplicar la nueva configuración, eliminamos cualquier resto de reglas anteriores:

iptables -F
iptables -Z
iptables -X
iptables -t nat -F

2. Establecimiento de políticas por defecto

Configuramos la política DROP para denegar todo el tráfico por defecto:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

3. Activación del enrutamiento

Habilitamos el reenvío de paquetes en el kernel:

echo "1" > /proc/sys/net/ipv4/ip_forward

4. Configuración de Localhost

Permitimos el tráfico interno de la interfaz de bucle local:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

5. Comunicación entre redes (Clientes - DMZ)

Reglas para permitir el flujo de tráfico entre la red de clientes y la zona desmilitarizada:

iptables -A FORWARD -s 10.0.0.0/24 -d 192.168.9.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.9.0/24 -d 10.0.0.0/24 -j ACCEPT

6. Acceso de la red de clientes a Internet

Configuración de reglas para permitir servicios básicos (ICMP, HTTP, HTTPS, DNS) y aplicar NAT (Masquerade):

# ICMP
iptables -A FORWARD -s 10.0.0.0/24 -o enp0s9 -p icmp -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 10.0.0.0/24 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

# HTTP/HTTPS
iptables -A FORWARD -s 10.0.0.0/24 -o enp0s9 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 10.0.0.0/24 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/24 -o enp0s9 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 10.0.0.0/24 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT

# DNS
iptables -A FORWARD -s 10.0.0.0/24 -o enp0s9 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 10.0.0.0/24 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

# NAT
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o enp0s9 -j MASQUERADE

7. Configuración de la DMZ

Reglas para exponer servicios en la DMZ mediante DNAT:

iptables -A FORWARD -i enp0s9 -o enp0s3 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i enp0s9 -p tcp --dport 80 -m state --state NEW -j DNAT --to 192.168.9.252
iptables -A FORWARD -s 192.168.9.252/24 -o enp0s9 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

8. Acceso DNS para la DMZ

Permitimos que los servidores en la DMZ resuelvan nombres a través de Internet:

iptables -A FORWARD -s 192.168.9.0/24 -o enp0s9 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 192.168.9.0/24 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.9.0/24 -o enp0s9 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i enp0s9 -d 192.168.9.0/24 -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.9.0/24 -o enp0s9 -j MASQUERADE

Entradas relacionadas: