La noche que caducó el SSL
La alerta que nadie quiere recibir
Eran las 2 de la madrugada de un martes. El móvil vibró en la mesilla de noche con una de esas alertas que te hielan la sangre: SSL_CERTIFICATE_EXPIRED. Todos los servicios de cara al público estaban caídos, mostrando esa horrible advertencia de seguridad en el navegador. El pánico inicial fue muy real.
En mis tiempos de sysadmin más tradicional, la solución habría sido una carrera contra el reloj: conectarme al servidor, generar un nuevo CSR, comprar o renovar el certificado, subir los ficheros y reiniciar Nginx. Un proceso manual, estresante y propenso a errores en mitad de la noche. Probablemente, una hora de downtime.
El Toil que nos mordió
Este incidente era la definición perfecta de “toil”: un trabajo manual, repetitivo y que no aporta valor duradero. Renovar un certificado es una tarea mecánica. ¿Por qué una persona tenía que despertarse de madrugada para hacerlo?
El postmortem del día siguiente fue “blameless” (sin culpas), pero directo. La causa raíz no fue que “a alguien se le olvidó renovar el certificado”. La causa raíz fue: “El proceso de renovación de certificados es manual y depende de la memoria humana”.
La Solución SRE: Automatizar hasta olvidar
La acción correctiva fue clara: eliminar la intervención humana del proceso. Decidimos implementar Let’s Encrypt con Certbot.
La configuración fue sorprendentemente sencilla:
- Instalar Certbot en los servidores web.
- Ejecutar un único comando para obtener y configurar los certificados para nuestros dominios.
- Añadir una tarea en
cronque ejecutacertbot renewuna vez por semana.
Y ya está. Magia.
Certbot se encarga de comprobar la fecha de caducidad de los certificados y los renueva automáticamente semanas antes de que caduquen, sin ninguna intervención por mi parte. Desde que implementamos esta solución hace más de dos años, no hemos vuelto a tener una sola interrupción por un certificado caducado.
Obviamente, este tipo de soluciones se han implementado en entornos donde tener un certificado SSL firmado por una empresa como Sectigo, DigiCert o GeoTrust no es explicitamente necesario.
Esta anécdota, aunque simple, fue una lección fundamental en mi camino hacia SRE: Tu trabajo no es ser un héroe a las 2 AM. Tu trabajo es construir un sistema que no te necesite a las 2 AM. La automatización no es un lujo, es la base de la fiabilidad.