Come installare un certificato SSL commerciale su un server Zimbra

Un certificato SSL commerciale su Zimbra può presentare diversi problemi frustranti, anche quando l'autorità di certificazione afferma che il certificato è stato emesso correttamente. I problemi più comuni di solito non riguardano il certificato stesso: la chiave privata non corrisponde al certificato restituito, manca un'autorità di certificazione intermedia, il nome host non è presente nel Subject Alternative Name (SAN) del certificato oppure l'amministratore distribuisce i file prima di convalidare la catena.

Il modo più sicuro per gestire l'operazione è considerarla una sequenza di controlli piuttosto che un singolo comando "installa certificato". Lo strumento per la gestione dei certificati di Zimbra, documentato zmcertmgr, può creare una richiesta di firma del certificato (CSR), verificare la chiave privata e la catena di autorità di certificazione (CA), distribuire il certificato ai servizi Zimbra e mostrare il certificato attualmente attivo. Il Centro assistenza tecnica ufficiale di Zimbra documenta questi comandi nella sua guida "Console di amministrazione e strumenti CLI per la gestione dei certificati" .

Come dovrebbe apparire un'installazione SSL di Zimbra di successo

Prima di apportare qualsiasi modifica, definisci il risultato desiderato. Un'implementazione corretta deve soddisfare tutte queste condizioni:

  • L'elenco SAN del certificato include ogni nome host pubblico effettivamente utilizzato dai client, come ad esempio mail.example.com.
  • Il certificato emesso corrisponde alla chiave privata memorizzata per il certificato commerciale.
  • Zimbra è in grado di convalidare l'intera catena di certificati, dal certificato del server, attraverso i certificati CA intermedi, fino alla CA radice.
  • zmcertmgr deploycrt commSi completa senza errori di mancata corrispondenza della chiave o di convalida della catena.
  • I servizi di Zimbra si riavviano correttamente.
  • zmcertmgr viewdeployedcrtmostra il certificato previsto.
  • Un browser o un client TLS che si connette al nome host pubblico visualizza il nuovo certificato e nessun avviso di attendibilità.

Se uno di questi controlli fallisce, correggi quello specifico livello prima di continuare. Ridistribuire ripetutamente gli stessi file raramente risolve un problema di chiave, SAN o catena.

Prima di iniziare: scegli il flusso di lavoro del certificato corretto

SituazioneApproccio consigliatoCompromesso principale
Nuovo certificato utilizzando un CSR generato da ZimbraGenera il CSR con zmcertmgre conserva quello generatocommercial.keyLa corrispondenza delle chiavi è la più semplice, ma la chiave privata rimane comunque legata a questa installazione di Zimbra.
Certificato rilasciato da una chiave privata esistenteConferma che quella chiave sia quella che Zimbra utilizzerà prima della distribuzione.Utile per le migrazioni, ma è più facile creare una mancata corrispondenza della chiave.
Zimbra a nodo singoloVerifica e distribuisci localmente, quindi riavviaSemplice, con un'unica finestra di manutenzione.
Zimbra multi-nodoPianifica il posizionamento e la distribuzione dei certificati per nodo oppure utilizza le opzioni multi-server supportate da Zimbra.È necessario un maggiore coordinamento; non si deve presumere che una procedura a nodo singolo copra ogni ruolo.

La pagina del Centro assistenza tecnica di Zimbra riporta che su Zimbra 8.7 e versioni successive, zmcertmgril programma viene eseguito come zimbrautente. Documenta inoltre che la chiave privata commerciale deve essere denominata commercial.keyin /opt/zimbra/ssl/zimbra/commerciale che il certificato del server più il file della catena di certificati CA devono essere posizionati in una directory temporanea prima della distribuzione.

Passaggio 1: eseguire il backup del materiale del certificato corrente

Non iniziare eliminando la directory SSL esistente. Crea prima un backup che potrai ripristinare in caso di errore della nuova distribuzione. Come utente root, un esempio prudente è:

cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.backup-$(date +%Y%m%d-%H%M%S)

