Fundamentos de Firewalls y Configuración de Iptables en Linux
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,09 KB
Componentes y Filtrado
- Motor: Analiza IPs, puertos y protocolos.
- Reglas (ACL): Se leen en orden estricto; la primera regla que se cumple se aplica y no se miran más; suelen acabar denegando todo lo demás.
- Interfaces: LAN (interna/protegida), WAN (externa/Internet), DMZ (servidores públicos).
- Inspección de Estado: Recuerda sesiones válidas y bloquea el resto.
- Logs: Registra eventos para auditorías.
- NAT/PAT: Traduce IPs/puertos para ocultar la red interna o compartir IP pública.
Tipos de Firewalls
- Por Análisis:
- Filtrado de paquetes/Sin estado: Solo mira cabeceras IP/puerto; muy rápido pero menos seguro.
- Estado/Stateful: Controla la conexión completa de entrada y salida; seguro, uso empresarial.
- App/Proxy: Intermediario, analiza contenido HTTP/FTP; muy seguro pero consume recursos.
- NGFW: Integra inspección profunda (DPI), IPS y antivirus; para grandes empresas.
- Por Ubicación: Red (protege toda la red) o Host (equipo individual).
- Por Implementación: Hardware (físico/empresas), Software (programas/PCs) o Nube (escalable).
Iptables (Linux)
Controla el tráfico por IP, puerto o protocolo.
- Tablas:
- filter: Filtra paquetes, permite/bloquea (por defecto).
- nat: Traduce IP privada a pública, modifica cabeceras (no filtra).
- mangle: Modifica paquetes.
- Cadenas: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING.
- Acciones:
- ACCEPT: El paquete pasa, conexión normal.
- DROP: El paquete es descartado sin respuesta; el host parece "no existir", ideal para seguridad estricta y ocultar servicios.
- REJECT: El paquete no pasa pero envía mensaje de error TCP RST o ICMP; ideal para redes internas o depuración.
Tablas y Cadenas
- filter: Controla si un paquete pasa o se bloquea.
- Cadenas: INPUT (paquetes que entran al FW), OUTPUT (salen del FW), FORWARD (atraviesan el FW cuando actúa como router).
- nat: Modifica IPs y puertos.
- Cadenas: PREROUTING (antes de decidir destino), POSTROUTING (justo antes de salir), OUTPUT (generados localmente).
Comandos y Sintaxis
Sintaxis base: iptables [tabla] COMANDO CADENA [condiciones] -j ACCIÓN (si la tabla es filter, no hace falta indicarla).
- Comandos: -A (añadir regla al final), -I (insertar por posición), -D (borrar regla), -R (reemplazar), -L (listar reglas), -F (vaciar reglas), -P (cambiar política por defecto).
Condiciones de Filtrado
Se usan para identificar el tráfico:
- -s (IP origen), -d (IP destino), -p (protocolo tcp, udp, icmp), --sport (puerto origen), --dport (puerto destino).
- También por estado de conexión con:
-m state --state ESTABLISHED, RELATED, NEW, INVALID.
Acciones (Opción -j)
- Para filter: ACCEPT (permite el paso), DROP (descarta silenciosamente sin avisar), REJECT (bloquea y envía error al origen), LOG (registra el paquete en logs).
- Para nat: SNAT (cambia IP de origen), DNAT (cambia IP de destino), MASQUERADE (SNAT automático para IP dinámica, da internet), REDIRECT (redirige a puerto local), RETURN (vuelve a la cadena anterior).
Guardar Cambios (Persistencia)
Las reglas se borran al reiniciar si no se guardan. Pasos:
- Instalar la herramienta:
apt install iptables-persistent. - Guardar los cambios con:
netfilter-persistent save. - Recargar con:
netfilter-persistent reload. - Ubicación del archivo:
/etc/iptables/rules.v4.