¿Cómo gestionar firewalls y nftables, desde lo básico hasta lo avanzado?
Administración y configuración del firewall nftables Es fundamental para cualquier administrador de sistemas, profesional de DevOps o propietario de servidores. En esta guía, cubrimos el lenguaje técnico y operativo, desde los conceptos básicos hasta escenarios avanzados, con ejemplos prácticos y archivos de configuración.
- ¿Cómo gestionar firewalls y nftables, desde lo básico hasta lo avanzado?
- Conceptos básicos de nftables
- ¿Por qué nftables?
- Inicio rápido: Instalación, revisión y guardado de reglas
- Ejemplo práctico: un conjunto de reglas básicas (para un servidor Linux)
- Gestión de conjuntos y bloques temporales
- NAT, reenvío de puertos y enmascaramiento
- Cómo contrarrestar los ataques DDoS y SYN
- Reglas de registro y monitoreo
- Consejos prácticos de seguridad
- Consejos prácticos para diferentes aplicaciones
- Consejos prácticos para la implementación y el mantenimiento.
- Herramientas y depuración
- Conclusión y recomendaciones prácticas
- Preguntas frecuentes
Conceptos básicos de nftables
nftables Para diseñar un conjunto de reglas, es necesario familiarizarse con ciertos componentes:
- familia: Familia de protocolos (p. ej. Internet Para IPv4 e IPv6 simultáneos, ip, ip6, arp, bridge).
- mesa: Contenedor de reglas (p. ej. filtro inet).
- cadena: Cadena de reglas con gancho, tipo (entrada, avance, salida) y prioridad.
- regla: Condiciones y acciones (aceptar, descartar, rechazar, contador, registrar).
- conjunto / mapa: Colecciones para almacenar direcciones IP, puertos o valores para una rápida coincidencia.
- conntrack: Seguimiento del estado de la conexión (establecida, relacionada, nueva, inválida).
¿Por qué nftables?
Principales razones para la elección nftables Entre ellos se incluyen:
- Compatibilidad simultánea con IPv4 e IPv6. Utilizando la familia Internet.
- Mejor rendimiento Y la posibilidad reemplazo atómico Para cargar el conjunto de reglas de forma segura.
- Apoyo para Conjuntos con tiempo de espera y mapas Para NAT avanzado.
- Compatibilidad con iptables a través de una capa de compatibilidad en las nuevas distribuciones.
Inicio rápido: Instalación, revisión y guardado de reglas
Comandos básicos para comprobar, cargar y guardar conjuntos de reglas:
nft --version
nft list ruleset
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftablesEjemplo práctico: un conjunto de reglas básicas (para un servidor Linux)
Archivo /etc/nftables.conf sugerido que utiliza la familia Internet Para cubrir tanto IPv4 como IPv6:
table inet filter {
set allowed_ssh {
type ipv4_addr; flags timeout;
}
chain input {
type filter hook input priority 0;
policy drop;
# loopback
iif "lo" accept
# established/related
ct state established,related accept
# ICMP/ICMPv6
ip protocol icmp accept
ip6 nexthdr ipv6-icmp accept
# Allow SSH with rate limit & whitelist
tcp dport 22 ct state new limit rate 3/minute accept
ip saddr @allowed_ssh accept
# HTTP/HTTPS
tcp dport { 80, 443 } ct state new accept
# DNS
udp dport 53 accept
tcp dport 53 accept
# log and drop others
counter log prefix "nft-drop: " flags all drop
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}Explicación: Este conjunto de reglas básicas permite el bucle de retorno, las conexiones existentes, SSH (con límite de velocidad), HTTP/HTTPS y DNS, y registra y descarta el resto del tráfico. establecer allowed_ssh Adecuado para incluir direcciones IP en la lista blanca con tiempo de espera.
Gestión de conjuntos y bloques temporales
Crear y administrar conjuntos para listas blancas o negras es muy útil. Ejemplos:
nft add element inet filter allowed_ssh { 203.0.113.5 timeout 1h }
nft list set inet filter allowed_sshPara bloquear temporalmente a los atacantes, active una bandera. se acabó el tiempo Cree y agregue direcciones IP para un período de tiempo específico.
NAT, reenvío de puertos y enmascaramiento
Ejemplo de NAT para un VPS que publica múltiples servicios detrás de una IP privada:
table ip nat {
chain prerouting {
type nat hook prerouting priority 0;
tcp dport 2222 dnat to 10.0.0.10:22
tcp dport 8443 dnat to 10.0.0.20:443
}
chain postrouting {
type nat hook postrouting priority 100;
oif "eth0" masquerade
}
}Nota: En arquitecturas de nube con múltiples direcciones, utilice enmascaramiento o NAT de origen para la salida. Para IPv6, utilice la asignación DNAT o CIDR adecuada.
Cómo contrarrestar los ataques DDoS y SYN
nftables cuenta con funciones de limitación de velocidad y tablas de flujo que pueden utilizarse para mitigar el impacto de los ataques.
# allow limited number of new SYNs per second
tcp flags syn ct state new limit rate 10/second burst 20 accept
# synproxy can be used in extreme cases (kernel feature)
# nftables can match and direct traffic to synproxy or other mitigationsPara ataques a gran escala, la combinación de un servidor cortafuegos (nftables) con un Capa anti-DDoS de red La mejor estrategia es filtrar el tráfico malicioso antes de que llegue al servidor.
Reglas de registro y monitoreo
Herramientas y comandos útiles para la monitorización:
- Mostrar contadores para cada regla: conjunto de reglas de la lista nft.
- Habilitar el registro con prefijo y limitación de velocidad:
nft add rule inet filter input tcp dport 22 counter log prefix "ssh-drop: " limit rate 10/minute dropOtras herramientas: journalctl -f -u nftables, volcado de tcp, tshark, y monitor nft.
Consejos prácticos de seguridad
Algunos consejos prácticos e importantes:
- Siempre haz copias de seguridad: Antes de la implementación, salida conjunto de reglas de la lista nft Ahorrar.
- Utilice la carga atómica: nft -f /etc/nftables.conf Carga el archivo de forma atómica.
- Evite los bloqueos de SSH: Establezca una regla de aceptación temporal para su IP o utilice una consola externa.
- Script de deshacer automático: Al realizar cambios delicados, configure una reversión automática si no se confirman.
Consejos prácticos para diferentes aplicaciones
Para administradores de WordPress y sitios web
Abra únicamente los puertos esenciales (80/443/22). Utilice límites de velocidad para los formularios de inicio de sesión y XML-RPC, y cree un conjunto de direcciones IP de penalización para prevenir ataques de fuerza bruta. Se recomienda la combinación con CDN y WAF.
Para programadores y DevOps
De la familia Internet Utilice la compatibilidad con IPv4/IPv6 para la implementación simultánea. Almacene las reglas en el sistema de control de versiones y utilice CI/CD para la implementación automatizada. Utilice la carga de archivos y la reversión rápida para probar los cambios.
Para comerciantes (VPS para comercio)
Para obtener la menor latencia, elija una ubicación cercana a los servidores del bróker o de la bolsa. Restrinja el tráfico entrante y saliente a las direcciones IP necesarias y utilice listas blancas para evitar que se cierren los puertos durante las actualizaciones.
Para jugadores (VPS para juegos)
Abre los puertos UDP que requiere el juego y optimiza los tiempos de espera de conntrack para UDP. Si necesitas NAT, usa flowtable para un mejor rendimiento y elige una ubicación con baja latencia.
Para IA y GPU en la nube
Permita el acceso a los puertos de administración (SSH, API de Kubernetes) solo desde direcciones IP específicas. En entornos distribuidos, defina reglas entre nodos y verifique el rendimiento de conntrack. Se recomienda usar una red privada y BGP/VLAN privada para mayor seguridad y alto rendimiento.
Consejos prácticos para la implementación y el mantenimiento.
Algunos consejos prácticos para el proceso de mantenimiento:
- Realice siempre una copia de seguridad del conjunto de reglas antes de realizar cambios.
- Uso de reemplazo atómico Con nft -f /etc/nftables.conf.
- Antes de realizar cambios importantes, establezca una regla de aceptación temporal para la IP de administración.
- Configure cron o systemd-timer para que se produzca una reversión automática si no se recibe confirmación.
Herramientas y depuración
Herramientas clave para la depuración y la monitorización:
- conjunto de reglas de la lista nft
- monitor nft / Rastreo del monitor nft
- ss -tunlp Para mostrar puertos
- conntrack -L Del paquete conntrack-tools
- volcado de tcp O tshark Para la captura de paquetes
Conclusión y recomendaciones prácticas
nftables es una herramienta potente que hace que la administración del firewall sea moderna, rápida y flexible. Utilizando la familia Internet, conjuntos, límite de velocidad y conntrack puedes crear una capa de protección eficaz que sea adecuada para servidores web, comercio VPS, juegos y nube GPU.
Junto con la configuración del servidor, la combinación con servicios de red como CDN, protección anti-DDoS y BGP, que se ofrecen en más de 85 ubicaciones globales, eleva la seguridad y la disponibilidad a un nivel más fiable.









