Установка коммерческих и самоподписанных SSL-сертификатов в Zimbra OSE / Хабр

Установка коммерческих и самоподписанных SSL-сертификатов в Zimbra OSE / Хабр Сертификаты

Обновление самоподписанного сертификата microsoft exchange 2007 | покой нам только снится.

Сертификаты используются для шифрования трафика между двумя конечными точками (как клиентами, так и серверами) или для подтверждения конечными точками своей подлинности друг другу.

По умолчанию при установке Microsoft Exchange 2007 генерирует самоподписанный сертификат. Это все конечно хорошо, но дело в том, что срок действия данного сертификата составляет всего один год. Поэтому ежегодно приходится обновлять этот самоподписанный сертификат (точнее не обновлять, а создавать новый, а старый удалять). Данные действия производятся с помощью командлетов PoweShell.

Запрашиваем список сертификатов:

[PS] C:>Get-ExchangeCertificate
Thumbprint                               Services Subject
----------                               -------- -------
522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4  IP.WS   CN=mailsrv
8506DE31EC17E05C5DBEB6044A14BC8C0DBA6CFD  ....S   CN=example.ru, DC=ru, DC=example

Нас интересует первый сертификат, предназначенный для mailsrv. Запросим подробную информацию о данном сертификате:

[PS] C:>Get-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 | fl
AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, Syst
 em.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains : {mailsrv, mailsrv.domain.local}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=mailsrv
NotAfter : 30.08.2021 11:34:56
NotBefore : 30.08.2021 11:34:56
PublicKeySize : 2048
RootCAType : None
SerialNumber : D2AB46C33AB5BEAD4009765561E9DACA
Services : IMAP, POP, IIS, SMTP
Status : Valid
Subject : CN=mailsrv
Thumbprint : 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4

Мы видим, что данный сертификат используется для служб IMAP, POP, IIS, SMTP и срок его действия истекает 30-го августа 2021г. Так как у нас сегодня 29 августа 2021г., то нам пора обновить сертификат. Создаем копию данного сертификата, но с новым сроком действия:

[PS] C:>Get-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 | New-ExchangeCertificate

Confirm
Перезаписать существующий сертификат SMTP по умолчанию "522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4" (срок действия - 30.08.2021 11:34:56) сертификатом
"7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991" (срок действия - 28.08.2021 14:33:40)?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Thumbprint Services Subject
---------- -------- -------
7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 ..... CN=mailsrv

Рассмотрим действия данной команды. Командлет Get-ExchangeCertificate выбирает сертификат с указанным нами отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4, а командлет New-ExchangeCertificate создает на его основе новый сертификат сроком действия на год.

Про сертификаты:  Поговорим о SSL-сертификатах: что это и как выбрать сертификат?

Посмотрим на свойства вновь созданного сертификата:

[PS] C:>Get-ExchangeCertificate -thumbprint 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 | fl

AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, Syst
 em.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains : {mailsrv, mailsrv.domain.local}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=mailsrv
NotAfter : 30.08.2021 14:33:40
NotBefore : 30.08.2021 14:33:40
PublicKeySize : 2048
RootCAType : None
SerialNumber : 88393A70F9C128BC4F65296FAE2AD34E
Services : IMAP, POP, SMTP
Status : Valid
Subject : CN=mailsrv
Thumbprint : 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991

Видно, что новый сертификат не включен для службы IIS. Включаем его следующим командлетом:

[PS] C:>Enable-ExchangeCertificate -thumbprint 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 -services IIS

Еще раз проверяем наш новый сертификат и если все нормально, то удаляем старый с отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4.

[PS] C:Documents and Settingsvalera>Remove-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4

Confirm
Are you sure you want to perform this action?
Удалить сертификат с отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y

Все готово! Теперь год можно не вспоминать о сертификате Microsoft Exchange 2007.

§

Ситуация: в журнале событий постоянно появляется событие с кодом ошибки 4107 и источником события Microsoft-Windows-CAPI2. Данная ошибка возникает из-за закэшированного просроченного сертификата Microsoft Certificate Trust List Publisher.

Для решения данной проблемы необходимо выполнить следующие шаги:

1. Необходимо выполнить команду certutil -urlcache * delete
Примечание: данную команду нужно выполнить для всех пользователей рабочей станции или сервера.

2. Если просроченный сертификат закэширован в одном из локальных системных профилях, то необходимо удалить содержимое следующих папок.

LocalService:
 %windir%ServiceProfilesLocalServiceAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%ServiceProfilesLocalServiceAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData
NetworkService:
 %windir%ServiceProfilesNetworkServiceAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%ServiceProfilesNetworkServiceAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData
LocalSystem:
 %windir%System32configsystemprofileAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%System32configsystemprofileAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData

Создание csr

Для того, чтобы выпустить коммерческий сертификат, в первую очередь необходимо создать CSR (Certificate Signing Request) — ключ, содержащий запрос на выдачу или подпись SSL сертификата. В Zimbra создание CSR осуществляется из консоли администратора. Для этого перейдите в раздел Настройки – Сертификаты и выберите домен, для которого вы собираетесь установить сертификат. Кликните по нему правой кнопкой мыши и нажмите на “Установить сертификат”.

Про сертификаты:  Инструкция по добавлению электронной цифровой подписи в документы Microsoft Word 2003/2007
Переход к Мастеру установки сертификата
Переход к Мастеру установки сертификата

В открывшемся окне “Мастер установки сертификата” выберите домен, для которого будете выпускать CSR, и заполните появившуюся анкету:

Обратите внимание, при заполнении заявки на получение коммерческого сертификата вся информация должна вводиться на английском языке. Кроме того нельзя использовать символы < > ~ ! @ # $ % ^ * / ( ) ?.,&

После того как все данные корректно введены, в Мастере установки сертификатов появится окно, в котором можно будет загрузить CSR для получения коммерческого сертификата. Для этого нажмите на кнопку “Загрузить CSR” и сохраните полученный файл commercial.csr. Нажмите “Готово”, чтобы закрыть Мастер установки сертификатов.

Установка коммерческого сертификата

После использования CSR-файла для выпуска SSL-сертификата у выбранного вами удостоверяющего центра, вы получите архив, в котором будут содержаться три файла:

Для их установки необходимо воспользоваться тем же мастером установки сертификатов, который использовался для получения 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. Проверьте на целостность сертификат сервера, файл с данными о Центре сертификации, а также приватный ключ

Про сертификаты:  Concrete Стальная фибра Hendix 1/50

/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, введя команды вида:

Оцените статью
Мой сертификат
Добавить комментарий