Modificar el certificat TLS de Cyberwatch
Format requerit per al certificat i la clau
El certificat i la clau han d’estar en format PEM.
La clau no ha d’estar xifrada.
Aquest format és només una convenció de noms; l’extensió dels fitxers del certificat i de la clau no té cap valor tècnic real.
Indica que els fitxers esperats estan en format de text, amb el contingut del certificat codificat en base 64 entre les cadenes següents:
-----BEGIN CERTIFICATE-----
...certificat_encodé...
-----END CERTIFICATE-----
Amb Docker Swarm
Copieu el certificat nou al contenidor nginx:
docker cp monfichier.crt $(docker ps -f name=cbwonpremise_nginx -q):/etc/nginx/ssl/nginx.crt docker cp monfichier.key $(docker ps -f name=cbwonpremise_nginx -q):/etc/nginx/ssl/nginx.keyEl fitxer
nginx.crtconté el certificat, seguit, si cal, dels certificats intermedis. No cal modificar els permisos dels fitxers perquè, en iniciar-se, Cyberwatch els assigna a l’usuari del contenidor nginx i en limita l’accés.(Recomanat) Activeu la capçalera HSTS:
Es recomana activar la capçalera HSTS per reforçar la seguretat de les connexions, ja que força l’ús del protocol HTTPS.
Afegiu la línia següent al fitxer
/etc/cyberwatch/containers.env:ENABLE_HSTS="true"Reinicieu Cyberwatch:
sudo cyberwatch restartComproveu els fitxers que veu el contenidor nginx:
sudo cyberwatch exec nginx ls -l /etc/nginx/ssltotal 8 -rw------- 1 nginx nginx 1274 Oct 6 09:22 nginx.crt -rw------- 1 nginx nginx 1705 Oct 6 09:22 nginx.key
El certificat emès per Cyberwatch, que s’utilitza per defecte, es renova automàticament en iniciar-se abans que caduqui. En canvi, Cyberwatch no substitueix mai un certificat que no ha emès: quan s’acosta la data de caducitat, es mostra un avís en iniciar-se i cal instal·lar un certificat nou seguint aquest procediment.
Resolució de problemes
Si Cyberwatch no es reinicia, podeu consultar els registres del contenidor nginx amb l’ordre següent:
sudo cyberwatch logs nginx -f
Si s’ha produït un problema en afegir el certificat nou, hauria d’aparèixer un error en aquests registres.
Una configuració incorrecta del certificat pot provocar una fallada del contenidor nginx. Com que aquest contenidor ha d’estar iniciat per poder reconfigurar el certificat, primer cal tornar a un certificat emès per Cyberwatch:
Substituïu el certificat instal·lat per un certificat emès per Cyberwatch:
sudo cyberwatch renew-certificates --force nginx-sslReinicieu Cyberwatch:
sudo cyberwatch restartTorneu a configurar el certificat seguint el procediment complet descrit més amunt
L’ordre cyberwatch renew-certificates està disponible a partir de la versió 5.32 de la plataforma base.
Amb Kubernetes
- Requisit previ: haver iniciat Cyberwatch almenys una vegada
- Substituïu els fitxers
nginx.crtinginx.keypel certificat i per la clau privada associada, respectivament, a la carpeta/var/lib/volumes/cyberwatch/ssl Reinicieu Cyberwatch:
sudo cyberwatch restart
Amb Podman
Aquest procediment s’aplica a partir de la versió 1.4 de la plataforma base Podman, que emmagatzema el certificat que presenta la interfície web a la carpeta /etc/cyberwatch/ssl.
Copieu el certificat nou i la clau a la carpeta
/etc/cyberwatch/ssli assigneu-los a l’usuaricyberwatchque executa els contenidors:sudo install -o cyberwatch -g cyberwatch -m 600 monfichier.crt /etc/cyberwatch/ssl/nginx.crt sudo install -o cyberwatch -g cyberwatch -m 600 monfichier.key /etc/cyberwatch/ssl/nginx.keyEl fitxer
nginx.crtconté el certificat, seguit, si cal, dels certificats intermedis.(Recomanat) Activeu la capçalera HSTS posant la variable
ENABLE_HSTSatrueal fitxer/etc/cyberwatch/containers.env:ENABLE_HSTS='true'Reinicieu Cyberwatch:
sudo cyberwatch restartComproveu el certificat que presenta la interfície web, al port
8443per defecte:openssl s_client -connect localhost:8443 </dev/null 2>/dev/null | openssl x509 -noout -subject -enddate
Resolució de problemes amb Podman
Si Cyberwatch no es reinicia, hauria d’aparèixer un error relacionat amb el certificat als registres del contenidor nginx:
sudo cyberwatch logs nginx -f
Per tornar a un certificat autosignat, suprimiu el certificat i la clau i, a continuació, reinicieu Cyberwatch. Llavors, el contenidor nginx genera un certificat nou:
sudo rm /etc/cyberwatch/ssl/nginx.crt /etc/cyberwatch/ssl/nginx.key
sudo cyberwatch restart