Установка SSL-сертификата на Exchange Server 2013/2016

Продвинутый4 мин. чтения

Установка SSL сертификата Exchange Server 2013/2016 — пошаговая инструкция с командами PowerShell и настройкой через EAC (Exchange Admin Center). Для создания PFX-файла перед установкой читайте: создание PFX файла через OpenSSL. Документация Microsoft: learn.microsoft.com/exchange.

Подготовка файлов сертификата

Когда мы покупаем SSL-сертификат, например, у GlobalSign или Digicert (да и у многих других удостоверяющих центров), обычно предоставляют как минимум два основных файла:

Приватный ключ (Private Key): Это секретная часть, часто файл с расширением .key или просто текстовый файл, для удобства называю private.txt

Сертификат сервера (Public Key / Certificate): Это публичная часть, выданная УЦ. Обычно это файл .crt или .cer, который назову my.crt

Промежуточные/корневые сертификаты (Intermediate/Root CA Certificates): Иногда они идут отдельными файлами, иногда уже включены в основной .crt файл или предоставлены как ca-bundle.crt. Для корректной работы и доверия со стороны клиентов важно, чтобы была полная цепочка сертификатов. Если они отдельные, я обычно объединяю их с my.crt в один файл

openssl pkcs12 -export -out certificate.pfx -inkey private.txt -in fullchain.crt
  • pkcs12 -export : Это указание OpenSSL создать PFX-файл.
  • -out certificate.pfx : Так я называю итоговый файл, который буду импортировать в Exchange.
  • -inkey private.txt : Здесь я указываю путь к моему файлу с приватным ключом.
  • -in fullchain.crt : Здесь я указываю путь к файлу, который содержит полную цепочку (мой сертификат + промежуточные сертификаты).

Важный момент: При выполнении этой команды OpenSSL попросит вас придумать и ввести пароль. Обязательно запомните его — без него импортировать файл .pfx в Exchange не получится.


Импорт сертификата в Exchange

Когда наш файл certificate.pfx готов, его нужно перенести на сервер с Exchange. Импортировать сертификат можно двумя путями: через веб-интерфейс (EAC) или через консоль PowerShell. Я предпочитаю PowerShell, так как это быстрее и нагляднее.

Способ 1: Через Exchange Management Shell (Рекомендуемый)

Открываем консоль Exchange Management Shell от имени администратора и выполняем следующие команды:

# Задаем пароль, который мы вводили при создании PFX в OpenSSL  
$password = ConvertTo-SecureString -String "ВАШ_ПАРОЛЬ" -AsPlainText -Force

# Импортируем сам сертификат  
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes("C:\путь\к\вашему\certificate.pfx")) -Password $password

После успешного выполнения команды в консоли появится таблица. Нам нужно скопировать значение Thumbprint (Отпечаток) — это длинная строка из букв и цифр, которая понадобится нам на следующем шаге.

Способ 2: Через Exchange Admin Center (EAC)

Если консоль вам не по душе:

  1. Заходим в EAC (https://ваш-сервер/ecp).
  2. Идем в раздел Серверы (Servers) -> вкладка Сертификаты (Certificates).
  3. Выбираем нужный сервер, нажимаем на три точки ... и выбираем Импорт сертификата Exchange (Import Exchange Certificate).
  4. Указываем UNC-путь к файлу (например, \ServerName\C$\Certs\certificate.pfx) и вводим пароль.
  5. Выбираем сервер, на который устанавливаем сертификат, и жмем «Готово».

Назначение служб сертификату

Просто добавить сертификат в хранилище недостаточно. Exchange должен знать, для каких именно служб (IIS, SMTP, POP, IMAP) его использовать.

Снова возвращаемся в Exchange Management Shell. Берем Thumbprint, который мы скопировали на предыдущем шаге, и выполняем привязку:

Enable-ExchangeCertificate -Thumbprint "ВАШ_СКОПИРОВАННЫЙ_THUMBPRINT" -Services "IIS, SMTP, POP, IMAP"
  • IIS: Отвечает за веб-службы (OWA, ECP, ActiveSync, Outlook Anywhere).
  • SMTP: Отвечает за шифрование передачи писем между серверами и клиентами.

Обратите внимание: Если у вас уже был установлен старый сертификат для SMTP, консоль спросит: "Overwrite the existing default SMTP certificate?" (Перезаписать существующий сертификат по умолчанию для SMTP?). Смело нажимайте Y (Да).


Проверка работы

Чтобы убедиться, что всё прошло успешно и мы ничего не сломали:

  1. Проверяем статус в консоли:

    Get-ExchangeCertificate -Thumbprint "ВАШ_СКОПИРОВАННЫЙ_THUMBPRINT" | Format-List Status, NotAfter, Services

    Статус должен быть Valid, а в службах должны числиться те, что мы назначили.

  2. Проверяем визуально: Откройте веб-интерфейс почты (OWA) в браузере. Замочек в адресной строке должен быть безопасным. Кликните на него и убедитесь, что отображается ваш новый сертификат с правильными датами и полным путем доверия.

  3. Не удаляйте старый сертификат сразу:
    Хорошая практика — оставить старый (истекающий) сертификат в системе еще на пару дней. Если вдруг окажется, что в новом сертификате вы забыли прикрепить промежуточную цепочку и у клиентов отвалились телефоны, у вас будет время спокойно всё исправить. Удалить старый сертификат можно позже через тот же EAC или команду Remove-ExchangeCertificate.

Другие заметки

Что такое машинное обучение?

Сегодня хочу поделиться небольшой заметкой про машинное обучение. Машинное обучение это будущее цифрового мира и подраздел искусственного интеллекта, который сосредоточен на использовании данных и алгоритмов для имитации способности человека учиться, постепенно повышая точность своих прогнозов

Linux для всех. Команды. Часть 1

В современной программной инженерии навык работы с командной строкой Linux не является просто “плюсом”, а часто необходимостью. Эффективное использование Linux-команд позволяет специалисту не только быстро и точно выполнять разнообразные задачи

Добро пожаловать!

Рад видеть каждого из вас здесь, на страницах моего блога, который будет целиком и полностью посвящен миру системного администрирования. Сегодня отличная дата, чтобы начать вести данный блог. В эпоху технологий и быстро меняющихся инноваций, считаю важным поделиться своим опытом, знаниями и наблюдениями

Подписаться
Уведомить о
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии