Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как установить сертификат ECC (Elliptic Curve Cryptography) в Exchange Server
Начиная с обновления безопасности за ноябрь 2024 г., Microsoft расширила поддержку сертификатов на основе эллиптической криптографии (ECC) в Exchange Server 2016 и 2019.
В этой статье я покажу, как правильно включить поддержку ECC и установить такой сертификат на сервер Exchange.
Онлайн-курс: Планирование и установка Exchange Server 2016 с нуля до запуска в Production.
Курс охватывает все ключевые аспекты управления почтовым сервером: от установки и настройки до обеспечения безопасности и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Что такое сертификат ECC? (Кратко о криптографии на основе эллиптических кривых)
- Когда ECC не подходит для Exchange Server (Ограничения и неподдерживаемые сценарии)
- Поддержка сертификатов ECC в Exchange Server (С каких версий работает и как это реализовано
- Как установить ECC-сертификат в Exchange Server
- Шаг 1. Включение поддержки ECC-сертификатов
- Шаг 2. Установка клиента win-acme
- Шаг 3. Подготовка клиента к работе
- Шаг 4. Открытие порта 80 на сервере Exchange
- Шаг 5. Генерация ECC-сертификата через ACME-клиент
- Шаг 6. Проверка корректности установки
- Заключение
Что такое сертификат 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:
- Войдите на сервер Exchange с правами администратора.
- Перейдите на официальный сайт проекта: https://www.win-acme.com/
- Скачайте последнюю версию клиента (обычно в формате .zip).
- Распакуйте архив в удобную папку, например: C:\Program Files\Lets Encrypt
Совет: Создайте ярлык на рабочем столе к исполняемому файлу wacs.exe — это упростит запуск при последующих действиях.
Шаг 3. Подготовка клиента к работе
По умолчанию клиент win-acme (WACS) генерирует сертификаты с RSA-ключами (3072 бит). Чтобы получить сертификат с ECC-ключом, нам нужно заранее изменить настройки в конфигурационном файле.
Также мы укажем, что закрытый ключ должен быть экспортируемым, чтобы Exchange Server мог автоматически использовать его при установке сертификата.
Что нужно сделать:
- Откройте проводник и перейдите в папку, где установлен win-acme: C:\Program Files\Lets Encrypt
- Найдите файл settings_default.json и откройте его в Блокноте (или любом другом текстовом редакторе).
- Найдите и измените следующие параметры:
"DefaultCsr": "Ec",
"PrivateKeyExportable": true
- Сохраните изменения и закройте файл.
Примечание: При первом запуске 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 закрыт на сервере или на внешнем файрволе — процесс верификации не сработает, и вы не получите сертификат.
Что нужно сделать:
- Убедитесь, что порт 80 открыт в брандмауэре Windows
Откройте PowerShell от имени администратора и выполните:
New-NetFirewallRule -DisplayName "Allow HTTP (port 80)" `
-Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
- Проверьте, открыт ли порт 80 внешне
Если сервер находится за NAT или внешним брандмауэром — убедитесь, что порт 80 проброшен и доступен извне по вашему домену.
После получения сертификата вы можете закрыть порт 80, если он не нужен постоянно.
Шаг 5. Генерация ECC-сертификата через ACME-клиент
Клиент win-acme поддерживает два режима работы:
- Интерактивный режим (меню)
- Автоматический режим (командная строка)
Мы воспользуемся командной строкой, чтобы не тратить время на навигацию по меню и сразу указать все параметры.
Как сгенерировать ECC-сертификат:
- Откройте командную строку (cmd.exe) от имени администратора.
- Перейдите в каталог установки win-acme:
cd "C:\Program Files\Lets Encrypt"
- Выполните команду для генерации сертификата с поддержкой 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 и отображается среди действующих сертификатов.
Как проверить сертификат:
- Откройте Exchange Admin Center (EAC). Обычно доступен по ссылке: https://<имя-сервера>/ecp
- Перейдите в раздел Servers → Certificates (Серверы → Сертификаты)
- Выберите нужный сервер Exchange и убедитесь, что:
- Новый сертификат отображается в списке
- Тип ключа — ECC (ECDSA), а не RSA
- Сертификат привязан к нужным службам: IIS, SMTP, IMAP и др.
- (Опционально) Нажмите на сертификат и откройте свойства, чтобы проверить:
- Срок действия
- Доверенную цепочку
- Установленные службы
Если сертификат не отображается — проверьте журнал установки 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 в Телеграмм или Макс, чтобы узнавать обо всем первым!
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
