Обычно проверка подлинности контроллера домена в среде Windows является стандартной задачей.
Однако в некоторых ситуациях эта стандартная процедура может быть осложнена необходимостью одновременного использования двух сертификатов для разных сервисов.
Эта проблема может возникнуть, например, если серверу необходимо предоставить один сертификат пользователям домена, а другой — службам.
Похожая проблема возникла в одном из наших проектов, где заказчику требовалось организовать аутентификацию пользователей в домене Microsoft Windows с использованием сертификатов ГОСТ.
Обычно такие проблемы решаются с помощью специализированного инструмента от компании КРИПТО-ПРО, а именно CryptoPro Winlogon. Данный продукт существует на рынке уже достаточно давно и полностью разработан, но иногда при его внедрении могут возникнуть непредвиденные трудности, с которыми пришлось столкнуться нашей компании.
Для его работы рабочая станция, домен и контроллеры домена должны быть настроены соответствующим образом.
Одним из требований при настройке контроллера домена в этом случае является выдача сертификата ГОСТ.
В случае с нашим заказчиком возникла ситуация, когда помимо протокола LDAP использовался протокол LDAP over SSL (LDAPS) для доступа к контроллеру домена с использованием уже установленного на контроллере сертификата RSA. Небольшое отступление: по умолчанию LDAP-трафик не защищен, что дает возможность отслеживать трафик между LDAP-клиентом и сервером.
Чтобы обеспечить безопасную передачу трафика LDAP, необходимо использовать технологию SSL/TLS, или сокращенно LDAPS. LDAPS рекомендуется использовать в следующих случаях:
- если приложения используют проверку подлинности доменных служб Active Directory посредством простой привязки.
Простая привязка передает данные пользователя в открытом виде, поэтому при аутентификации рекомендуется использовать шифрование данных;
- если используется прокси-аутентификация;
- если приложения требуют защиты данных при интеграции с LDAP.
Чтобы активировать LDAPS, необходимо установить доверенный сертификат, выданный центром сертификации (которому доверяют контроллер домена и клиенты LDAPS) в хранилище сертификатов локального компьютера.
В связи с этим возник вопрос о совместном использовании двух сертификатов с использованием разных криптографических алгоритмов при условии использования решения КриптоПро Winlogon, не подразумевающего одновременное использование двух сертификатов на контроллере домена.
Комментарий из инструкции:
Поскольку эта проблема не является массовой, а с учетом того, что добавляется российская криптография, пришлось искать новые подходы к ее решению.
Изучение инструкций и тематических форумов ответа не дало.
В итоге, чтобы решить эту проблему, мне пришлось углубиться в ее изучение и выяснить, как именно контроллер домена использует сертификаты.
Так как же работает выбор сертификата контроллером домена? Когда требуется выбрать сертификат, контроллер обращается к хранилищу сертификатов локального компьютера и использует сертификат из этого хранилища.
В большинстве случаев сертификат будет один, и тогда проблем не будет. Если в хранилище имеется более одного сертификата, контроллер возьмет первый действительный сертификат для аутентификации сервера.
Поэтому использовать в магазине два (или более) сертификата одновременно для разных целей нецелесообразно.
Однако в Windows Server можно законно использовать несколько сертификатов.
Для этого используется отдельное хранилище доменных служб Active Directory (NTDS\Personal), в котором хранится сертификат для доступа LDAPS. В этом случае процесс выбора сертификата можно описать более подробно: контроллер домена сначала обращается к специализированному хранилищу за сертификатом, а в случае неудачной попытки он обращается уже к хранилищу локальной машины.
Чтобы просмотреть хранилище сертификатов службы на контроллере домена, необходимо запустить консоль управления Microsoft (MMC) и добавить оснастку «Сертификаты».
Затем используйте диспетчер сертификатов, чтобы выбрать тип управления сертификатами.
Далее вам необходимо выбрать учетную запись доменных служб Active Directory.
Этот тип использования имеет ряд ограничений, налагаемых Windows. Например, невозможно автоматически обновлять такие сертификаты для сервисов или управлять сертификатами из этого хранилища через командную строку.
Возвращаясь к нашей проблеме, для ее решения нам достаточно было создать стенд с использованием двух сертификатов на основе отечественных и западных криптографических алгоритмов.
В ходе стенда были предприняты следующие шаги:
- в хранилище сертификатов локального компьютера добавлен сертификат ГОСТ для аутентификации сервера при входе пользователей в домен;
- в хранилище сертификатов NTDS\Personal — сертификат контроллера RSA;
- соединение через LDAPS проверено (успешно);
- Аналогично тестировался процесс аутентификации пользователей в домене с помощью сертификата (на этом этапе также не возникло никаких проблем).
С момента внедрения прошло достаточно времени, предложенное нами решение оказалось «рабочим», и у заказчика не возникло никаких проблем с его эксплуатацией.
Теги: #информационная безопасность #сертификаты x.509 #ldaps #Winlogon #active каталог #Active Directory #информационная безопасность
-
План Аварийного Восстановления - (Часть 4)
19 Oct, 24 -
Самый Маленький .Net
19 Oct, 24