La red de entrega de contenidos (CDN) de Cloudflare sufrió ayer una caída durante varias horas que hizo que multitud de webs y sistemas online quedasen inaccesibles. X, Canva, el juego League of Legends o ChatGPT fueron solo algunos de los servicios que dejaron de funcionar por la caída de este proveedor, que presta servicio a aproximadamente el 20% de la web. Incluso varios servicios encargados de detectar qué webs o servicios online tienen problemas, como Downdetector, dejaron de funcionar.
Una vez solucionado el problema, el CEO de Cloudflare, Matthew Prince, ha ofrecido una explicación del problema mediante un post en su blog, en el que confirma que la caída se debió a un fallo interno, y no a un ciberataque. El calificado por Prince como su «peor apagón desde 2019″, se debió a un problema de gestión de bots que se ocupa del control de los rastreadores automatizados que están autorizados o no a escanear el contenido de las webs a las que presta servicio con su CDN.
La red de distribución de contenido de Cloudflare se encarga de compartir la carga de contenidos, con el objetivo no solo de agilizar el funcionamiento de las webs que tiene entre sus clientes, sino también de mantener las páginas online y prestando servicio cuando sufran un aumento repentino y/o notable del tráfico que accede a ellas, así como cuando sufren un ataque de denegación de servicio distribuido (DDoS).
Los controladores de bots, donde se originó el problema, se encargan de gestionar los problemas que causan, entre otros, los rastreadores que extraen información de páginas para después utilizarla para el entrenamiento de modelos de IA generativa. La fuente de su problema, sin embargo, no ha sido por estos rastreadores, un ciberataque (la sospecha inicial) o debido a un fallo de DNS, sino que llegó tras diversos cambios en el sistema de permisos de una base de datos.
Al parecer, el modelo de machine learning que impulsa el sistema de gestión de bots mencionado, encargado de generar puntuaciones para las peticiones que viajan a través de su red tiene un archivo de configuración que se actualiza con frecuencia, y que colabora en las peticiones de identificación centralizadas.
Un cambio «en el comportamiento de la query ClickHouse que genera este archivo hizo que tuviese gran cantidad de filas de función duplicadas«. Este cambio hizo que la base de datos ClickHouse duplicase información, generando un aumento rápido del tamaño del archivo hasta superar los límites de memoria preconfigurados. ¿El resultado? La caída «del sistema de proxy principal que gestiona el proceso de tráfico» de los clientes de Cloudflare. En concreto «de cualquier tráfico que depende del módulo de bots«.
En este punto, las empresas que utilizan las normas de Cloudflare para bloquear determinados bots empezaron a devolver falsos positivos, y a bloquear tráfico real. Los clientes de Cloudflare que no utilizan el sistema de puntuación de bots en sus reglas no resultaron afectados.
Después de solucionar el problema, la compañía va a tomar medidas para que no vuelva a suceder el problema. Así, van a reforzar el proceso de los archivos de configuración generados por Cloudflare, para proceder con ellos tal como harían con las entradas generadas por los usuarios.
Además, van a poner en marcha más «interruptores de apagado» para funciones a nivel global, así como a eliminar la posibilidad de que los volcados de memora, u otros informes de errores, puedan sobrecargar los recursos del sistema. Por último, también van a revisar los modelos de fallo para las condiciones de error en todos los módulos proxy principales.