Как стать автором
Обновить

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Время на прочтение4 мин
Количество просмотров34K
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

Комментарии 13

Процесс выдачи сертификатов полностью автоматизирован.

И далее полтора десятка ручных команд, да еще и с прерыванием сервиса. :)

Не знаю, как на новой Zimbra. На старой (7.1.3) вполне деплоились сертификаты налету. Причём, что интересно, от Comodo — ок, а вот GeoTrust так не подхватился.
Кстати, в техцентре (wiki) Zimbra есть ссылка на скрипт, который это делает автоматически.
wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate
github.com/JimDunphy/deploy-zimbra-letsencrypt.sh

Зануда моде: автор пропустил очень важный кусок создания commecial_ca.crt, который по моему опыту вызывает самый затык у очень многих админов.
Исправим))

Ну да, тут у автора неполный перевод статьи с wiki.
А так конечно же это всё скриптуется, только почему-то не сотрудниками компаний, которые потом за поддержку Zimbra денег хотят. :)

В боевых скриптах стоит использовать опции цертбота pre-hook и post-hook, которые исполняют соответствующие скрипты только если сертификат требует обновления. В pre-hook останавливается zimbra, в post-hook создаются и деплоятся цепочки сертификатов и запускается zimbra
А на каком порту он поднимает временный сервер? 443? Как я понимаю, http(s) запросы могут до почтового сервера вообще не доходить — дропаться где-нибудь на этапе роутера или вообще заворачиваться на другой сервер. В этом случае только ручками?

Для получения сертификата совершенно не обязательно использовать тот же самый сервер, на котором вы будете его использовать (если, конечно, вы не хотите в каком-нибудь tpm закрытый ключ хранить :)). Можете получать на том, куда у вас приходит http, и потом копировать куда надо. Насколько это будет "ручками", зависит от вашего желания писать скрипты для автоматизации процесса (с учетом срока действия сертификата let's encrypt оно практически неминуемо появится).

Как раз таким вариантом и пользуюсь. И очень он мне не нравится — все жду когда же что-то более удобное придумают:)
Как там с wildcard-сертификатами? Будут ли текущие клиенты совместимы в январе, или потом еще ждать?

Итак раз в три месяца:(

Добрый вечер, добавили информацию об автоматизации обновления сертификатов.

Небольшое обновление инструкции для актуальной версии.

В ней кстати уже есть встроенный certbot, хотя бы его ставить не надо

Еще важно, чтоб был включен 80 порт тут:

carbonio-bootstrap
------
5) carbonio-proxy:                          Enabled   
>>   
12) Proxy server mode:                       redirect   
------
su - zextras -c "zmcontrol restart"
#под root:
chown -R zextras:zextras  /opt/zextras/common/certbot/etc/letsencrypt
curl https://letsencrypt.org/certs/isrgrootx1.pem.txt > /opt/isrgrootx1.pem.txt
su - zextras
#тут обязательно надо использовать --preferred-chain "ISRG Root X1", иначе файл chain.pem формируется с лишним сертификатом
#разумеется при первом запуске, нужно будет зарегистрироваться в letsencrypt
/opt/zextras/common/bin/certbot certonly --webroot --preferred-chain "ISRG Root X1" --agree-tos --webroot-path=/opt/zextras --key-type rsa -d mail.example.com 
cd /opt/zextras/ssl/carbonio/commercial
cat /opt/zextras/common/certbot/etc/letsencrypt/live/mail.example.com/chain.pem /opt/isrgrootx1.pem.txt > commercial_ca.crt
cat /opt/zextras/common/certbot/etc/letsencrypt/live/mail.example.com/privkey.pem > commercial.key
cat /opt/zextras/common/certbot/etc/letsencrypt/live/mail.example.com/cert.pem > commercial.crt
zmcertmgr verifycrt comm commercial.key commercial.crt commercial_ca.crt
zmcertmgr deploycrt comm commercial.crt commercial_ca.crt
zmcontrol restart

Зарегистрируйтесь на Хабре, чтобы оставить комментарий