Annotare inoltre il certificato attualmente in uso prima di modificarlo:

su - zimbra
/opt/zimbra/bin/zmcertmgr viewdeployedcrt

Questo fornisce un punto di riferimento per il confronto dopo la modifica. Se il tuo ambiente ha più nodi Zimbra, acquisisci lo stato corrente del certificato su ciascun server interessato anziché presumere che siano identici.

Passaggio 2: genera una richiesta di firma del certificato (CSR) con i nomi host di cui hai effettivamente bisogno

Per un nuovo certificato commerciale, creare la richiesta di firma del certificato (CSR) con il nome host di produzione e gli eventuali SAN aggiuntivi. La documentazione di Zimbra indica la seguente sintassi:

/opt/zimbra/bin/zmcertmgr createcsr comm -new \
-subject "/C=US/ST=CA/L=Sunnyvale/O=Example/OU=IT/CN=mail.example.com" \
-subjectAltNames "mail.example.com"

Se gli utenti si connettono anche tramite un altro nome, ad esempio webmail.example.com, è necessario includerlo nell'elenco SAN quando si richiede il certificato. I client TLS moderni convalidano i nomi host rispetto ai SAN, quindi un certificato che sembra corretto solo in base al nome comune potrebbe comunque generare un avviso nel browser se il nome host è mancante.

Prima di inviare la richiesta di certificato (CSR), rivedila:

/opt/zimbra/bin/zmcertmgr viewcsr comm /opt/zimbra/ssl/zimbra/commercial/commercial.csr
Esempio da terminale che mostra la creazione di una richiesta di firma di un certificato commerciale Zimbra e i relativi file commercial.csr e commercial.key.
Un flusso di lavoro terminale per la fase CSR, in cui la richiesta commerciale e la chiave privata vengono create prima che la richiesta venga inviata all'autorità di certificazione.

Checkpoint: fermati qui se i nomi DNS richiesti non sono corretti. Emettere prima il certificato e scoprire in seguito la mancanza di un SAN significa che in genere è necessario che l'autorità di certificazione (CA) lo riemetta.

Passaggio 3: raccogliere il certificato del server e la catena completa di CA

Dopo la convalida, la CA commerciale in genere restituisce il certificato del server più uno o più certificati intermedi. La procedura ufficiale di Zimbra per i certificati commerciali a nodo singolo prevede il certificato del server in formato PEM e indica agli amministratori di combinare i certificati CA intermedi e radice in un file di catena.

La disposizione tipica di un allestimento scenico è la seguente:

/tmp/commercial.crt
/tmp/ca_intermediary.crt
/tmp/ca.crt

Quindi costruisci la catena nell'ordine documentato da Zimbra:

cat /tmp/ca_intermediary.crt /tmp/ca.crt > /tmp/ca_chain.crt

Utilizza i file forniti dalla tua autorità di certificazione per il tuo specifico prodotto di certificazione. Non copiare un certificato intermedio da un tutorial non correlato solo perché il nome del marchio CA è simile. Le gerarchie delle CA cambiano nel tempo e l'utilizzo di un certificato intermedio errato è una causa comune di problemi unable to get local issuer certificate.

Esempio da terminale che mostra un certificato intermedio e un certificato radice combinati nel file ca_chain.crt per Zimbra
La fase CA-chain combina il certificato intermedio emittente e il certificato radice nel file della catena che Zimbra verifica insieme al certificato del server.

Passaggio 4: verificare la chiave privata, il certificato del server e la catena prima della distribuzione

Questo è il punto di controllo di sicurezza più importante. Eseguire il comando di verifica documentato come utente Zimbra nelle versioni correnti di Zimbra:

su - zimbra
/opt/zimbra/bin/zmcertmgr verifycrt comm \
/opt/zimbra/ssl/zimbra/commercial/commercial.key \
/tmp/commercial.crt \
/tmp/ca_chain.crt

