Modificare il certificato TLS di Cyberwatch
Formato richiesto per il certificato e la chiave
Il certificato e la chiave devono essere in formato PEM.
La chiave non deve essere cifrata.
Questo formato è solo una convenzione di denominazione: l’estensione dei file del certificato e della chiave non ha un reale valore tecnico.
Indica che i file previsti sono in formato testo, con il contenuto del certificato codificato in base 64 tra le stringhe seguenti:
-----BEGIN CERTIFICATE-----
...certificat_encodé...
-----END CERTIFICATE-----
Con Docker Swarm
Copiare il nuovo certificato nel container 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.keyVerificare la presenza dei file:
sudo cyberwatch exec nginx ls -l /etc/nginx/ssl total 12 -rw-r--r-- 1 root root 424 Aug 20 09:22 dhparams.pem -rw-r--r-- 1 1000 1000 1274 Aug 10 12:20 nginx.crt -rw-r--r-- 1 1000 1000 1705 Aug 10 12:20 nginx.key(Consigliato) Attivare l’header HSTS:
Si consiglia di attivare l’header HSTS per rafforzare la sicurezza delle connessioni, imponendo l’utilizzo del protocollo HTTPS.
Aggiungere la riga seguente nel file
/etc/cyberwatch/containers.env:ENABLE_HSTS="true"Riavviare Cyberwatch:
sudo cyberwatch restart
Troubleshooting
Nel caso in cui Cyberwatch non si riavvii, è possibile consultare i log del container nginx con il comando seguente:
sudo cyberwatch logs nginx -f
Se si è verificato un problema durante l’aggiunta del nuovo certificato, in questi log dovrebbe comparire un errore.
Una configurazione errata del certificato può provocare il crash del container nginx. Poiché questo container deve essere avviato per consentire la riconfigurazione del certificato, quando si verifica questo tipo di errore è necessario seguire la procedura seguente per poter configurare nuovamente il certificato:
Eliminare il volume nginx:
sudo docker volume rm cbwonpremise_data_sslRiavviare l’applicazione Cyberwatch: in assenza del volume, nginx genererà un nuovo certificato autofirmato e riavvierà il container:
sudo cyberwatch restartConfigurare nuovamente il certificato, seguendo la procedura completa descritta sopra
Con Kubernetes
- Prerequisito: aver avviato Cyberwatch almeno una volta
- Sostituire i file
nginx.crtenginx.keyrispettivamente con il certificato e la chiave privata associata nella directory/var/lib/volumes/cyberwatch/ssl Riavviare Cyberwatch:
sudo cyberwatch restart