Procediment de renovació dels certificats TLS entre el node mestre i els nodes satèl·lit

Aquesta documentació explica com renovar certificats TLS caducats o a punt de caducar.

Els certificats TLS s’utilitzen per garantir una comunicació segura entre el node mestre i el node o els nodes satèl·lit. El procediment requereix renovar primer el certificat del node mestre i, després, el dels nodes satèl·lit.

Diagnòstic de la caducitat d’un certificat

Certificate has expired

Connecteu-vos per SSH al node satèl·lit i executeu l’ordre següent:

sudo cyberwatch logs sidekiq

Si la sortida de l’ordre conté la informació següent, podeu seguir el procediment per renovar els certificats:

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

Conèixer la data de caducitat del certificat arrel del node mestre

Connecteu-vos per SSH al node mestre i executeu l’ordre següent:

openssl x509 -noout -enddate -in /etc/cyberwatch/certs/cbw-root-ca-cert.pem
notAfter=Oct 1 00:00:00 2023 GMT

Això vol dir, en aquest cas, que el certificat deixa de ser vàlid després de l’1 d’octubre de 2023.

Renovar el certificat al node mestre

  1. Connecteu-vos per SSH al node mestre

  2. Feu una còpia de seguretat dels certificats actuals:

    sudo mv /etc/cyberwatch/certs{,.old}
    
  3. Creeu els certificats nous:

    Si cal, afegiu-hi les opcions que necessiti la infraestructura, com ara --no-db o --offline.

    sudo cyberwatch configure --master
    

    Responeu que no al canvi de configuració. Indiqueu l’adreça IP del node mestre i, després, tots els noms de domini que utilitzen els satèl·lits per connectar-se al node mestre. S’utilitzaran com a noms alternatius (Subject Alternative Name).

  4. Comproveu la validesa del certificat nou:

    openssl x509 -noout -enddate -in /etc/cyberwatch/certs/cbw-root-ca-cert.pem
    notAfter=Nov 18 15:08:14 2025 GMT
    

Renovar el certificat al node o als nodes satèl·lit

Versions de cbw-on-premise anteriors a la 5.29: al node satèl·lit només hi ha un fitxer, /etc/cyberwatch/certs/cbw-root-ca-cert.pem. En aquest cas, n’hi ha prou de substituir només aquest fitxer pel certificat nou del node mestre (resultat de sudo cyberwatch show-root-cert al mestre) i, després, reiniciar cyberwatch.

  1. Obteniu el certificat vàlid al node mestre:

    sudo cyberwatch show-root-cert
    
  2. Al node satèl·lit, escriviu el resultat de l’ordre anterior al fitxer /etc/cyberwatch/certs/cbw-root-ca-cert-master.pem:

    sudo vim /etc/cyberwatch/certs/cbw-root-ca-cert-master.pem
    
  3. Concateneu els certificats del satèl·lit i del mestre al fitxer que utilitza l’aplicació:

    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. Reinicieu cyberwatch al node satèl·lit:

    sudo cyberwatch restart
    

Validació del funcionament

  1. Per validar que el node satèl·lit es pot connectar al node mestre amb un certificat vàlid, comproveu els registres de sidekiq:

    sudo cyberwatch logs sidekiq | grep -C 10 "certificate will be verified"
    

    La sortida hauria de ser semblant a aquesta:

    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