BLOG | NGINX

Aceleración de la mitigación de DDoS con eBPF en F5 NGINX App Protect DoS

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Robert Haynes Miniatura
Robert Haynes
Publicado el 5 de abril de 2023

La batalla contra los ataques DDoS continúa transformándose. En el informe Tendencias de ataques DDoS de 2023 , F5 Labs analizó tres años de datos recientes sobre ataques distribuidos de denegación de servicio (DDoS) y descubrió que, si bien los atacantes todavía utilizan ataques DDoS multivectoriales complejos, también han pasado a lanzar ataques más puramente de capa de aplicação(capa 7). Solo en 2022, la prevalencia de ataques de capa 7 creció un 165%.

Diagrama que muestra los recuentos de tipos de ataques DDoS (volumétricos, de protocolo, de aplicação y multivectoriales) entre 2020 y 2022
Recuentos de tipos de ataques DDoS, 2020-2022, que muestran un gran aumento en la cantidad de ataques a aplicação y una reducción correspondiente en los ataques volumétricos y multivectoriales.

Normalmente, los atacantes buscan el camino más fácil para lograr su objetivo, ya sea impedir las operaciones de un sitio web o extorsionar a un objetivo. Este aumento de los ataques de capa 7 puede ser una indicación de que cada vez es más difícil lanzar un ataque DDoS utilizando únicamente una estrategia volumétrica o de protocolo, y que los ataques de capa de aplicação están demostrando ser más efectivos.

Protección de aplicaciones modernas con eBF y XDP

Al defender sus aplicações contra ataques DDoS, es importante aprovechar los avances en la tecnología siempre que sea posible para maximizar la posibilidad de mantener sus aplicações disponibles (y a sus usuarios felices). Si bien la tecnología Berkeley Packet Filter (eBPF) con eXpress Ruta De Datos (XDP) existe desde 2014, actualmente su popularidad está aumentando entre las comunidades de desarrolladores, SRE y operaciones debido a la creciente adopción de microservicios y arquitecturas nativas de la nube.

eBPF

eBPF es una máquina virtual (VM) de capa de enlace de datos en el kernel de Linux que permite a los usuarios ejecutar programas de forma segura y eficiente. También amplía las capacidades del kernel en tiempo de ejecución, sin cambiar el código fuente del kernel ni agregar módulos adicionales del kernel. eBPF se activa por eventos: detecta actividad específica en un host Linux y toma una acción específica. Esta tecnología proporciona visibilidad completa de las aplicaciones y los servicios de aplicaciones con la capacidad de rastrear la conectividad y las transacciones entre microservicios y usuarios finales. La gama de datos disponibles es bastante amplia. Tiene la capacidad de abordar la observabilidad aguda, analizar la gestión del tráfico de red y las necesidades de seguridad en tiempo de ejecución, y utilizar su diseño eficiente fundamental para reducir los costos computacionales.

Consulte el video ¿Qué es eBPF? de F5 DevCentral para obtener una descripción general rápida de la tecnología eBPF.

XDP

XDP ofrece el beneficio de una red de alto rendimiento. Permite a los programas de espacio de usuario leer y escribir directamente en datos de paquetes de red y tomar decisiones sobre cómo manejar un paquete antes de llegar al nivel de kernel. Esta tecnología permite a los desarrolladores adjuntar un programa eBPF a un enlace de bajo nivel, implementado por el controlador del dispositivo de red dentro del kernel de Linux.

¿Cómo utiliza NGINX App Protect DoS eBPF?

NGINX App Protect DoS es una solución avanzada de mitigación de DDoS de capa 7 basada en el comportamiento que se ejecuta en NGINX Plus y NGINX Ingress Controller para defender las aplicaciones HTTP y HTTP/2 contra ataques como Slowloris y HTTP Flood . En resumen, NGINX App Protect DoS protege contra ataques a la capa de aplicação que las soluciones DDoS de red simples no pueden detectar.

Diagrama que muestra los tipos de ataques contra los que NGINX App Protect DoS se defiende
NGINX App Protect DoS se puede implementar en NGINX Plus en el balanceador de carga o la puerta de enlace API, y en el controlador de ingreso de NGINX o dentro del clúster como un proxy por pod o por servicio. También se puede integrar fácilmente como “seguridad como código” en canales de CI/CD para DevOps ágil.

Cuando se utiliza con NGINX App Protect DoS, eBPF ofrece la promesa de una capacidad de absorción de ataques DDoS significativamente mejorada. NGINX App Protect DoS usa eBPF (que no está disponible en el propio controlador de ingreso de NGINX) como parte de una solución de múltiples capas que acelera el rendimiento de mitigación al bloquear el tráfico de actores maliciosos, que se identifican por la dirección IP de origen, solo o en combinación con la huella digital TLS.

A continuación, veamos la mecánica básica de cómo funciona NGINX App Protect DoS en tres fases: detección de anomalías , creación de reglas dinámicas y aprendizaje adaptativo , y aplicación de reglas .

Detección de anomalías

NGINX App Protect DoS monitorea continuamente su aplicação protegida y utiliza aprendizaje automático para crear un modelo estadístico del sitio del comportamiento de la aplicação y del cliente. Observa el tráfico en tiempo real y rastrea más de 300 métricas de solicitudes HTTP para crear una base de referencia integral y constantemente actualizada de la actividad y el rendimiento. Además de monitorear pasivamente el tráfico de las aplicação , NGINX App Protect DoS también realiza controles activos del estado de las aplicação y monitorea métricas como los tiempos de respuesta y las solicitudes descartadas.

