Denegar por defecto y permitir solo los puertos necesarios (ej. 22, 80, 443). Use firewall en host y ACLs de red si el proveedor los ofrece. Documente reglas y use gestión de configuración para mantenerlas consistentes.
Denegar por defecto y lista de permitidos
- Denegar por defecto: Bloquear toda entrada (y opcionalmente salida) excepto lo que permita explícitamente.
- Permitir solo puertos necesarios: Típicamente SSH (22), HTTP (80), HTTPS (443). Restrinja SSH a IPs de admin si puede.
- Salida: A menudo permitir toda salida; restrinja si necesita bloquear exfiltración o limitar destinos.
Herramientas (Linux)
- iptables: Front-end clásico de netfilter; bien documentado, disponible en todas partes.
- nftables: Reemplazo más nuevo de iptables; un framework para IPv4/IPv6.
- firewalld: Servicio de nivel superior; zonas y servicios; bueno para workstations y servidores simples.
Buenas prácticas
- Documentar reglas: Comente o mantenga un doc explicando cada permiso; evite reglas "misteriosas".
- Gestión de configuración: Use Ansible, Puppet o similar para que el estado del firewall sea reproducible y revisado.
- ACLs del proveedor: Si el host ofrece ACLs de red o security groups, úselos además del firewall del host para defensa en profundidad.
Resumen
Denegar por defecto; permitir solo SSH, HTTP, HTTPS (y puertos específicos de la app). Use iptables, nftables o firewalld; documente y gestione con gestión de configuración. Combine con ACLs del proveedor cuando estén disponibles.




