Procedimiento de renovacion de certificados TLS entre nodo maestro y nodos satélite
Esta documentación explica cómo renovar certificados TLS expirados o próximos a expirar.
Los certificados TLS se utilizan para asegurar la comunicación de manera segura entre el nodo maestro y el/los nodos satélite. El procedimiento requiere renovar primero el certificado para el nodo maestro y luego para los nodos satélite.
Diagnostico de expiracion de un certificado
Certificate has expired
Conectarse por SSH al nodo satélite y ejecutar el siguiente comando:
sudo cyberwatch logs sidekiq
Si la salida del comando contiene la siguiente información, entonces es posible seguir el procedimiento para renovar los certificados:
Root CA found and valid, Redis certificate will be verified
[2023-10-30T14:47:12.695545 #1] ERROR -- : TLS/SSL error: certificate has expired
Root CA found and valid, MariaDB certificate will be verified
[2023-10-30T14:47:46.921936 #1] ERROR -- : TLS/SSL error: certificate has expired
Conocer la fecha de expiracion del certificado root del nodo maestro
Conectarse por SSH al nodo maestro y ejecutar el siguiente comando:
openssl x509 -noout -enddate -in /etc/cyberwatch/certs/cbw-root-ca-cert.pem
notAfter=Oct 1 00:00:00 2023 GMT
Esto significa aquí que el certificado no es válido después del 1 de octubre de 2023.
Renovar el certificado en el nodo maestro
Conectarse por SSH al nodo maestro
Realizar una copia de seguridad de los certificados actuales:
sudo mv /etc/cyberwatch/certs{,.old}Crear los nuevos certificados:
Añadir si es necesario, las opciones requeridas por la infraestructura como, por ejemplo,
--no-dbo--offline.sudo cyberwatch configure --masterResponder no al cambio de configuración. Indicar la dirección IP del nodo maestro y luego todos los nombres de dominio utilizados por los satélites para contactar con el nodo maestro. Serán utilizados como nombre alternativo (Subject Alternative Name).
Verificar la validez del nuevo certificado:
openssl x509 -noout -enddate -in /etc/cyberwatch/certs/cbw-root-ca-cert.pem notAfter=Nov 18 15:08:14 2025 GMT
Renovar el certificado en el/los nodos satélite
Versiones anteriores a 5.29 de cbw-on-premise: solo hay un archivo /etc/cyberwatch/certs/cbw-root-ca-cert.pem presente en el nodo satélite. Basta entonces con reemplazar únicamente este archivo por el nuevo certificado del nodo maestro (resultado de sudo cyberwatch show-root-cert en el maestro), y luego reiniciar cyberwatch.
Recuperar el certificado válido en el nodo maestro:
sudo cyberwatch show-root-certEn el nodo satélite, escribir el resultado del comando anterior en el archivo
/etc/cyberwatch/certs/cbw-root-ca-cert-master.pem:sudo vim /etc/cyberwatch/certs/cbw-root-ca-cert-master.pemConcatenar los certificados del satélite y del maestro en el archivo utilizado por la aplicación:
cat /etc/cyberwatch/certs/cbw-root-ca-cert-satellite.pem /etc/cyberwatch/certs/cbw-root-ca-cert-master.pem | sudo tee /etc/cyberwatch/certs/cbw-root-ca-cert.pemReiniciar cyberwatch en el nodo satélite:
sudo cyberwatch restart
Validacion del funcionamiento
Para validar que el nodo satélite puede contactar con el nodo maestro con un certificado válido, comprobar los logs de sidekiq:
sudo cyberwatch logs sidekiq | grep -C 10 "certificate will be verified"La salida debería parecerse a:
Healthcheck completed reporting a successful start Checking if Redis supports TLS Using TLS available on ... Root CA found and valid, Redis certificate will be verified Using Redis URL: rediss://... Checking if MariaDB supports TLS TLS is available for MariaDB Root CA found and valid, MariaDB certificate will be verified