Cuando la aplicação sufre un ataque DDoS de capa 7, los tiempos de respuesta de la aplicação (o tasas de error) se desvían del modelo aprendido y se activa el sistema de protección de la aplicação .

Creación dinámica de reglas y aprendizaje adaptativo

Después de detectar una anomalía, NGINX App Protect DoS crea reglas dinámicas para identificar y bloquear el tráfico malicioso. Con el objetivo de permitir que los usuarios legítimos accedan a la aplicação mientras se bloquean atacantes maliciosos, crea una imagen estadística del comportamiento del cliente para identificar qué usuarios contribuyen o no al ataque.

Además de implementar firmas dinámicas para bloquear ataques, NGINX App Protect DoS mide continuamente la efectividad de la mitigación y aplica aprendizaje adaptativo para brindar constantemente una seguridad sólida a las aplicaciones y bloquear ataques de día cero. Una vez que se identifican los clientes y las solicitudes que provocan un ataque, se crea una regla para denegar ese tráfico.

NGINX App Protect DoS implementa una estrategia de defensa de múltiples capas que incluye:

  • Bloqueo de actores maliciosos según la dirección IP o la huella digital TLS
  • Bloqueo de solicitudes incorrectas con firmas de ataque
  • Aplicación de la limitación de velocidad global

Estas tres mitigaciones se aplican de forma incremental para garantizar que los atacantes queden bloqueados tanto como sea posible sin afectar a los usuarios legítimos. Sin embargo, la mayor parte de la actividad de bloqueo ocurre frecuentemente en la combinación inicial de dirección IP y bloqueo de huella digital TLS o en la fase de bloqueo solo de dirección IP. Afortunadamente, estos son exactamente los tipos de reglas que un programa eBPF puede aplicar de manera efectiva.

Aplicación de las normas

NGINX App Protect DoS utiliza las reglas creadas y las aplica al tráfico entrante de aplicação para bloquear solicitudes maliciosas. Dado que todo el tráfico de la aplicação se envía a la aplicação backend (o upstream ) mediante el proxy NGINX Plus, todas las solicitudes que coinciden con las reglas de bloqueo simplemente se descartan y no se pasan a la aplicação backend.

Si bien NGINX Plus es un proxy de alto rendimiento, aún es posible que la carga de trabajo adicional creada por las reglas de ataque y mitigación abrume los recursos disponibles de la plataforma en la que se ejecuta NGINX. Aquí es donde entra en juego el eBPF. Al aplicar solo el bloqueo de direcciones IP, o combinarlo con el bloqueo de direcciones IP y huellas dactilares TLS en el kernel, se puede evaluar y bloquear el tráfico malicioso de manera temprana en la capa de transporte (capa 4). Esto tiene una eficiencia mucho mayor que cuando lo realiza NGINX ejecutándose en el espacio del usuario.

En las plataformas compatibles, cuando NGINX App Protect DoS crea reglas para bloquear a los atacantes según la dirección IP de origen o la huella digital TLS, las reglas se compilan en un programa de código de bytes eBPF que ejecuta el kernel cuando ocurren eventos de red (conocidos como ganchos). Si un evento de red particular activa la regla, el tráfico se descarta anticipadamente en la capa 4. Esto ayuda a acelerar la mitigación de DDoS antes de llegar a la capa 7. Dado que toda esta actividad ocurre en el kernel, es muy eficiente y puede filtrar más tráfico (antes de agotar los recursos) que cuando las reglas se implementan en el espacio del usuario.

Diagrama que muestra cómo NGINX App Protect DoS invoca una regla codificada en eBPF en el kernel para repeler a un atacante
NGINX App Protect DoS con eBPF bloquea el tráfico malicioso en el kernel antes de llegar al espacio del usuario, lo que acelera la mitigación de DDoS y reduce los costos de cómputo.

Habilitación de la mitigación acelerada de eBPF en NGINX App Protect DoS

La mitigación acelerada de DoS de NGINX App Protect está disponible en las siguientes distribuciones de Linux:

  • Alpino 3.15+
  • Debian 11+
  • RHEL 8+
  • Ubuntu 20.04+

Para habilitar la mitigación acelerada de DDoS, siga estos pasos:

  1. Instale el paquete NGINX App Protect DoS habilitado para eBPF y realice cualquier tarea adicional. (Consulte la documentación de instalación para obtener más detalles, ya que las tareas posteriores a la instalación varían según la distribución).
  2. Configure NGINX App Protect DoS como de costumbre.
  3. Agregue la siguiente directiva en el bloque http{} de la configuración de NGINX Plus.

    protección_dos_mitigación_acelerada activada;
    
  4. Recargue la configuración de NGINX.

    $ sudo nginx -t && nginx -s reload
    

resumen

La combinación de las capacidades de aprendizaje adaptativo de NGINX App Protect DoS con el manejo de tráfico de alta eficiencia de la ejecución del kernel eBPF proporciona una estrategia de mitigación de DDoS de capa 7 acelerada y de múltiples capas con capacidades mejoradas para los ataques DDoS actuales centrados en aplicação y múltiples vectores. Además, mantiene bajos los costos de infraestructura y de procesamiento al disminuir los recursos necesarios para mitigar cualquier ataque DDoS.

Pruebe NGINX App Protect DoS usted mismo con una prueba gratuita de 30 días o contáctenos para analizar sus casos de uso .

Recursos adicionales


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.