SSL-сертификат является обязательным элементом информационной защиты почтового сервера Zimbra OSE. Он позволяет устанавливать защищенное соединение с сервером и обеспечить шифрование данных, чтобы исключить возможность перехвата электронных писем и аутентификационных данных злоумышленниками. По умолчанию к Zimbra отключена возможность установки незащищенного соединения. К примеру, если сразу после установки ввести в строку браузера в качестве адреса почтового сервера http://example.ru, то у вас либо отобразится сообщение об ошибке, так как сервер просто не примет ваше подключение, либо браузер автоматически перенаправит вас на адрес https://example.ru, где вместо ошибки вы получите от браузера предупреждение о подозрительном SSL-сертификате. Если проигнорируете его, попадете в веб-клиент Zimbra OSE. Подобное предупреждение связано с тем, что по умолчанию в Zimbra используется так называемый "самоподписанный" SSL-сертификат, то есть выпущенный самим почтовым сервером и не содержащий упоминаний о доверенных центрах выдачи SSL-сертификатов. Для того, чтобы пользователи не сталкивались с таким предупреждением при заходе на сервер, необходимо установить коммерческий сертификат с не истекшим сроком действия. В данной статье мы расскажем о том, как выпустить, установить и обновить коммерческий SSL-сертификат, а также о том, как использовать во внутренней сети сервер Zimbra OSE с самоподписанным сертификатом.
Пользователь устанавливает SSL-соединение с сервером при каждом подключении. Этот процесс называется "рукопожатием" и происходит прямо во время загрузки страницы. При установке соединения браузер или иное приложение запрашивает у сервера информацию об установленном SSL-сертификате. В ответ сервер отправляет общую информацию об SSL-сертификате и публичный ключ. На стороне пользователя предоставленная информация сверяется со списком авторизованных и доверенных центров сертификации. Если всё в порядке, то в ответ генерируется сеансовый ключ, который шифруется ранее предоставленным публичным ключом и отправляется на сервер. Сервер, в свою очередь, расшифровывает сообщение и сохраняет сеансовый ключ. После этого между пользователем и сервером устанавливается безопасное соединение по протоколу HTTPS и начинается обмен данными. Передающиеся таким образом данные надежно шифруются и не могут быть перехвачены злоумышленниками.
В случае если сервер использует самоподписанный сертификат, на этапе его проверки пользовательское приложение не обнаружит выпустивший его Центр сертификации в базе и признает такое соединение потенциально опасным. Обычно, если соединение устанавливается в браузере, пользователю предлагается самому принять решение о подключении к такому серверу. Если же речь о приложениях или консольных программах, от пользователя могут потребоваться дополнительные действия, чтобы отключить проверку или игнорировать ошибки, которые возникают при проверке сертификата SSL. Также при использовании самоподписанного сертификата часть функций Zimbra может оказаться недоступными. Например коммерческий сертификат требуется для подключения Адресной книги Zextras и получения данных Free/Busy в MS Outlook, а также для подключения мобильных приложений Zextras Drive и Zextras Team к серверу Zimbra OSE.
Коммерческие сертификаты выпускаются и подписываются Центрами сертификации. Они, в свою очередь, делятся на корневые и промежуточные. Корневыми называются центры сертификации, чьи данные содержатся в хранилищах доверенных сертификатов браузеров. К ним, например, относятся такие разработчики популярных браузеров, как Google, Microsoft, Mozilla, Apple, а также Comodo, Thawte, Geotrust, GlobalSign и другие. Промежуточными центрами сертификации называются те центры сертификации, которые подписываются корневыми центрами сертификации и после этого становятся доверенными. Их наличие необходимо для повышения безопасности. Выдача сертификатов осуществляется исключительно промежуточными центрами аутентификации, так как в случае возникновения ошибки выпуска сертификатов или их компрометации не приходилось удалять корневые сертификаты из хранилища браузеров, а можно было просто отозвать сертификаты выданные промежуточными центрами сертификации, которые допустили такую ошибку.
Таким образом, коммерческий SSL-сертификат всегда содержит цепочку данных, в начале которой содержится информация о корневом центре сертификации, а также обо всех промежуточных центрах сертификации. В том случае, если какой-либо центр сертификации в цепочке SSL-сертификата будет скомпрометирован, он будет удален из числа доверенных и сертификаты с данным центром сертификации в цепочке перестанут восприниматься браузерами и другими приложениями как доверенные.
Еще одной характеристикой SSL-сертификата является его ограниченный срок годности. Спустя определенный период времени, действие любого сертификата, будь самоподписанный или коммерческий, заканчивается. В случае окончания срока действия сертификата необходимо выпустить и установить новый.
Создание CSR
Для того, чтобы выпустить коммерческий сертификат, в первую очередь необходимо создать CSR (Certificate Signing Request) — ключ, содержащий запрос на выдачу или подпись SSL сертификата. В Zimbra создание CSR осуществляется из консоли администратора. Для этого перейдите в раздел Настройки - Сертификаты и выберите домен, для которого вы собираетесь установить сертификат. Кликните по нему правой кнопкой мыши и нажмите на "Установить сертификат".
В открывшемся окне "Мастер установки сертификата" выберите домен, для которого будете выпускать CSR, и заполните появившуюся анкету:
Дайджест: Для дайджеста выберите безопасный алгоритм шифрования, например sha256
Длина Ключа: Доступны два значения: 1024 и 2048. Рекомендуется использовать 2048
Обращение: Здесь укажите имя своего домена. Поставьте галочку в "Использовать подстановочное обращение", чтобы заказать подстановочный сертификат, действие которого распространяется на поддомены
Страна: Здесь укажите двухсимвольное обозначение своей страны. России соответствует обозначение RU.
Регион/Область: Укажите имя региона, в котором вы находитесь. Вместо русских букв используйте транслит. Например Tverskaya Oblast.
Город: Укажите город, в котором вы находитесь. Например Tver.
Название организации: Укажите полное название своей организации на английском языке. Например My Company Inc
Подразделение: Укажите отдел компании, который выступает заказчиком сертификата. Например IT
Дополнительное имя субъекта: Рекомендуется оставить это поле пустым.
Обратите внимание, при заполнении заявки на получение коммерческого сертификата вся информация должна вводиться на английском языке. Кроме того нельзя использовать символы < > ~ ! @ # $ % ^ * / \ ( ) ?.,&
После того как все данные корректно введены, в Мастере установки сертификатов появится окно, в котором можно будет загрузить CSR для получения коммерческого сертификата. Для этого нажмите на кнопку "Загрузить CSR" и сохраните полученный файл commercial.csr. Нажмите "Готово", чтобы закрыть Мастер установки сертификатов.
Создать CSR можно и в командной строке при помощи команды /opt/zimbra/bin/zmcertmgr createcsr comm -new -subject "/C=RU/ST=Tverskaya/L=Tver/O='My Company Inc'/CN=example.ru"
Установка коммерческого сертификата
После использования CSR-файла для выпуска SSL-сертификата у выбранного вами удостоверяющего центра, вы получите архив, в котором будут содержаться три файла:
your_domain_name.crt - сертификат вашего домена
DigiCertCA.crt - сертификат удостоверяющего центра
TrustedRoot.crt - сертификат корневого удостоверяющего центра.
Для их установки необходимо воспользоваться тем же мастером установки сертификатов, который использовался для получения CSR, но после выбора домена необходимо отметить "Установить коммерчески подписываемый сертификат" и нажать на кнопку "Далее".
Сертификат: соответствует сертификату вашего домена your_domain_name.crt
Корневой центр сертификации: соответствует сертификату корневого удостоверяющего центра TrustedRoot.crt
Промежуточный центр сертификации: соответствует сертификату удостоверяющего центра DigiCertCA.crt.
В том случае, если у вас несколько промежуточных центров сертификации, можно добавить один или несколько из них, нажав на "Добавить промежуточный центр сертификации".
Нажмите "Далее" и затем кнопку "Установить". Убедиться в том, что сертификат корректно установился, можно просмотрев используемый сертификат домена дважды кликнув мышкой на нем в разделе Настройки - Сертификаты.
Установить сертификат можно и в командной строке. Для этого:
1. Перейдите в папку с распакованными файлами из архива, полученного от Центра сертификации и объедините сертификаты от Центров сертификации в единый файл
cat TrustedRoot.crt DigiCertCA.crt > /tmp/commercial_ca.crt
2. Скопируйте сертификат домена в ту же папку
cp my_domain_com.crt /tmp/commercial.crt
3. Проверьте на целостность сертификат сервера, файл с данными о Центре сертификации, а также приватный ключ
/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /tmp/commercial.crt /tmp/commercial_ca.crt
4. Установите полученные и проверенные сертификаты:
/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/commercial_ca.crt
5. Перезагрузите сервер Zimbra, чтобы изменения вступили в силу
zmcontrol restart
Для установки сертификата от Let's Encrypt убедитесь, что он был получен с параметром --preferred-chain "ISRG Root X1". В том случае, если вы уже получили сертификат без этой опции, используйте параметры --force-renewal --preferred-chain "ISRG Root X1" для его принудительного перевыпуска.
После того как сертификат будет корректно получен, можно установить его в Zimbra OSE от имени Root, введя команды вида:
cp /etc/letsencrypt/live/example.ru/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key chown zimbra:zimbra /opt/zimbra/ssl/zimbra/commercial/commercial.key
wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt
cat /tmp/ISRG-X1.pem >> /etc/letsencrypt/live/example.ruchain.pem
А также от имени пользователя zimbra введя команды вида
sudo su - zimbra
cd ~ /opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /etc/letsencrypt/live/example.ru/cert.pem /etc/letsencrypt/live/example.ru/chain.pem
/opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/exaample.ru/cert.pem /etc/letsencrypt/live/example.ru.tk/chain.pem
Установка самоподписанного сертификата
По умолчанию срок действия самоподписанного сертификата Zimbra составляет 5 лет. Это значительно больше срока поддержки LTS-версий Zimbra OSE и, скорее всего, у администратора сервера не возникнет потребности в том, чтобы его обновлять. Однако все же возникают ситуации, при которых у администратора возникает необходимость обновить самоподписанный сертификат. Сделать это также можно двумя способами: через консоль администратора, с помощью мастера установки сертификата, а также в командной строке.
В первом случае вам потребуется открыть Мастер установки сертификата и выбрать в нем раздел "Установить самозаверяющий сертификат". При нажатии кнопки далее откроется анкета для создания CSR. После ее заполнения вам будет предложено настроить срок действия сертификата. В отличие от выпускаемого при установке сертификата, срок действия этого по умолчанию составляет всего 1 год. После того как укажете желаемый срок действия сертификата, нажмите на кнопку "Установить", чтобы сертификат установился.
В командной строке выполните команды:
/opt/zimbra/bin/zmcertmgr createcrt -new -days 365 (365 - количество дней, которые будет действовать новый сертификат)
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
su - zimbra -c zmcontrol restart
В том случае, если почтовый сервер предназначен для работы исключительно с корпоративными устройствами, можно добавить используемый на нем самоподписанный сертификат в доверенные на машинах пользователей. Для этого экспортируйте используемый сертификат с помощью команд:
sudo su
cd /opt/zimbra/ssl/zimbra/caopenssl x509 -in ca.pem -outform DER -out ~/zimbra.cer
После этого скопируйте полученный сертификат на целевые машины и дважды кликните по нему мышкой. В открывшемся окне нужно выбрать «Установить сертификат» и импортировать его в Мастере импорта сертификатов. Единственный нюанс при его установке, что при выборе хранилища для сертификата необходимо поместить его в хранилище «Доверенные корневые центры сертификации». Кроме того, можно установить данный сертификат через групповые политики. После того, как данный сертификат будет указан в качестве доверенного, браузер и другие приложения не будут сообщать об ошибках при подключении к серверу.
По всем вопросам, связанными c Zextras Suite и Team Pro вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com.