Коммерческий SSL сертификат для почтового сервера Zimbra

Процесс установки коммерческого сертификата для почтового сервера Zimbra. Сервер мультидоменный, выбран SAN сертификат (один сертификат для нескольких разных доменов, размещенных на одном сервере). Тип проверки DV (проверяется только право владения доменным именем).

Первым делом заказываем нужный сертификат, указав все домены своего почтового сервера. После подтверждения права владения доменами получаем необходимые файлы .ca, .crt, private-key

Так же от УЦ были получены файлы корневых сертификатов, но на поверку они составляли не правильную цепочку, еще и с истекающим сроком действия.

Поиск по интернет привёл к нужному корневому сертификату

https://www.tbs-certificates.co.uk/FAQ/en/racine-USERTrustRSACertificationAuthority.html

Наконец имеем нужную цепочку сертификатов

Следующий шаг – собрать CA-bundle – файл, который содержит корневые и промежуточные сертификаты в определенном порядке

Теперь, когда файлы подготовлены, можно приступить к установке на сервер. Все команды в консоли выполняются из под пользователя zimbra

Сохраняем приватный ключ на сервер в папку /opt/zimbra/ssl/zimbra/commercial/ под именем commercial.key

Сохраняем сертификат домена и ca-bundle в папку /tmp

Проверим

/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /tmp/mail.himindustrija.com.crt /tmp/mail.himindustrija.com.ca-bundle

Если всё нормально, получаем об этом сообщение
** Verifying '/tmp/mail.himindustrija.com.crt' against '/opt/zimbra/ssl/zimbra/commercial/commercial.key'
Certificate '/tmp/mail.himindustrija.com.crt' and private key '/opt/zimbra/ssl/zimbra/commercial/commercial.key' match.
** Verifying '/tmp/mail.himindustrija.com.crt' against '/tmp/mail.himindustrija.com.ca-bundle'
Valid certificate chain: /tmp/mail.himindustrija.com.crt: OK

Развернём сертификат

/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/mail.himindustrija.com.crt /tmp/mail.himindustrija.com.ca-bundle

