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

  1. Conectarse por SSH al nodo maestro

  2. Realizar una copia de seguridad de los certificados actuales:

    sudo mv /etc/cyberwatch/certs{,.old}
    
  3. Crear los nuevos certificados:

    Añadir si es necesario, las opciones requeridas por la infraestructura como, por ejemplo, --no-db o --offline.

    sudo cyberwatch configure --master
    

    Responder 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).

  4. 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.

  1. Recuperar el certificado válido en el nodo maestro:

    sudo cyberwatch show-root-cert
    
  2. En 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.pem
    
  3. Concatenar 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.pem
    
  4. Reiniciar cyberwatch en el nodo satélite:

    sudo cyberwatch restart
    

Validacion del funcionamiento

  1. 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
    

Volver arriba

English Français Español