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

NGINX | 05 de abril de 2023

La lucha contra los ataques DDoS sigue evolucionando. En el informe sobre las tendencias de los ataques DDoS de 2023, F5 Labs analizó datos recientes de un periodo de tres años sobre ataques de denegación de servicio distribuida (DDoS) y descubrió que, aunque los atacantes siguen utilizando complejos ataques DDoS multivector, también han pasado a lanzar más ataques exclusivamente en la capa de aplicación (capa 7). Solo en 2022, la prevalencia de los ataques de capa 7 aumentó un 165 %.

Diagrama que muestra el número de ataques DDoS por tipo (volumétricos, de protocolo, de aplicación y multivector) entre 2020 y 2022
Recuento de tipos de ataques DDoS, 2020–2022, que muestra un gran aumento del número de ataques a aplicaciones y la correspondiente reducción de los ataques volumétricos y multivector.

Por lo general, los atacantes siguen el camino más fácil para lograr su objetivo, ya sea impedir el funcionamiento de un sitio web o extorsionar a una víctima. Este aumento de los ataques de capa 7 puede indicar que cada vez resulta más difícil lanzar un ataque DDoS utilizando únicamente una estrategia volumétrica o de protocolo, y que los ataques a la capa de aplicación están demostrando ser más eficaces.

Protección de aplicaciones modernas con eBF y XDP

Al defender sus aplicaciones frente a ataques DDoS, es importante aprovechar los avances tecnológicos siempre que sea posible para maximizar las posibilidades de mantenerlas disponibles (y a sus usuarios satisfechos). Aunque la tecnología filtro de paquetes de Berkeley ampliado (eBPF) con ruta de datos rápida (XDP) existe desde 2014, actualmente está ganando popularidad 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 la capa de enlace de datos del 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 modificar su código fuente ni añadir módulos adicionales. eBPF se activa mediante eventos: detecta una actividad específica en un host Linux y ejecuta una acción concreta. Esta tecnología proporciona visibilidad de toda la pila de las aplicaciones y sus servicios, y permite rastrear la conectividad y las transacciones entre los microservicios y los usuarios finales. La variedad de datos disponibles es muy amplia. Permite abordar necesidades críticas de observabilidad, analizar la gestión del tráfico de red y las necesidades de seguridad en tiempo de ejecución, así como aprovechar la eficiencia inherente de su diseño para reducir los costes informáticos.

Echa un vistazo al vídeo «¿Qué es eBPF?» de F5 DevCentral para obtener una breve introducción a la tecnología eBPF.

XDP

XDP ofrece las ventajas de las redes de alto rendimiento. Permite que los programas del espacio de usuario lean y escriban directamente en los datos de los paquetes de red y decidan cómo gestionar un paquete antes de que llegue al nivel del kernel. Esta tecnología permite a los desarrolladores asociar un programa eBPF a un punto de enganche de bajo nivel, implementado por el controlador del dispositivo de red en el kernel de Linux.

¿Cómo utiliza NGINX App Protect DoS eBPF?

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

Diagrama que muestra los tipos de ataques contra los que protege NGINX App Protect DoS
NGINX App Protect DoS se puede implementar en NGINX Plus en el equilibrador de carga o la puerta de enlace de API, así como en NGINX Ingress Controller o dentro del clúster como proxy por pod o por servicio. También se puede integrar fácilmente como «seguridad como código» en canalizaciones de CI/CD para prácticas de DevOps ágiles.

Cuando se utiliza con NGINX App Protect DoS, eBPF ofrece la posibilidad de mejorar significativamente la capacidad de absorción de ataques DDoS. NGINX App Protect DoS utiliza eBPF (que no está disponible en el propio NGINX Ingress Controller) como parte de una solución multicapa que acelera la mitigación al bloquear el tráfico de agentes maliciosos, identificados por su dirección IP de origen, ya sea por sí sola o en combinación con la huella digital TLS.

A continuación, veamos los principios básicos del funcionamiento de NGINX App Protect DoS en tres fases: detección de anomalías, creación dinámica de reglas y aprendizaje adaptativo, y aplicación de reglas.

Detección de anomalías

NGINX App Protect DoS supervisa continuamente la aplicación protegida y utiliza el aprendizaje automático para crear un modelo estadístico del sitio basado en el comportamiento de la aplicación y de los clientes. Observa el tráfico en tiempo real y realiza un seguimiento de más de 300 métricas de solicitudes HTTP para establecer una referencia completa de la actividad y el rendimiento que se actualiza constantemente. Además de supervisar de forma pasiva el tráfico de la aplicación, NGINX App Protect DoS también realiza comprobaciones activas del estado de la aplicación y supervisa métricas como los tiempos de respuesta y las solicitudes descartadas.

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

