El 'Error 500': por qué fallan servicios como Cloudflare y AWS que nos dejan sin conexión
Internet
La infraestructura de la red es robusta, resiliente y llena de automatismo, pero no está exenta de sufrir problemas en muchos casos provocados por errores humanos
Error que indica un fallo en la red de Cloudflare.
Poco antes de las 13 horas del pasado martes, hora española (11.48 h UTC), los internautas de todo el mundo vieron cómo no podían acceder a servicios y aplicaciones como X, Canva, OpenAi o Spotify, entre muchas otras. El problema se localizó en Cloudflare, una de las Content Delivery Network (CDN, por sus siglas en inglés) que más tráfico soporta de la red, que posteriormente explicó que había detectado un pico de tráfico inusual en uno a partir de las 11.20 UTC (12.20 h en España). “Esto ha provocado errores en parte del tráfico que pasaba por la red de Cloudflare”, según explicó la propia empresa en un comunicado.
El problema, aseguró Cloudflare, fue causado por un archivo de configuración generado automáticamente para gestionar el tráfico malicioso. “El archivo superó el tamaño de entrada previsto y provocó un fallo en el sistema de software que gestiona el tráfico de varios servicios. No se hallaron pruebas de un ciberataque ni de actividad maliciosa”, explicó Jackie Dutton, portavoz de la compañía. Según Josep Ruanao, socio de Ackcent Cibersecurity, “no es imposible tumbar Cloudflare con un ataque de fuerza bruta, pero sí muy difícil. La redundancia que tienen estas empresas lo complica mucho. Con las explicaciones que ha dado, todo apunta a un error humano, a un bug en el código”.
Redes de distribución de contenido
Las CDN, como Cloudflare, permiten que el usuario acceda a las webs más rápido, pero también son un cuello de botella cuando sufren un problema
Los usuarios que intentaban acceder a servicios y aplicaciones alojados en centros de datos de Cloudflare recibían el Error 500, conocido como Error interno del servidor, un código genérico que indica que el servidor ha encontrado un problema inesperado al intentar procesar una solicitud, que “puede estar provocado por miles de cosas”, puntualiza Ruano. Las más comunes son errores en la programación del código, directivas incorrectas en archivos de configuración, que el servidor esté sobrecargado, problemas con el acceso a bases de datos y permisos incorrectos para acceder a un archivo.
Una red de distribución de contenidos (CDN) es una red de servidores repartidos por todo el mundo y colocada de modo que al menos uno de ellos esté lo suficientemente cerca del usuario final como para proporcionarle una conexión rápida. Las webs envían a sus visitantes a la CDN, en la que existe una copia exacta del sitio web, en lugar de a sus propios servidores, y de esta manera, les entregan los contenidos más rápido. Las CDN también sirven de protección a los servidores de las páginas web para que no se sobrecarguen en caso de que haya un aumento en el tráfico.
Por otro lado, las CDN pueden ofrecer características avanzadas de protección contra ciberataques, de modo que sus clientes no las tienen que instalar ni mantener en sus propios servidores, lo que acaba resultando en un ahorro de costes.
El problema es que también pueden servir convertirse en un cuello de botella: si estas redes se colapsan, también pueden bloquear todo el tráfico que va a los sitios web a los que prestan servicio. Las consecuencias de estas caídas son fallos de disponibilidad temporales —como los sucedidos el martes— y, en los casos más graves, la pérdida de información con los costes y el impacto en la reputación que ello implica.
Los problemas empezaron el lunes, cuando servicios de captcha que ofrece este CDN dejaron de funcionar”
“El martes, Cloudflare realizó mantenimientos programados en muchos de sus centros de datos, en los cuales se modifica el código. O sea que se puede dar el caso de que se trate de un error humano”, explica Ruano. De hecho, el martes por la tarde, había bastantes centros de datos que aparecían como rerouted en la página de estado de este CDN y Cloudflare aún explicaba que estaba intentando solucionar por completo el incidente.
De hecho, los problemas en Cloudflare empezaron mucho antes. El lunes por la mañana, personas que intentaban comprar entradas para los conciertos de Oques Grasses en el Estadi Olímpic de Barcelona no pudieron hacerlo “porque el captcha de la página desde la que se podían comprar no funcionaba y este es un servicio que le proporciona Cloudflare”, asegura Ruano.
Hay empresas que tienen webs con un único servidor y, cuando este falla, los internautas no pueden acceder
Este es el segundo incidente de este tipo que ocurre en pocos días. El pasado 20 de octubre, un fallo de resolución de DNS en los servidores de Amazon Web Services (AWS) también dejó sin acceso a muchos usuarios a servicios comunes además de problemas de operativa en bancos y aerolíneas. Los servidores tiene que traducir los nombres de las web que los usuarios introducen (por ejemplo lavanguardia.com) en una dirección IP numérica, la DNS, que funciona como el listín telefónico de internet. Si el servidor no sabe hacer esta traducción no puede acceder a la página web que el usuario quiere consultar.
“En el caso de AWS fallaron unas DNS internas que a su vez hicieron que la base de datos Dynamo DB no funcionara correctamente y que provocó una cascada de fallos que hizo que muchos servicios no estuvieran operativos”, dice Ruano. Pero en este particular, no toda la culpa fue de AWS.
“Amazon Web Services se organiza en regiones y estas en zonas de disponibilidad. AWS simepre recomienda a sus clientes que cuando diseñen un sistema, lo hagan pensando en que funcionen en distintas zonas de disponibilidad. Y de hecho se lo pone muy fácil para que lo puedan hacer con facilidad, con ninguna o muy poca complicación técnica. De esta manera, si una de estas zonas tiene un problema, no se verán afectados y podrán continuar trabajando sin interrupción”, explica este experto.
El pasado 20 de octubre, AWS sufrió un problema en una de sus bases de datos más críticas. REUTERS/Anushree Fadnavis/File Photo
De hecho, el pasado 20 de octubre, y a pesar del gran volumen de tráfico que pasa por los servidores de AWS, hubo muchos servicios que no se vieron afectados. “Ese día, el fallo se produjo solo en la zona de disponibilidad de Virgina, de la región USA-1, que es la más importante, incluso para la propia AWS, ya que es donde la compañía lleva a cabo cambios cuando necesita hacerlos para ella misma”, prosigue Ruano. Las empresas que no tenían sus sistemas redundados en otras zonas de disponibilidad fueron las que tuvieron interrupciones de acceso. El problema es que la redundancia, replicar los sistemas en más de un centro de datos, cuesta dinero.
En este sentido, hay expertos que advierten que la infraestructura de internet se ha vuelto peligrosamente sobrecentralizada y que carece de capacidad de recuperación. En opinión de Ruano, “el mercado lleva a esta centralización y, por otra parte, no se puede construir todo de cero cada vez”. Además, cada vez existe más interdependencia entre estas empresas que forman la infraestructura de internet, de manera “que un error en una de ellas crea una cadena de impacto que repercute en las demás”, concluye Ruano.
Los sistemas que más se comprueban son los de los aviones e incluso en estos solo se verifica el 95% del código
En cualquier caso, si se mide el tiempo de caída de internet en los últimos cinco años, es muy poco. “La infraestructura de la red es muy sólida, resiliente y con automatismos que aseguran su buen funcionamiento, pero también es verdad que hay aspectos críticos que son muy frágiles y que dependen de 30 o 40 personas en todo el mundo que modifican código de programación de forma manual en ficheros de texto”, asegura Ruano.
Si muchas de estas interrupciones de internet se deben a errores humanos en la programación, parece que la solución obvia es poner a prueba cada línea de código de la programación de un sistema. “Cada vez que subimos a un avión, debemos tener en cuenta que hay un 5% del código que controla los sistemas que hacen que el aparato vuele que no se ha comprobado nunca. Dicho de otra manera, solo el 95% de la programación de los ordenadores que controlan un avión se ha verificado que funciona correctamente. Y estamos hablando de los sistemas con el porcentaje de validación más alto del mundo. En el resto está entre el 30 y el 40%”, asegura Ruano.
Así, estos cortes seguirán sucediendo en el futuro y es fácil que pasen cosas como esta: en 2008, Pakistán trató de prohibir YouTube en este país. Una operación que había que hacer de forma manual. “Lo hicieron tan mal que lo que consiguieron fue que todo el tráfico mundial de YouTube pasara por la red de Pakistán, que no pudo absorber tanta información, y provocó que el acceso a YouTube en todo el mundo quedara cortado.