Cómo administrar firewalls y configuraciones con nftables: Una guía completa y práctica
Capacitación sobre firewalls y nftables para administradores de servidores y personas preocupadas por la seguridad de la red.

Cómo administrar firewalls y configuraciones con nftables: Una guía completa y práctica

Este artículo proporciona instrucciones prácticas sobre cómo usar nftables como un nuevo cortafuegos para Linux y un sistema de gestión de seguridad de red, con ejemplos prácticos.
0 acciones
0
0
0
0

¿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.

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 nftables

Ejemplo 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_ssh

Para 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 mitigations

Para 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 drop

Otras 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.

Preguntas frecuentes

También te puede gustar
Las mejores formas de prevenir ataques DDoS

Mejores prácticas para prevenir ataques DDoS para administradores de sitios web

Los ataques DDoS (Denegación de Servicio Distribuido) son una de las amenazas de seguridad más comunes y destructivas para sitios web y servidores. Al enviar un gran volumen de solicitudes maliciosas, estos ataques saturan los recursos del servidor y provocan graves ralentizaciones, tiempo de inactividad del sitio web e incluso la pérdida de ingresos y reputación de marca. Para los administradores de sitios web y servidores, familiarizarse con los métodos básicos para abordar los ataques DDoS es una necesidad, no una opción. En este artículo, examinaremos las soluciones técnicas y prácticas más eficaces para prevenir y reducir el impacto de los ataques DDoS de forma experta.
Amazon-AWS-EC2

¿Qué es Amazon EC2 (Elastic Compute Cloud) y para qué sirve?

En el mundo tecnológico actual, la necesidad de servidores potentes y flexibles es más acuciante que nunca. Amazon ha respondido en parte a esta necesidad con un enfoque totalmente basado en la nube al ofrecer Amazon EC2. Este servicio es uno de los componentes principales de la plataforma Amazon Web Services (AWS) y permite lanzar y administrar servidores virtuales a distintas escalas.