Una verifica riuscita conferma che il certificato e la chiave privata corrispondono e che il certificato è valido. La documentazione degli strumenti di certificazione di Zimbra spiega che tale verifica verifycrtcombina un controllo della chiave e un controllo della catena di certificati.

Esempio di terminale che mostra zmcertmgr verifycrt mentre controlla la chiave privata commerciale di Zimbra, il certificato del server e la catena di certificati CA.
La fase di verifica dovrebbe confermare sia la corrispondenza tra la chiave e il certificato, sia la catena di autorità di certificazione (CA) prima che qualsiasi certificato venga distribuito.

Se la verifica fallisce, scegli la soluzione in base all'errore

  • Certificato e chiave privata non corrispondenti: il certificato CA non è stato emesso dalla CSR associata all'autorità di certificazione corrente commercial.key. Ripristinare la chiave corretta o riemettere il certificato da una nuova CSR.
  • Impossibile convalidare la catena di certificati: il bundle intermedio/radice è incompleto, nell'ordine sbagliato, scaduto o non corrisponde alla catena del certificato di questo server. Richiedere la catena corretta all'autorità di certificazione emittente.
  • Certificato scaduto: non distribuirlo. Richiedi un certificato valido e verifica anche se un certificato intermedio o radice nella catena è scaduto. Zimbra documenta questa modalità di errore nella sua guida alla risoluzione dei problemi relativi alle CA radice scadute .
  • Nome host mancante: la verifica potrebbe non corrispondere al controllo del nome host eseguito dal browser. Esaminare i SAN emessi e riemetterli se il nome pubblico non è presente.

Passaggio 5: distribuire il certificato commerciale

Solo dopo che la verifica avrà esito positivo, potrai procedere alla distribuzione:

/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/ca_chain.crt

Il processo di implementazione documentato di Zimbra copia il certificato commerciale nella sua area SSL, aggiunge la catena di certificati CA, aggiorna la configurazione del certificato e installa il materiale del certificato per servizi quali MTA, LDAP, proxy e componenti di posta elettronica, a seconda del server.

Non sovrascrivere manualmente keystore Java o file di certificati di servizio casuali, a meno che la documentazione della tua specifica versione di Zimbra non lo richieda espressamente. Lo scopo zmcertmgrè mantenere coerente il materiale dei certificati specifici del servizio.

Passaggio 6: riavviare i servizi di Zimbra

Dopo l'implementazione, riavviare Zimbra:

su - zimbra
zmcontrol restart

Quindi verifica lo stato del servizio:

zmcontrol status

Se un servizio non torna allo stato Running, è necessario indagare prima di dichiarare completata la modifica del certificato. I problemi relativi ai certificati possono influire su LDAP, proxy, caselle di posta o altre comunicazioni dipendenti da TLS, soprattutto in installazioni multi-nodo.

Esempio da terminale che mostra la distribuzione di un certificato commerciale Zimbra, il riavvio di Zimbra e l'output di viewdeployedcrt.
La fase finale lato server distribuisce il certificato verificato, riavvia Zimbra e controlla il certificato segnalato da viewdeployedcrt.

Passaggio 7: verificare il risultato sia da Zimbra che dal lato client

Utilizzate innanzitutto la visualizzazione del certificato fornita da Zimbra:

/opt/zimbra/bin/zmcertmgr viewdeployedcrt

È inoltre possibile verificare se un certificato di servizio distribuito è in scadenza:

/opt/zimbra/bin/zmcertmgr checkcrtexpiration all -days 30

Infine, verifica l'esatto nome host pubblico che gli utenti utilizzano. Un utile controllo OpenSSL da un'altra macchina è il seguente:

openssl s_client -connect mail.example.com:443 -servername mail.example.com -showcerts

Cerca il certificato foglia previsto, il nome host corretto, una catena completa e un risultato di verifica positivo. Quindi apri lo stesso URL HTTPS in un browser corrente. Un test tramite browser è importante perché verifica il nome host effettivamente raggiunto dagli utenti, non solo i file del certificato presenti sul disco.

Quando la procedura standard non è sufficiente

