Добавление доверенного SSL сертификата в Зимбру
Началось всё с того, что некоторые браузеры начали жаловаться на зимбравский SSL-сертификат, выдавая вот такие ошибки (пара примеров).
Вот Firefox:
или вот андроидная opera:
Т.е. им больше не нравится ключ Диффи-Хелемана и они отказываются заходить на вэб-интерфейс Зимбры.
Конкретно эта проблема решается вот таким образом:
su zimbra
zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA
zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_256_CBC_SHA
zmprov mcf +zimbraSSLExcludeCipherSuites SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
zmmailboxdctl restart
exit
Проблемные шифры отключаются.
Но раз уж я взялся за Зимбру, то за одним решил и доверенный SSL сертификат к ней прикрутить. Для этого в Зимбре есть штатные средства.
Для начала, надо где-то заполучить этот самый доверенный сертификат. Сделать это несложно. И этот процесс я описывал недавно в это статье:
https://typical-admin.ru/obshaya/freebsd/adding-free-trusted-ssl-certificate-on-your-site
Значит, получаю аналогично сертификат от WoSign, скачиваю его и копирую на сервер с Зимброй.
В архиве я вижу ещё несколько вложенных архивов, в которых содержатся готовые сертификаты для разных вэб-серверов. Меня интересует «for Other Server.zip». Именно он, несмотря на то, что там есть и конкретно для апача сертификат.
Надо импортировать доверенный сертификат в Зимбру. Делаю вот поэтому мануалу:
http://wiki.zimbra.com/wiki/Fix_depth_lookup:unable_to_get_issuer_certificate
Описываю этот процесс пошагово. Значит, распаковываю содержимое архива «for Other Server.zip» в какой-нибудь отдельный каталог. И, находясь в этом каталоге, выполняю команды. Выполняю под рутом! Собираю все сертификаты корневого центра в один файл:
cat root.crt 1_cross_Intermediate.crt 2_issuer_Intermediate.crt > ca_bundle.crt
копирую его в специальный зимбровский каталог:
cp ca_bundle.crt /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt
Проверяю, не нарушена ли цепочка сертификатов:
/opt/zimbra/bin/zmcertmgr verifycrt comm 4_user_yourdomain.ru.key 3_user_yourdomain.ru.crt
Если всё в порядке, то вывод должен быть такой:
** Verifying 3_user_yourdomain.ru.crt against 4_user_yourdomain.ru.key
Certificate (3_user_yourdomain.ru.crt) and private key (4_user_yourdomain.ru.key) match.
Valid Certificate: 3_user_yourdomain.ru.crt: OK
Копирую ключ в специальный зимбровский каталог:
cp 4_user_yourdomain.ru.key /opt/zimbra/ssl/zimbra/commercial/commercial.key
И размещаю сертификаты в зимбре:
/opt/zimbra/bin/zmcertmgr deploycrt comm 3_user_yourdomain.ru.crt ca_bundle.crt
Вывод команды должен быть таким:
** Verifying 3_user_yourdomain.ru.crt against /opt/zimbra/ssl/zimbra/commercial/commercial.key
Certificate (3_user_yourdomain.ru.crt) and private key (/opt/zimbra/ssl/zimbra/commercial/commercial.key) match.
Valid Certificate: 3_user_yourdomain.ru.crt: OK
** Copying 3_user_yourdomain.ru.crt to /opt/zimbra/ssl/zimbra/commercial/commercial.crt
** Appending ca chain ca_bundle.crt to /opt/zimbra/ssl/zimbra/commercial/commercial.crt
** Importing certificate /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt to CACERTS as zcs-user-commercial_ca...done.
** NOTE: mailboxd must be restarted in order to use the imported certificate.
** Saving server config key zimbraSSLCertificate...done.
** Saving server config key zimbraSSLPrivateKey...done.
** Installing mta certificate and key...done.
** Installing slapd certificate and key...done.
** Installing proxy certificate and key...done.
** Creating pkcs12 file /opt/zimbra/ssl/zimbra/jetty.pkcs12...done.
** Creating keystore file /opt/zimbra/mailboxd/etc/keystore...done.
** Installing CA to /opt/zimbra/conf/ca...done.
Как видно из этого вывода, Зимбра будет использовать этот сертификат для всех своих сервисов, таких как pop, imap и другие, а не только для вэб-интерфейса. Проверяю размещённый сертификат:
# /opt/zimbra/bin/zmcertmgr viewdeployedcrt
::service mta::
notBefore=Aug 23 13:24:24 2015 GMT
notAfter=Aug 23 13:24:24 2018 GMT
subject= /CN=yourdomain.ru
issuer= /C=CN/O=WoSign CA Limited/CN=WoSign CA Free SSL Certificate G2
SubjectAltName= yourdomain.ru, yourdomain1.ru, yourdomain2.ru, yourdomain3.ru
::service proxy::
notBefore=Aug 23 13:24:24 2015 GMT
notAfter=Aug 23 13:24:24 2018 GMT
subject= /CN=yourdomain.ru
issuer= /C=CN/O=WoSign CA Limited/CN=WoSign CA Free SSL Certificate G2
SubjectAltName= yyourdomain.ru, yourdomain1.ru, yourdomain2.ru, yourdomain3.ru
::service mailboxd::
notBefore=Aug 23 13:24:24 2015 GMT
notAfter=Aug 23 13:24:24 2018 GMT
subject= /CN=yourdomain.ru
issuer= /C=CN/O=WoSign CA Limited/CN=WoSign CA Free SSL Certificate G2
SubjectAltName= yourdomain.ru, yourdomain1.ru, yourdomain2.ru, yourdomain3.ru
::service ldap::
notBefore=Aug 23 13:24:24 2015 GMT
notAfter=Aug 23 13:24:24 2018 GMT
subject= /CN=yourdomain.ru
issuer= /C=CN/O=WoSign CA Limited/CN=WoSign CA Free SSL Certificate G2
SubjectAltName= yourdomain.ru, yourdomain1.ru, yourdomain2.ru, yourdomain3.ru
Всё, сертификат в порядке. Теперь надо перезапустить Зимбру и можно наблюдать, что HTTPS-соединение устанавливается уже с новым сертификатом, и браузер на него не жалуется:
Донаты принимаются на кошельки:
Yoomoney:
4100118091867315
Карта Т-Банк (бывший Тиньков):
2200 7017 2612 2077
Карта Альфа-Банк:
2200 1539 1357 2013
Комментарии