Fortificación con iptables

Esta herramienta es fundamental para la gestión del tráfico de red en sistemas Linux. Permite establecer una tabla de reglas que determinan qué conexiones se aceptan, se rechazan o se bloquean, formando el muro de defensa de nuestro sistema.


Configuración Básica

Verificar instalación de iptables

Antes de aplicar cualquier regla, es necesario comprobar que iptables está operativo en el sistema:

sudo iptables -L

Establecer políticas por defecto seguras

Todo tráfico que no esté explícitamente permitido debe ser rechazado por defecto.

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
  • INPUT DROP: Todo tráfico entrante es bloqueado si no se permite explícitamente.

  • FORWARD DROP: No se permite redireccionamiento de paquetes.

  • OUTPUT ACCEPT: Se permite todo tráfico saliente desde la máquina.

Estas políticas reflejan la estrategia de cierre total: solo permitimos puertas que nosotros mismos abrimos.


Permitir tráfico esencial

Ciertos flujos deben ser aceptados para no aislar completamente el sistema:

  1. Permitir conexiones ya establecidas y relacionadas:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Esto garantiza que las respuestas legítimas a conexiones salientes (como navegación web) sean aceptadas.

  1. Permitir el tráfico del loopback:

sudo iptables -A INPUT -i lo -j ACCEPT

Esto asegura que los procesos internos del sistema puedan comunicarse entre sí.


Permitir trafico de un puerto en especifico

Estos comandos permite aceptar el trafico en determinado puertos.

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 137 -j ACCEPT

Permitir trafico de una dirección ip en especifico

Para aceptar el trafico de determinada IP.

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

Bloquear el trafico de una dirección IP.

sudo iptables -A INPUT -s 192.168.1.111 -j DROP

Rechazar trafico de un determinado rango de IP.

sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j REJECT

Eliminar las configuraciones

Para listar la regla.

sudo iptables -L --line-numbers

Para eliminar una regla existente.

sudo iptables -D INPUT 1

Para guardar las configuraciones

sudo iptables-save > /etc/sysconfig/iptables/iptables.rules

Donde se guardan las configuraciones depende de cada sistema.

# ArchLinux
sudo iptables-save > /etc/iptables/iptables.rules

Para cargar las configuraciones.

sudo iptables-restore < /etc/iptables/iptables.rules

Para mas exploración

Última actualización