** Fixing newlines in '/tmp/mail.himindustrija.com.crt'
Can't rename /tmp/mail.himindustrija.com.crt to /tmp/mail.himindustrija.com.crt.bak: Operation not permitted, skipping file at /opt/zimbra/bin/zmcertmgr line 1239.
** Fixing newlines in '/tmp/mail.himindustrija.com.ca-bundle'
Can't rename /tmp/mail.himindustrija.com.ca-bundle to /tmp/mail.himindustrija.com.ca-bundle.bak: Operation not permitted, skipping file at /opt/zimbra/bin/zmcertmgr line 1239.
** Verifying '/tmp/mail.himindustrija.com.crt' against '/opt/zimbra/ssl/zimbra/commercial/commercial.key'
Certificate '/tmp/mail.himindustrija.com.crt' and private key '/opt/zimbra/ssl/zimbra/commercial/commercial.key' match.
** Verifying '/tmp/mail.himindustrija.com.crt' against '/tmp/mail.himindustrija.com.ca-bundle'
Valid certificate chain: /tmp/mail.himindustrija.com.crt: OK
** Copying '/tmp/mail.himindustrija.com.crt' to '/opt/zimbra/ssl/zimbra/commercial/commercial.crt'
** Copying '/tmp/mail.himindustrija.com.ca-bundle' to '/opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt'
** Appending ca chain '/tmp/mail.himindustrija.com.ca-bundle' to '/opt/zimbra/ssl/zimbra/commercial/commercial.crt'
** Importing cert '/opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt' as 'zcs-user-commercial_ca' into cacerts '/opt/zimbra/common/lib/jvm/java/lib/security/cacerts'
** NOTE: restart mailboxd to use the imported certificate.
** Saving config key 'zimbraSSLCertificate' via zmprov modifyServer mail.himindustrija.com...ok
** Saving config key 'zimbraSSLPrivateKey' via zmprov modifyServer mail.himindustrija.com...ok
** Installing imapd certificate '/opt/zimbra/conf/imapd.crt' and key '/opt/zimbra/conf/imapd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/imapd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/imapd.key'
** Creating file '/opt/zimbra/ssl/zimbra/jetty.pkcs12'
** Creating keystore '/opt/zimbra/conf/imapd.keystore'
** Installing ldap certificate '/opt/zimbra/conf/slapd.crt' and key '/opt/zimbra/conf/slapd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/slapd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/slapd.key'
** Creating file '/opt/zimbra/ssl/zimbra/jetty.pkcs12'
** Creating keystore '/opt/zimbra/mailboxd/etc/keystore'
** Installing mta certificate '/opt/zimbra/conf/smtpd.crt' and key '/opt/zimbra/conf/smtpd.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/smtpd.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/smtpd.key'
** Installing proxy certificate '/opt/zimbra/conf/nginx.crt' and key '/opt/zimbra/conf/nginx.key'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.crt' to '/opt/zimbra/conf/nginx.crt'
** Copying '/opt/zimbra/ssl/zimbra/commercial/commercial.key' to '/opt/zimbra/conf/nginx.key'
** NOTE: restart services to use the new certificates.
** Cleaning up 3 files from '/opt/zimbra/conf/ca'
** Removing /opt/zimbra/conf/ca/ca.key
** Removing /opt/zimbra/conf/ca/ca.pem
** Removing /opt/zimbra/conf/ca/89b766bc.0
** Copying CA to /opt/zimbra/conf/ca
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.key' to '/opt/zimbra/conf/ca/ca.key'
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.pem' to '/opt/zimbra/conf/ca/ca.pem'
** Creating CA hash symlink '89b766bc.0' -> 'ca.pem'
** Creating /opt/zimbra/conf/ca/commercial_ca_1.crt
** Creating CA hash symlink 'fc5a8f99.0' -> 'commercial_ca_1.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_2.crt
** Creating CA hash symlink '65ff7287.0' -> 'commercial_ca_2.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_3.crt
** Creating CA hash symlink 'fc5a8f99.1' -> 'commercial_ca_3.crt'

Убедимся, что правильный сертификат был развернут

/opt/zimbra/bin/zmcertmgr viewdeployedcrt

- imapd: /opt/zimbra/conf/imapd.crt
notBefore=Apr 21 00:00:00 2020 GMT
notAfter=Apr 21 23:59:59 2022 GMT
subject= /CN=mail.himindustrija.com
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
SubjectAltName=mail.himindustrija.com, mail.himindustria.com, mail.himindustria.ru
- ldap: /opt/zimbra/conf/slapd.crt
notBefore=Apr 21 00:00:00 2020 GMT
notAfter=Apr 21 23:59:59 2022 GMT
subject= /CN=mail.himindustrija.com
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
SubjectAltName=mail.himindustrija.com, mail.himindustria.com, mail.himindustria.ru
- mailboxd: /opt/zimbra/mailboxd/etc/mailboxd.pem
notBefore=Apr 21 00:00:00 2020 GMT
notAfter=Apr 21 23:59:59 2022 GMT
subject= /CN=mail.himindustrija.com
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
SubjectAltName=mail.himindustrija.com, mail.himindustria.com, mail.himindustria.ru
- mta: /opt/zimbra/conf/smtpd.crt
notBefore=Apr 21 00:00:00 2020 GMT
notAfter=Apr 21 23:59:59 2022 GMT
subject= /CN=mail.himindustrija.com
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
SubjectAltName=mail.himindustrija.com, mail.himindustria.com, mail.himindustria.ru
- proxy: /opt/zimbra/conf/nginx.crt
notBefore=Apr 21 00:00:00 2020 GMT
notAfter=Apr 21 23:59:59 2022 GMT
subject= /CN=mail.himindustrija.com
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
SubjectAltName=mail.himindustrija.com, mail.himindustria.com, mail.himindustria.ru

Чтобы применить изменения, необходимо перезапустить службы Zimbra

zmcontrol restart