Todos los usuarios nos hemos preguntado qué pasó en Facebook los días 22 y 23 de septiembre, cuando no pudimos acceder a la red social. En el mensaje de error a veces aparecía lo siguiente: ‘Service Unavailable – DNS failure.’ Con el fin de comprender mejor cómo funciona facebook, voy a realizar una explicación del problema que tuvo lugar.
Service Unavailable – DNS failure
The server is temporarily unable to service your request. Please try again later.
Reference #(…)
El pasado 24 de septiembre, Facebook sacó un comunicado que hemos conocido a través de su Twitter. En él han querido dar una explicación técnica detalla del error que hubo. Pues bien, resulta que hubo dos problemas. Del primero, tan sólo dicen que se produjo un error y que fue la forma de manejarlo lo que provocó el mal mayor, es decir, el segundo problema. En primer lugar, voy a explicar el segundo error, que es el que más afectó a facebook.
Al parecer, facebook tiene un “sistema automatizado que detecta los valores de la configuración que no son válidos.” La cuestión es que esto funciona cuando hay problemas con el caché, pero no cuando el problema es de la reserva continua (persistent store). Así pues, quisieron solucionarlo cambiando la configuración. Y lo lograron. Sin embargo, se produjo un segundo problema ya que las peticiones de los usuarios para acceder a facebook provocaron que el sistema se colapsase. Además, como funciona almacenando las peticiones, se formó una cola que hubiera tardado mucho más tiempo en resolverse. Así que la solución fue detener el tráfico hacia las bases de datos que estaban sufriendo ese colapso. Más tarde, pudieron reanudar el tráfico a la página.
Ahora bien, investigando he encontrado que la explicación puede ser otra. Al igual que lo que se dice en el mensaje oficial, se produjo un colapso de ciertas bases de datos. La cuestión es qué produjo este colapso. Resulta que Nettica, un tercero proveedor de DNS de facebook, sufrió un ataqué DDoS el día 22 de septiembre.
En primer lugar, Nettica es un proveedor de Sistema de Nombre de Dominio, es decir, la clave para poder dirigirnos a Facebook. Voy a explicar más extensamente qué es esto. Cada página web está alojada en un servidor del que recibe un número que la identifica. Los usuarios dirigimos a ese servidor la petición para acceder a la página. Como es muy complicado memorizar una página según su número, para hacer más sencilla su búsqueda se crearon los nombres de dominio, como es, por ejemplo, “facebook.” Sin embargo, para poder dar ese nombre de dominio a la página se utilizan los proveedores de Sistema de Nombre de Dominio (DNS). Con ello, cada página depende de los proveedores para que se las pueda localizar. Esto nos lleva al problema que hubo durante esos dos días. Sin DNS, facebook tan sólo es un nombre del que no podríamos localizar su número.
Continuando con la explicación, en segundo lugar, un ataque DDoS consiste en colapsar las redes de los servidores para que no se puedan comunicar entre ellos. Entonces, al producirse este problema, Facebook “pierde” su nombre y deja de ser accesible ya que no puede ser localizado. Fue por esto por lo que Facebook estuvo inaccesible esos dos días.
Desde Nettica se afirma que se realizó el mantenimiento de DNS1 la noche del 22 de septiembre tras un ataque DDoS:
‘We are currently performing maintenance on DNS1 tonight as a result of a distributed denial of service attack against our services earlier today.’
Por eso a los usuarios nos aparecía el mensaje de ‘DNS failure.’