Управление SSL-сертификатами в почте


Для каждого почтового домена есть возможность подключить отдельный SSL-сертификат. Для этого при создании или редактировании домена нужно включить опцию Защищенное соединение (SSL) после чего  появится список сертификатов, подходящих для доменного имени. Если таковых не найдется, то Вам будет предложено сгенерировать самоподписанный сертификат.

Обратите внимание!

Подключения сертификатов для доменов поддерживается только в *Exim* и *Dovecot*.

Настройка функциональности


Обратите внимание!

Подключение сертификатов к почтовому домену по-умолчанию включено только для новых установок. Поэтому, при обновлении существующей панели, Вам необходимо будет настроить его вручную.

  1. Пройдите в директорию /usr/local/mgr5/etc/ispmgr.conf.d. В ней необходимо отредактировать два файла:

    exim.conf. Добавьте в конец файла конфигурации строку:

     path exim-certdir /путь_до_exim/ssl
    CODE

    dovecot.conf. Добавьте в конец фала конфигурации строку:

     path dovecot-certconf /путь_до_dovecot/certs
    CODE
  2. Отредактируйте файл конфигурации Dovecot, расположенный по пути /путь_до_dovect/conf.d/10-ssl.conf. Там необходимо прописать следующее:

     ssl = yes
     ssl_cert = </etc/exim/ssl/exim.crt
     ssl_key = </etc/exim/ssl/exim.key
     !include_try /путь_до_dovecot/certs/*.conf
    CODE
  3. Отредактируйте файл конфигурации Exim, расположенный по пути /путь_до_exim/exim.conf. Измените существующие настройки SSl на:

     log_selector =  \
           +all_parents \
           +lost_incoming_connection \
           +received_sender \
           +received_recipients \
           +tls_cipher +tls_peerdn +tls_sni \
           +smtp_confirmation \
           +smtp_syntax_error \
           +smtp_protocol_error
    
    # TLS/SSL
     tls_advertise_hosts = *
     tls_certificate = ${if exists{/etc/exim/ssl/${tls_sni}.crt}{/etc/exim/ssl/${tls_sni}.crt}{/etc/exim/ssl/exim.crt}}
     tls_privatekey = ${if exists{/etc/exim/ssl/${tls_sni}.key}{/etc/exim/ssl/${tls_sni}.key}{/etc/exim/ssl/exim.key}}
     daemon_smtp_ports = 25 : 465 : 587
     tls_on_connect_ports = 465
    CODE

Расположение сертификатов


По-умолчанию все создаваемые для пользователя сертификаты лежат в директории /var/www/httpd-cert/имя_пользователя. Поэтому, после редактирования или создания домена, сертификаты для него  подключаются следующим образом:

Для Exim создаются копии сертификата и ключа в директории /путь_к_exim/ssl с именами доменное_имя.crt и доменное_имя.key.

Для Dovecot в директории /etc/email/certs создаются символьные ссылки на сертификат и ключ с именами доменное_имя.crt и доменное_имя.key соответственно.

А в директории /путь_к_dovecot/certs генерируются файлы конфигурации доменное_имя.conf содержащие запись вида:

 local_name доменое_имя {
       ssl_cert = </etc/email/certs/доменное_имя.crt
       ssl_key = </etc/email/certs/доменное_имя.key
 }
CODE

Редактирование сертификата верхнего уровня


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

Для редактирования перейдите Настройки кластера → Узлы кластера. На этой форме кнопка SSL-сертификат становится доступна при выборе почтовой ноды. Далее сохраняется логика работы версий Lite, Pro, Host.

Подключение сертификатов Let's Encrypt


Чтобы подключить к почтовым доменам SSL-сертификат Let's Encrypt:

  1. Получите сертификат Let'Encrypt. Для этого перейдите в Настройки web-сервера → SSL-сертификаты → кнопка Let's Encrypt. Вы можете использовать wildcard-сертификат для ваших почтовых доменов.
  2. Перейдите в ДоменыПочтовые домены → выберите домен → кнопка Изменить → включите опцию Защищенное соединение (SSL) → выберите выпущенный сертификат Let's Encrypt → Ok.

Подробнее о работе сертификатов Let's Encrypt см. в статье Интеграция с Let’s Encrypt.