El problema fundamental que Cloudflare aborda es la protección de la infraestructura de Internet y las aplicaciones contra amenazas de red a una escala sin precedentes, específicamente ataques de denegación de servicio distribuidos (DDoS), mientras se mantiene una baja latencia para el tráfico legítimo. La solución no es centralizar la mitigación, sino distribuir la inteligencia de seguridad a cada nodo de la red, transformando cada servidor en un punto de defensa autónomo. Esto es crítico en un entorno donde los ataques pueden superar los 30 Tbps y la distinción entre tráfico legítimo (incluyendo crawlers de IA) y malicioso se vuelve cada vez más compleja.
Históricamente, la protección contra DDoS dependía de centros de 'scrubbing' centralizados o appliances dedicados, lo que introducía latencia y puntos únicos de falla. La evolución de la red de Cloudflare, desde un simple CDN a una plataforma de seguridad y computación distribuida, refleja un cambio de paradigma hacia una arquitectura donde la seguridad es intrínseca a la infraestructura de red, no un complemento. Esto se logra mediante la explotación de tecnologías de bajo nivel como eBPF y una red global de interconexiones directas.
Arquitectura del Sistema
La arquitectura de Cloudflare se basa en una red global masivamente distribuida con más de 330 puntos de presencia (PoPs). Cada servidor en estos PoPs ejecuta un conjunto de programas eBPF para el procesamiento de paquetes en el 'data plane'. Cuando un paquete llega a la NIC, es interceptado por una cadena de programas XDP (eXpress Data Path) gestionada por xdpd en modo 'driver'. El programa l4drop es uno de los primeros en esta cadena, evaluando cada paquete contra reglas de mitigación generadas por dosd.
dosd es un demonio de denegación de servicio que se ejecuta en cada servidor. Muestrea el tráfico entrante, identifica los 'heavy hitters' y comparte esta información con otras instancias de dosd dentro del mismo 'colo' (centro de datos). Esta colaboración permite una visión compartida del tráfico y decisiones de mitigación coordinadas. Las reglas de mitigación generadas por dosd se aplican localmente a través de l4drop y se propagan globalmente a través de Quicksilver, un 'distributed key-value store' propietario, asegurando que las reglas lleguen a todos los servidores en segundos. Después de l4drop, los paquetes legítimos son dirigidos a Unimog, el balanceador de carga L4 de Cloudflare, que los distribuye a servidores sanos. Para clientes de Magic Transit, flowtrackd añade inspección TCP 'stateful' para validar flujos de conexión.
Esta misma infraestructura de 'edge' también aloja la plataforma de desarrollo de Cloudflare, incluyendo Workers, KV y Durable Objects. Esto permite que el código de aplicación del cliente se ejecute en los mismos servidores que realizan la mitigación de DDoS, minimizando la latencia y aprovechando la proximidad al usuario. La red también integra protocolos avanzados como IPv6, RPKI para la validación de rutas BGP, y está adoptando ASPA para una validación de rutas más granular, mitigando secuestros de BGP y fugas de rutas.
Flujo de Mitigación de Ataques DDoS en Cloudflare
- 1 NIC Paquetes entrantes llegan a la tarjeta de red.
- 2 XDP Program Chain (xdpd) Los paquetes entran en la cadena de programas eBPF/XDP en modo driver.
- 3 l4drop (eBPF) Evalúa cada paquete contra reglas de mitigación de DDoS.
- 4 dosd (local) Muestrea el tráfico, identifica 'heavy hitters', genera reglas de mitigación.
- 5 dosd (colo-wide) Comparte tablas de 'heavy hitters' con otras instancias de dosd en el mismo c...
- 6 Quicksilver Propaga reglas de mitigación globalmente a todos los servidores en segundos.
- 7 Unimog (L4 Load Balancer) Distribuye paquetes legítimos a servidores sanos.
- 8 flowtrackd (Magic Transit) Inspección TCP 'stateful' para tráfico de red empresarial.
| Capa | Tecnología | Justificación |
|---|---|---|
| networking | eBPF/XDP | Permite la programación del 'data plane' del kernel de Linux para el procesamiento de paquetes de alto rendimiento y la mitigación de DDoS a 'line rate' directamente en la NIC. vs Netfilter/iptables, DPDK, Hardware offloading (ASICs/FPGAs) Ejecución en modo 'driver' para máxima eficiencia, minimizando el consumo de ciclos de CPU de la aplicación. |
| security | dosd | Demonio distribuido que detecta patrones de ataque DDoS, genera reglas de mitigación y comparte información de tráfico entre servidores en un centro de datos. vs Sistemas de detección centralizados, Appliances de mitigación de DDoS Cada instancia opera de forma autónoma pero colabora para una visión de tráfico compartida. |
| messaging | Quicksilver | Distributed Key-Value Store utilizado para la propagación global de reglas de mitigación de DDoS y otros datos de configuración a través de la red de Cloudflare en segundos. vs Apache Kafka, Consul, Etcd |
| compute | Cloudflare Workers (V8 isolates) | Plataforma de computación 'serverless' en el 'edge' que permite a los clientes ejecutar código JavaScript, WebAssembly y contenedores en la misma infraestructura que la mitigación de DDoS. vs AWS Lambda@Edge, Fastly Compute@Edge Uso de V8 isolates para aislamiento y arranque en frío minimizado. |
| networking | RPKI (Resource Public Key Infrastructure) | Sistema de validación criptográfica para rutas BGP, utilizado para prevenir secuestros de BGP y asegurar que el tráfico se enrute a destinos legítimos. vs Filtrado BGP manual Aplicación estricta de validación de origen de ruta (ROV) en el ingreso, rechazando rutas RPKI-inválidas. |
Trade-offs
Ganancias
- ▲▲ Capacidad de mitigación de DDoS
- ▲ Latencia de mitigación
- ▲ Resiliencia de la red
- ▲ Eficiencia de recursos (CPU)
Costes
- ▲ Complejidad de la infraestructura de 'edge'
- ▲ Costos de despliegue global
- △ Riesgo de falsos positivos en mitigación (ej. RPKI)
Fundamentos Teóricos
La estrategia de Cloudflare de distribuir la inteligencia de seguridad a cada nodo de la red, permitiendo que cada servidor tome decisiones de mitigación autónomas y coordinadas, resuena con los principios de los sistemas distribuidos tolerantes a fallos y la computación 'edge'. Conceptos como la 'gossip protocol' para la difusión de información de estado (utilizada por dosd para compartir tablas de 'heavy hitters') y los 'distributed key-value stores' (como Quicksilver) son fundamentales y se han estudiado extensamente en la literatura académica, por ejemplo, en trabajos sobre consistencia eventual y disponibilidad en sistemas a gran escala.
El uso de eBPF/XDP para el procesamiento de paquetes en el 'data plane' se alinea con la investigación en redes programables y 'kernel bypass', buscando mover la lógica de procesamiento de paquetes del espacio de usuario al kernel o incluso a la NIC para mejorar el rendimiento. Esto se relaciona con trabajos sobre 'Software-Defined Networking' (SDN) y 'programmable data planes', donde la lógica de la red se desacopla del hardware subyacente y se puede actualizar dinámicamente. La mitigación de DDoS a 'line rate' en el 'edge' es una aplicación práctica de estos principios, donde la capacidad de programar el 'forwarding plane' con lógica de seguridad es crucial.