Страница 1 из 1

Exchange 2016 - Подгружаем SSL сертификат

Добавлено: 16 май 2020, 00:53
RomA
Задача:
Подгрузить эксченжу SSL-сертификат, в первую очередь что бы пользователи не пугались в веб-интерфейсе недовешенного соединения.

Решение:
Для начала запускаем Exchange PowerShell от имени администратора.
Затем копируем на сервер папку с сертификатом.
Подгружать будем файл с расширением .pfx и паролем 12345678

Код: Выделить всё

Import-ExchangeCertificate -FileName "\\SK-EXCH.corp.local\c$\\cz6.ru\cz6ru_combo_cert_out.pfx" -Password (ConvertTo-SecureString -String '12345678' -AsPlainText -Force)
Будет следующий вывод:
Thumbprint Services Subject
---------- -------- -------
3E7CEE302EE0691BD1B0FD36A2CD8195D619A35 ....... CN=*.cz6.ru
Отлично, сертификат установили, теперь надо сказать где будем его использовать. Например на веб-интерфейсе:

Код: Выделить всё

Get-ExchangeCertificate -ThumbPrint 3E7CEE302EE0691BD1B0FD36A2CD8195D619A35 | Enable-ExchangeCertificate -Services IIS
Номер Thumbprint берём из предыдущего вывода.

Если сертификат выдан на конкретное имя, то его можно привязать и к IMAP4 и к POP3 протоколу

Код: Выделить всё

Get-ExchangeCertificate -ThumbPrint 3E7CEE302EE0691BD1B0FD36A2CD8195D619A35 | Enable-ExchangeCertificate -Services IIS,POP,IMAP,SMTP
Но у меня сертификат был на любое имя, то есть *.cz6.ru, а такой поставить просто так не получится, так что настраиваем дальше

Для начала привяжем сертификат к SMTP. Буду использовать имя mail.cz6.ru

Код: Выделить всё

Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -Fqdn mail.cz6.ru
Удостоверимся что оно вписалось

Код: Выделить всё

Get-ReceiveConnector -Identity "Client Frontend*" | Format-List Name,Fqdn
Выше мы уже получали ThumbPrint, так что просто продолжаем с ним работать

Код: Выделить всё

$TLSCert = Get-ExchangeCertificate -Thumbprint 3E7CEE302EE0691BD1B0FD36A2CD8195D619A35
$TLSCertName = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"
Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -TlsCertificateName $TLSCertName
Ну и проверяем

Код: Выделить всё

Get-ReceiveConnector -Identity "Client Frontend*" | Format-List Name,Fqdn,TlsCertificateName
Get-ReceiveConnector -Identity "Client Frontend*" | Set-ReceiveConnector -AdvertiseClientSettings $true
Думаю будет не лишнем перезапустить транспорт

Код: Выделить всё

Restart-Service MSExchangeTransport
Теперь можно проверять работу отправки писем.

Перейдём к настройке IMAP4. Имя будем использовать тоже mail.cz6.ru

Код: Выделить всё

Set-IMAPSettings -X509CertificateName mail.cz6.ru
Set-ImapSettings -ExternalConnectionSettings "mail.cz6.ru:993:SSL","mail.cz6.ru:143:TLS" -X509CertificateName mail.cz6.ru
Перезапускаем сервис и проверяем что он запустился

Код: Выделить всё

Restart-Service MSExchangeIMAP4; Restart-Service MSExchangeIMAP4BE
Get-Service MSExchangeIMAP4; Get-Service MSExchangeIMAP4BE
Проверяем

Код: Выделить всё

Get-ImapSettings
[PS] C:\Windows\system32>Get-ImapSettings

UnencryptedOrTLSBindings SSLBindings LoginType X509CertificateName
------------------------ ----------- --------- -------------------
{[::]:143, 0.0.0.0:143} {[::]:993, 0.0.0.0:993} SecureLogin mail.cz6.ru
Пробуем авторизоваться

Код: Выделить всё

Test-ImapConnectivity -MailboxCredential (Get-Credential corp.local\roman)
[PS] C:\Windows\system32>Test-ImapConnectivity -MailboxCredential (Get-Credential corp.local\roman)

CasServer LocalSite Scenario Result Latency(MS) Error
--------- --------- -------- ------ ----------- -----
EXCH Default-First Проверьте возмо Удачное 1970.53
-Site-Name жность подключе заверш
ния к IMAP4 ение


Литература:
https://www.ssls.com/knowledgebase/how- ... 013-shell/
https://docs.microsoft.com/ru-ru/exchan ... erver-2019
https://docs.microsoft.com/ru-ru/exchan ... erver-2019
https://docs.microsoft.com/ru-ru/exchan ... erver-2019
https://social.technet.microsoft.com/Fo ... Server2016
http://www.alexxhost.ru/2012/05/wildcar ... -2010.html
https://qna.habr.com/q/247166