Поиск по сайту

telegram

Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!

Как установить сертификат ECC (Elliptic Curve Cryptography) в Exchange Server

Начиная с обновления безопасности за ноябрь 2024 г., Microsoft расширила поддержку сертификатов на основе эллиптической криптографии (ECC) в Exchange Server 2016 и 2019.

В этой статье я покажу, как правильно включить поддержку ECC и установить такой сертификат на сервер Exchange.

Онлайн-курс: Планирование и установка Exchange Server 2016 с нуля до запуска в Production.

Курс охватывает все ключевые аспекты управления почтовым сервером: от установки и настройки до обеспечения безопасности и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.

Что такое сертификат ECC? (Кратко о криптографии на основе эллиптических кривых)

ECC — это современный подход к защите данных с помощью криптографии на основе эллиптических кривых. В отличие от классической RSA, такая система предлагает ряд важных преимуществ:

  • Компактные ключи при той же степени защиты. Ключ ECC длиной всего 256 бит обеспечивает тот же уровень безопасности, что и RSA-ключ длиной 3072 бита. Это означает более эффективную защиту с меньшими затратами.
  • Быстрее и легче на вычисления. Благодаря меньшему размеру ключей ECC требует меньше ресурсов для шифрования и дешифрования данных. Это особенно актуально для серверов с высокой нагрузкой и для устройств с ограниченными вычислительными возможностями — например, смартфонов или IoT-гаджетов.
  • Экономия ресурсов. ECC уменьшает потребление памяти, снижает нагрузку на сеть при передаче ключей и требует меньше места для хранения — всё это делает его идеальным выбором для современных систем.

Когда ECC не подходит для Exchange Server (Ограничения и неподдерживаемые сценарии)

На текущий момент существуют ограничения, при которых сертификаты ECC использовать нельзя.

Microsoft уже работает над расширением поддержки, но пока в следующих сценариях ECC не применяется:

  • Сертификат доверия федерации (используется при организации гибридных конфигураций и взаимодействии с внешними организациями)
  • OAuth-сертификат Exchange Server (применяется для безопасного взаимодействия между приложениями Exchange и другими сервисами)
  • Сценарии аутентификации через AD FS (Active Directory Federation Services) (включая аутентификацию на основе утверждений)

Если вы используете один из этих механизмов, пока оставайтесь на сертификатах RSA.

Поддержка сертификатов ECC в Exchange Server (С каких версий работает и как это реализовано

Exchange Server позволяет назначать SSL-сертификаты отдельным службам, чтобы обеспечить безопасную передачу данных. Ниже — список служб и информация о том, поддерживают ли они сертификаты на базе ECC:

Служба Exchange Поддержка ECC Комментарий
IIS (HTTP/HTTPS) ✅ Да Используется для OWA, ECP, Autodiscover и других веб-служб
POP/IMAP ✅ Да Шифрование почтовых клиентов, использующих эти протоколы
SMTP ✅ Да Защита входящей и исходящей почты
EdgeSync ❌ Нет Пока не поддерживает ECC-сертификаты
Unified Messaging (UM) ✅ Да Поддержка голосовой почты и автоответчиков
Гибрид с Microsoft 365/Office 365 ✅ Да Возможна безопасная работа в гибридных конфигурациях
S/MIME (шифрование электронной почты) ❌ Нет В настоящий момент ECC не поддерживается

Как установить ECC-сертификат в Exchange Server

Важно: Перед началом убедитесь, что Exchange Server 2016 или 2019 обновлён до последней доступной версии. Без актуального патча поддержка ECC работать не будет.

По умолчанию поддержка сертификатов на основе эллиптических кривых в Exchange отключена. Чтобы её включить, необходимо внести изменение в реестр Windows на каждом Exchange-сервере в вашей организации.

Шаг 1. Включение поддержки ECC-сертификатов

Выполните следующую команду PowerShell от имени администратора:


New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics" -Name "EnableEccCertificateSupport" -Value 1 -Type String

После выполнения команды системе может потребоваться до 15 минут, чтобы применить изменения.

Шаг 2. Установка клиента win-acme

Для автоматической выдачи и продления сертификатов от Let's Encrypt мы будем использовать популярный ACME-клиент для Windows — win-acme (WACS). Это лёгкий и надёжный инструмент, который хорошо подходит для автоматизации в среде Windows, включая Exchange Server.

Что делает WACS:

  • Получает SSL-сертификаты от Let's Encrypt
  • Автоматически продлевает их по расписанию
  • Интегрируется с IIS и Exchange
  • Не требует постоянного вмешательства после настройки

Как установить WACS:

  1. Войдите на сервер Exchange с правами администратора.
  2. Перейдите на официальный сайт проекта: https://www.win-acme.com/
  3. Скачайте последнюю версию клиента (обычно в формате .zip).
  4. Распакуйте архив в удобную папку, например: C:\Program Files\Lets Encrypt

Совет: Создайте ярлык на рабочем столе к исполняемому файлу wacs.exe — это упростит запуск при последующих действиях.

Шаг 3. Подготовка клиента к работе

По умолчанию клиент win-acme (WACS) генерирует сертификаты с RSA-ключами (3072 бит). Чтобы получить сертификат с ECC-ключом, нам нужно заранее изменить настройки в конфигурационном файле.

Также мы укажем, что закрытый ключ должен быть экспортируемым, чтобы Exchange Server мог автоматически использовать его при установке сертификата.

Что нужно сделать:

  1. Откройте проводник и перейдите в папку, где установлен win-acme: C:\Program Files\Lets Encrypt
  2. Найдите файл settings_default.json и откройте его в Блокноте (или любом другом текстовом редакторе).
  3. Найдите и измените следующие параметры:

"DefaultCsr": "Ec",
"PrivateKeyExportable": true

  1. Сохраните изменения и закройте файл.

Примечание: При первом запуске wacs.exe клиент автоматически создаст файл settings.json на основе settings_default.json. Если вы уже запускали win-acme, отредактируйте settings.json, а не settings_default.json.

Шаг 4. Открытие порта 80 на сервере Exchange

Для получения сертификата через протокол ACME (Let's Encrypt) клиент win-acme использует временную проверку через порт 80 (HTTP). Это необходимо, чтобы Let's Encrypt могла подтвердить владение доменом и выдать сертификат.

Если порт 80 закрыт на сервере или на внешнем файрволе — процесс верификации не сработает, и вы не получите сертификат.

Что нужно сделать:

  1. Убедитесь, что порт 80 открыт в брандмауэре Windows

Откройте PowerShell от имени администратора и выполните:


New-NetFirewallRule -DisplayName "Allow HTTP (port 80)" `
  -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

  1. Проверьте, открыт ли порт 80 внешне

Если сервер находится за NAT или внешним брандмауэром — убедитесь, что порт 80 проброшен и доступен извне по вашему домену.

После получения сертификата вы можете закрыть порт 80, если он не нужен постоянно.

Шаг 5. Генерация ECC-сертификата через ACME-клиент

Клиент win-acme поддерживает два режима работы:

  • Интерактивный режим (меню)
  • Автоматический режим (командная строка)

Мы воспользуемся командной строкой, чтобы не тратить время на навигацию по меню и сразу указать все параметры.

Как сгенерировать ECC-сертификат:

  1. Откройте командную строку (cmd.exe) от имени администратора.
  1. Перейдите в каталог установки win-acme:

cd "C:\Program Files\Lets Encrypt"

  1. Выполните команду для генерации сертификата с поддержкой ECC:

wacs.exe --target manual `
  --host mail.exoip.com,autodiscover.exoip.com,download.exoip.com `
  --certificatestore My `
  --acl-fullcontrol "network service,administrators" `
  --installation iis,script `
  --installationsiteid 1 `
  --script "./Scripts/ImportExchange.v2.ps1" `
  --scriptparameters "'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'" `
  --verbose

Замените домены на свои, если используете другие.

В процессе вам нужно будет:

  • Нажать n, чтобы не открывать условия обслуживания в браузере
  • Нажать y, чтобы согласиться с условиями обслуживания
  • Ввести свой email-адрес, чтобы получать уведомления о продлении сертификата

Убедись, что скрипт ImportExchange.v2.ps1 существует и корректно настраивает установку сертификата в Exchange.

Шаг 6. Проверка корректности установки

После генерации и установки сертификата с помощью win-acme важно убедиться, что он корректно применён в Exchange Server и отображается среди действующих сертификатов.

Как проверить сертификат:

  1. Откройте Exchange Admin Center (EAC). Обычно доступен по ссылке: https://<имя-сервера>/ecp
  2. Перейдите в раздел Servers → Certificates (Серверы → Сертификаты)
  3. Выберите нужный сервер Exchange и убедитесь, что:
    • Новый сертификат отображается в списке
    • Тип ключа — ECC (ECDSA), а не RSA
    • Сертификат привязан к нужным службам: IIS, SMTP, IMAP и др.
  4. (Опционально) Нажмите на сертификат и откройте свойства, чтобы проверить:
    • Срок действия
    • Доверенную цепочку
    • Установленные службы

Если сертификат не отображается — проверьте журнал установки win-acme и убедитесь, что скрипт импорта отработал без ошибок.

Заключение

Вы узнали, как установить сертификат ECC в Exchange Server с использованием клиента win-acme и бесплатного центра сертификации Let's Encrypt. Важно начать с включения поддержки ECC на каждом сервере Exchange, внеся соответствующее изменение в реестр. Затем необходимо загрузить и настроить клиент win-acme, чтобы он создавал сертификаты именно с использованием эллиптической криптографии, а не по умолчанию с RSA.

Процесс запроса сертификата происходит через HTTP-порт 80, поэтому его необходимо открыть, чтобы пройти проверку владения доменом. После успешной генерации сертификат автоматически устанавливается и привязывается к нужным службам Exchange.

Сертификаты от Let's Encrypt действуют 90 дней, но win-acme настроен на автоматическое продление. Главное — не забывать, что для этого порт 80 должен оставаться открытым.

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как исправить пустую страницу после входа в ECP/OWA на сервере Exchange.

Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в Телеграмм или Макс, чтобы узнавать обо всем первым!

Комментарии (0)

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

0 Значки
Вложения (0 / 5)
Поделитесь своим местоположением