¡El CPD está en llamas! Keep calm and DRP
Artículo de Pablo Gómez
Os voy a contar una historia que nos sucedió allá por la mañana del miércoles 10 de marzo de 2021. Los ordenadores y los teléfonos comenzaron a inundarse de alertas de los sistemas de monitorización de nuestra infraestructura. Varias máquinas habían dejado de responder y de dar servicio y el tiempo parecía que corría mucho más rápido de lo normal. Pero, ¿qué demonios ha pasado?
Según avanzaba la mañana fuimos sabiendo que de madrugada, en Estrasburgo, un centro de datos de OVH (donde teníamos alojadas varias máquinas) se había incendiado por completo, al parecer por un problema eléctrico. El incendio tardó en apagarse debido a varios factores como la propia construcción del edificio que ayudaba a la propagación del fuego, las baterías o los generadores de emergencia que se ponían en marcha automáticamente ante la falta de corriente que, por otro lado, los bomberos iban cortando.
Y no era un CPD de andar por casa. Se estima que en los momentos de apogeo del incendio unos 464.000 nombres de dominio dejaron de estar disponibles, correspondientes a 3,6 millones de sitios web. Afortunadamente nadie salió herido pero es el mayor desastre que ha sucedido en un centro de datos (que se sepa).
Volviendo a nuestro caso, se vieron afectados los servicios web de varios clientes y un puñado de aplicaciones internas. ¿Cómo afrontamos la incidencia? ¿Qué hicimos bien, qué hicimos mal y qué aprendimos para la posteridad? Te lo cuento. Para empezar, dimos gracias por tener a mano nuestro DRP.
¿Qué es un DRP (Disaster Recovery Plan)?
Se trata generalmente de un documento y es el primer lugar donde deberías acudir para saber qué hacer en caso de un problema grave en tus sistemas. Léase un incendio, inundación, rotura de la cafetera, corte de energía indefinido, rotura de discos… Debería ser un apartado importante dentro de tu Sistema de Gestión de Seguridad de la Información (SGSI)
RECOMENDACIÓN 1: sobre todo, ten copias de este documento en localizaciones diferentes. Además, ha de estar fácilmente accesible, no puedes pasar horas buscándolo. Y ha de ser autocontenido: si hay links a otros sitios y esos sitios están en llamas, faltará información. El día del desastre lo usamos bastante y pese a que no era perfecto, nos sirvió como buena referencia.
¿Qué debe contener el DRP?
En nuestro caso y siguiendo la intuición y las indicaciones de los oráculos de la ciberseguridad, ese documento tenía un preámbulo con el propósito del documento, la explicación de qué diferentes tipos de respaldo existen, estrategias de redundancia, objetivos de tiempo… en definitiva, terminamos con un documento de más de 50 páginas mientras el CPD estaba ardiendo. Así que:
RECOMENDACIÓN 2: divide tu DRP en dos partes. Una que puedes llamar “Plan operativo” para usar en ese momento de urgencia de desastre y que sea claro, conciso y rápido. Y por otra parte, un “Plan estratégico” con información útil de fondo pero que no es práctico en la urgencia. A nosotros nos ha servido ya a posteriori para quitar la paja del grano y aliviar esos momentos de estrés.
Plan operativo del DRP
Como hemos dicho anteriormente, está diseñado para no perder tiempo, yendo al grano. Puede contener:
Cómo comunicar la emergencia: a quién avisar, por qué medios (teléfono, Slack, Discord…), en qué grupos o salas, etc. Cada persona o grupos de personas ha de tener una responsabilidad y organización para no pisarse y poder llevar a cabo trabajo en paralelo.
Acciones inmediatas que dependerán en cierta medida del problema: cortar la energía, detener servidores, activar tareas de backup…
Restaurar servicios críticos: por orden de mayor a menor urgencia, debe indicar qué sistemas comenzar a restaurar y cómo hacerlo.
RECOMENDACIÓN 3: sé generoso en información, no escatimemos en detalle aquí. Los pasos deben estar tan claros que un estudiante de secundaria podría llevarlos a cabo sin dudar. No sería la primera vez que faltan pasos para acceder a un repositorio, a un contenedor o a un túnel que la documentación da por hecho. Aquel día nos dimos cuenta de que había varios procedimientos que incluían unas claves públicas que se entendían ya instaladas pero que no lo estaban, lo que nos retrasó bastante.
Protocolos de comunicación: qué decir al equipo y a los clientes durante todo el proceso. En este punto evita mentir, exagerar o minimizar; los clientes y tu equipo lo agradecerán.
Plan estratégico del DRP
Este documento es generalmente más detallado y refleja todo aquello que va a ayudar a ejecutar el plan operativo. En este caso debería contener temas como la Infraestructura de IT, tipos de backup, estrategia de las copias de seguridad, análisis de riesgos, tiempos y objetivos de recuperación, mantenimiento del DRP, inventario de equipos y software o registro de los simulacros. No voy a entrar en cada uno de ellos porque la literatura en internet e incluso las respuestas de ChatGPT o DeepSeek son suficientemente extensas. Pero quisiera aprovechar el último punto, los simulacros, para otra recomendación relacionada con la restauración de los backups.
RECOMENDACIÓN 4
Un evento periódico en el calendario ayuda a organizar los simulacros y las restauraciones. Usar estas últimas con un enmascaramiento de datos para recrear entornos preproductivos puede matar dos pájaros de un tiro: validar el backup y tener un entorno fresco cada día. Es relativamente sencillo de organizar con un servidor CI/CD como Jenkins, Gitlab o Github Actions, por mencionar algunas.
Sobre las copias de seguridad.
En este punto cada sistema es diferente y tiene requisitos también diferentes. No voy a entrar por tanto en frecuencias de backup, tipo de backup (completo, incremental, diferencial..), encriptado o en cuánto tiempo conservar esas copias.
Pero hay algunos aprendizajes que nos hemos llevado a lo largo de los años.
RECOMENDACIÓN 5
Ten al menos dos copias de seguridad en dos sitios totalmente diferentes. ¡No valen dos máquinas en el mismo CPD, sobre todo si se incendia el CPD entero! El Plan Operativo deberá tener en cuenta ambas.
Es cómodo disponer de snapshots de contenedores con máquinas completas, Sistema operativo, código y base de datos. En caso de desastre, restauras el contenedor entero y listo. Pero, ¿qué sucede si el problema es un virus y no sabemos en qué momento comenzó la infección? Agradeceremos en ese momento separar por un lado los backups de la base de datos de los backup del resto del código.
Automatiza, automatiza y automatiza. Los procesos de copia de seguridad y de restauración deberían estar lo más automatizados posible, minimizando el error humano y el tiempo de recuperación. Saber que esta automatización existe, que existen los backups y que ambos funcionan me permiten dormir mucho más tranquilo.
Posmortem
Después de la tormenta, siempre llega la calma. En las siguientes 24 horas tras el incendio, todos los clientes tenían servicio al 95% y en 48 horas tenían todo completamente, aunque nuestras aplicaciones internas requirieron algunas horas del fin de semana para terminar de dejarlas finas.
Al final, todos mantuvimos nuestro puesto de trabajo, y llegó el momento de echar la vista atrás y mirar con añoranza esos buenos momentos, esas horas (habitualmente intempestivas) de camaradería, café y buen rollo.
RECOMENDACIÓN 6
Redacta un documento de posmortem donde detallar el desencadenante del desastre, qué se ha hecho bien y sobre todo, qué puntos se pueden mejorar de cara al futuro, con una lista de acciones con responsable para llevar a cabo y mejorar todo el proceso. En nuestro caso desencadenó una mejora de los procesos de automatización de la restauración de algunos backup que todavía tenían mucha carga manual y una simplificación de la infraestructura.
Los pilotos de avión disponen de un procedimiento de emergencia que los guía paso a paso en caso de incidencias para poner el avión y los pasajeros a salvo con la mayor seguridad posible. El DRP me recuerda mucho a estos procedimientos, que se usan cada día en la sombra y afortunadamente no somos conscientes de ello porque han conseguido su objetivo: llevarnos a un lugar seguro. Pero ha sido gracias a que estaban ahí.
Nuestra experiencia usando el DRP como un manual de supervivencia aquella semana fue, dentro de lo que cabe, muy buena y el escenario de vivirla sin él es realmente muy muy desalentador. Igual es un buen momento para preguntar por el vuestro, revisarlo, actualizarlo y quién sabe… ¿quizá mañana ponerlo en práctica?.