Creación dinámica de reglas y aprendizaje adaptativo

Tras detectar una anomalía, NGINX App Protect DoS crea dinámicamente reglas para identificar y bloquear el tráfico malicioso. Con el objetivo de permitir que los usuarios legítimos accedan a la aplicación y, al mismo tiempo, bloquear a los atacantes maliciosos, genera un perfil estadístico del comportamiento de los clientes para determinar qué usuarios están contribuyendo al ataque y cuáles no.

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

NGINX App Protect DoS implementa una estrategia de defensa multicapa que incluye:

  • Bloqueo de agentes maliciosos en función de la dirección IP o la huella digital TLS
  • Bloqueo de solicitudes maliciosas con firmas de ataque
  • Aplicación de la limitación global de solicitudes

Estas tres medidas de mitigación se aplican de forma gradual para garantizar que se bloquee a los atacantes en la mayor medida posible sin afectar a los usuarios legítimos. Sin embargo, gran parte de la actividad de bloqueo suele producirse en la fase inicial, en la que se combina el bloqueo por dirección IP y huella digital TLS, o se bloquea únicamente por dirección IP. Afortunadamente, estos son precisamente los tipos de reglas que un programa eBPF puede aplicar eficazmente.

Aplicación de reglas

NGINX App Protect DoS utiliza las reglas creadas y las aplica al tráfico entrante de la aplicación para bloquear las solicitudes maliciosas. Dado que todo el tráfico de la aplicación se reenvía mediante proxy a la aplicación de backend (o ascendente) a través del proxy NGINX Plus, las solicitudes que coincidan con las reglas de bloqueo simplemente se descartan y no se envían a la aplicación de backend.

Aunque NGINX Plus es un proxy de alto rendimiento, la carga de trabajo adicional generada por las reglas de ataque y mitigación puede llegar a saturar los recursos disponibles de la plataforma en la que se ejecuta NGINX. Aquí es donde entra en juego eBPF. Al aplicar en el kernel un bloqueo basado únicamente en la dirección IP, o combinarlo con un bloqueo basado en la dirección IP y la huella digital TLS, el tráfico malicioso puede evaluarse y bloquearse de forma temprana en la capa de transporte (capa 4). Esto resulta mucho más eficiente que hacerlo mediante NGINX ejecutándose en el espacio de usuario.

En las plataformas compatibles, cuando NGINX App Protect DoS crea reglas para bloquear a los atacantes en función de la dirección IP de origen o de la huella digital TLS, las reglas se compilan en un programa de código de bytes eBPF que el kernel ejecuta cuando se producen eventos de red (conocidos como hooks). Si un evento de red concreto activa la regla, el tráfico se descarta de forma temprana en la capa 4. Esto ayuda a acelerar la mitigación de DDoS antes de que el tráfico llegue a la capa 7. Dado que toda esta actividad tiene lugar en el kernel, resulta muy eficiente y permite filtrar más tráfico (antes de agotar los recursos) que cuando las reglas se implementan en el espacio de 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 que llegue al espacio de usuario, lo que acelera la mitigación de DDoS y reduce los costes de computación.

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

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

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

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

  1. Instale el paquete NGINX App Protect DoS compatible con eBPF y realice las tareas adicionales necesarias. (Consulte la documentación de instalación para obtener más información, 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. Añada la siguiente directiva en el bloque http{} de la configuración de NGINX Plus.
protect_dos_accelerated_mitigation on;
  1. Vuelva a cargar 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 procesamiento de tráfico de alta eficiencia que ofrece la ejecución de eBPF en el kernel proporciona una estrategia acelerada y multicapa de mitigación de ataques DDoS de capa 7, con capacidades mejoradas para hacer frente a los actuales ataques DDoS multivector y centrados en las aplicaciones. Además, reduce los costes de infraestructura y computación al disminuir los recursos necesarios para mitigar cualquier ataque DDoS.

Pruebe NGINX App Protect DoS con una prueba gratuita de 30 días o póngase en contacto con nosotros para hablar sobre sus casos de uso.

Recursos adicionales


Compartir

Sobre el autor

Robert Haynes
Robert HaynesResponsable de marketing técnico

Más artículos de Robert Haynes

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.