Modifica il tuo approccio anziché forzare i passaggi a nodo singolo se si verifica una qualsiasi di queste condizioni:

  • Zimbra multi-nodo: la distribuzione dei certificati potrebbe dover coprire i ruoli di proxy, mailbox, LDAP e MTA su host diversi. Lo strumento di certificazione di Zimbra supporta opzioni multi-server, ma è necessario verificare la procedura per la propria topologia prima di utilizzarle.
  • Il proxy inverso o il bilanciatore di carico esterno termina la connessione TLS: potrebbe essere necessario installare il certificato pubblico anche su tale dispositivo. Un certificato Zimbra corretto da solo non cambierà ciò che i client vedono se la connessione TLS termina a monte.
  • Stai importando una chiave esistente: assicurati che sia posizionata nella cartella in cui Zimbra si aspetta la chiave privata commerciale e che le autorizzazioni corrispondano ai requisiti della versione prima della verifica.
  • La tua CA fornisce solo un pacchetto intermedio: segui le istruzioni della catena corrente della CA anziché inventare un certificato radice. Zimbra necessita di una catena che possa convalidare; i file esatti dipendono dall'emittente.
  • Il certificato è stato rinnovato con lo stesso hostname ma con una chiave diversa: aggiornare la chiave privata corrispondente prima della verifica. Un certificato precedente commercial.keynon può essere utilizzato per convalidare un certificato emesso per una nuova coppia di chiavi.

Verifica finale

L'installazione è completa solo quando sono vere tutte le seguenti condizioni: verifycrtil test ha deploycrtesito positivo, i servizi Zimbra tornano allo stato "In esecuzione", viewdeployedcrtviene visualizzato il nuovo certificato e una connessione TLS esterna all'hostname reale riceve lo stesso certificato valido senza avvisi di attendibilità o relativi all'hostname.

Per la sintassi dei comandi e il comportamento specifico della versione, fare riferimento principalmente alla documentazione ufficiale di Zimbra relativa agli strumenti per la certificazionemail.example.com . Gli esempi qui riportati sono utilizzati come segnaposto; sostituire i nomi, i file dei certificati e i dettagli organizzativi con i valori emessi per il proprio ambiente.

Lascia un commento

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

Confronta sei server e collettori syslog gratuiti per Windows e Linux, inclusi strumenti con interfaccia grafica, opzioni open source, funzionalità di ricerca, avvisi e trasporto sicuro.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Scopri cosa fa Microsoft IIS, come funzionano la sua pipeline di richieste e i pool di applicazioni e quando Apache, NGINX o Caddy potrebbero essere più adatti alle tue esigenze di server web.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Diagnostica i picchi di utilizzo della CPU del browser Jitsi Meet e riduci il carico del client controllando i riquadri video, gli effetti della fotocamera, la grafica del browser e le impostazioni dell'host.

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Monitora lo stato di salute, il carico della conferenza e il traffico di Jitsi Videobridge con il suo endpoint Prometheus integrato, quindi esplora e visualizza i dati in Grafana.

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Configura un dominio personalizzato per Jitsi Meet Docker con DNS, URL pubblico, HTTPS, Let's Encrypt, porte del firewall, impostazioni NAT e verifica end-to-end.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Scopri come diagnosticare e risolvere l'avviso di configurazione di PHP OPcache di Nextcloud controllando l'SAPI PHP attivo, i limiti di dimensionamento, i commenti e le impostazioni di riconvalida.

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere i problemi di migrazione del database Kopano dopo un aggiornamento di MySQL o MariaDB verificando i backup, le versioni del server, le modalità SQL, il set di caratteri, lo stato dello schema e i log.

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Collega Nextcloud a LDAP o Active Directory con trasporto sicuro, filtri per utenti e gruppi, attributi di accesso e un'implementazione collaudata.

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvi i problemi di notifiche di Element Android sui telefoni senza Google configurando UnifiedPush, le autorizzazioni Android, le impostazioni della batteria ed eseguendo test di verifica affidabili.