Female photographer - stock.adob
BGP, DNS y la fragilidad de nuestros sistemas críticos
La caída de Facebook y otras redes sociales mostró lo delicado que puede ser mantener la confiabilidad de los sitios y las conexiones de internet.
El 4 de octubre de 2021, Facebook experimentó una interrupción de seis horas. Esta interrupción se extendió a también a WhatsApp, Instagram y Oculus VR. Dada la magnitud de este evento, vamos a profundizar en algunas de las tecnologías de internet en las que regularmente confiamos.
Siempre es culpa del DNS
El DNS es un punto único de falla para los sistemas de internet. DNS (Domain Name System) asigna nombres, como facebook.com, a direcciones IP, lo que permite a los usuarios referirse fácilmente a los sitios por su nombre. DNS, en efecto, proporciona traducción entre nombres y direcciones IP, como una libreta de direcciones. Cuando los servidores DNS de un sitio están inactivos, esta búsqueda no se puede realizar y las personas no podrán acceder a su sitio. Mantener sus servidores DNS activos, operativos y seguros es una pieza fundamental para la confiabilidad del sitio.
Excepto cuando el culpable es BGP
Existe otra tecnología que es al menos tan crítica como el DNS. Este es un protocolo de enrutamiento llamado llamado BGP (Border Gateway Protocol). BGP es el protocolo que permite a los sistemas autónomos (colecciones de grandes redes controladas por una sola entidad) permitir que otros sistemas autónomos sepan cómo llegar a las redes que controlan. No realiza el enrutamiento directamente, sino que es el protocolo que comparte información entre los enrutadores. Una vez recibida esta información, los enrutadores pueden tomar decisiones sobre dónde reenviar los datos.
Metáfora esclarecedora
Usted quiere llegar a la casa de su amigo, pero nunca ha estado ahí. Busca su dirección (eso es como la parte de DNS), y luego necesita averiguar cómo llegar hasta allí, así que va a la intersección más cercana y le pregunta a alguien en qué dirección debe ir. Le dicen que gire a la izquierda. Sigue por ese camino hasta llegar a otra intersección y vuelve a preguntar. Esta persona le dice que vaya a la derecha.
La ruta que tome no siempre será la forma más directa de llegar allí, ni siquiera necesariamente la más rápida, pero lo ayudará a evitar bloqueos de carreteras, puentes colapsados y carreteras inundadas. Suponiendo que todas las personas a las que pregunte tengan buena información, al final llegará a su destino.
El medio por el cual se comunica esa buena información es BGP. Si BGP proporciona información incorrecta, o no le da información sobre cómo llegar a donde quiere ir, pueden suceder cosas malas.
Conclusión
De acuerdo con lo que se ha compartido hasta ahora, la interrupción de Facebook fue causada por un error de configuración en BGP. Esto es lo que comentaron los ingenieros de Facebook: «Durante trabajos de mantenimiento de rutina, se emitió un comando con la intención de evaluar la disponibilidad de la capacidad de la red troncal global, que accidentalmente cortó todas las conexiones de nuestra red troncal, desconectando efectivamente los centros de datos de Facebook a nivel mundial. Nuestros sistemas están diseñados para auditar comandos como estos para evitar errores como este, pero un error en esta herramienta de auditoría le impidió detener correctamente el comando. Esto causó una desconexión completa de nuestras conexiones de servidor entre nuestros centros de datos e internet».
Sobre el autor: Oscar Aguilar, Ingeniero de Soluciones de Seguridad de F5 México. Tiene 15 años de experiencia trabajando en temas de redes y seguridad en empresas como A10 Networks, Lightech y IT Services y Solutions, y cuenta con diplomados en gestión estratégica de ciberseguridad y riesgos por el Instituto Tecnológico Autónomo de México (ITAM), ISC2 CCSP por Cynthus, y en Tecnologías de Ciberseguridad por el Tecnológico de Monterrey.