Включение подписи LDAP в Windows Server

В этой статье описывается, как включить вход ldap в Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 и Windows 11.

Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 11 — все выпуски, Windows 10 — все выпуски
Оригинальный номер базы знаний: 935834

Аннотация

Вы можете значительно повысить безопасность сервера каталогов, настроив на сервере отклонение привязок LDAP уровня простой проверки подлинности и безопасности (SASL), которые не запрашивают подпись (проверка целостности), или отклонение простых привязок LDAP, выполняемых при соединении с незашифрованным текстом (без шифрования SSL/TLS). Привязки SASL могут включать такие протоколы, как Negotiate, Kerberos, NTLM и Digest.

Сетевой трафик без подписи подвержен атакам повторного воспроизведения. В таких атаках злоумышленник перехватывает попытку проверки подлинности и выдачу билета. Злоумышленник может повторно использовать билет для олицетворения допустимого пользователя. Кроме того, сетевой трафик без подписи подвержен атакам типа "злоумышленник в середине" (MIM), когда злоумышленник перехватывает пакеты между клиентом и сервером, изменяет пакеты и перенаправляет их на сервер. Если это происходит на сервере LDAP, злоумышленник может привести к принятию сервером решений, основанных на поддельных запросах от клиента LDAP.

Обнаружение клиентов, не использующих параметр "Требовать подпись"

После внесения этого изменения конфигурации клиенты, использующие привязки LDAP без подписи SASL (Negotiate, Kerberos, NTLM или Digest) или простые привязки LDAP через подключение, отличное от SSL/TLS, перестают работать. Чтобы помочь идентифицировать этих клиентов, сервер каталогов доменных служб Active Directory (AD DS) или сервер упрощенных каталогов (LDS) регистрирует сводный идентификатор события 2887 один раз в 24 часа, чтобы указать, сколько таких привязок произошло. Мы рекомендуем настроить эти клиенты, чтобы не использовать такие привязки. После того как такие события не будут наблюдаться в течение длительного периода, рекомендуется настроить сервер на отклонение таких привязок.

Если для идентификации таких клиентов требуется дополнительная информация, можно настроить сервер каталогов для предоставления более подробных журналов. Это дополнительное ведение журнала записывает в журнал событие с идентификатором 2889, когда клиент пытается выполнить привязку LDAP без подписи. В записи журнала отображается IP-адрес клиента и удостоверение, которое клиент пытался использовать для проверки подлинности. Это дополнительное ведение журнала можно включить, установив для параметра диагностики 16 событий интерфейса LDAPзначение 2 (базовое). Дополнительные сведения об изменении параметров диагностики см. в разделе "Настройка ведения журнала событий диагностики Active Directory и LDS".

Если сервер каталогов настроен на отклонение неподписанных привязок LDAP SASL или простых привязок LDAP через подключение, отличное от SSL/TLS, сервер каталогов регистрирует сводный идентификатор события 2888 один раз каждые 24 часа при выполнении таких попыток привязки.

Настройка каталога для обязательной подписи сервера LDAP для AD DS

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

Использование групповой политики

Как задать требование подписи сервера LDAP

  1. Последовательно выберите "Пуск">"Выполнить", тип mmc.exe, затем нажмите кнопку OK.
  2. Выберите "Добавить>или удалить оснастку файла", редактор управления групповыми политиками и нажмите кнопку "Добавить".
  3. Выберите "Просмотр объектов групповой>политики".
  4. В диалоговом окне "Просмотр объектов групповой политики" выберите политику контроллеров домена по умолчанию в области "Домены, подразделения и связанные объекты групповой политики" и нажмите кнопку ОК.
  5. Нажмите Готово.
  6. Нажмите кнопку ОК.
  7. Выберите Политика контроллеров домена по умолчанию>Конфигурация компьютера>Политики>Настройки Windows>Настройки безопасности>Местные политики, а затем выберите Параметры безопасности.
  8. Щелкните правой кнопкой мыши контроллер домена: требования к подписи сервера LDAP, а затем выберите "Свойства".
  9. В диалоговом окне "Контроллер домена: свойства требований к подписи сервера LDAP" включите "Определить этот параметр политики", выберите "Требовать подписи" в списке "Определить этот параметр политики", а затем нажмите кнопку ОК.
  10. В диалоговом окне "Подтвердить изменение настроек" нажмите "Да".

Как задать требование подписи клиента LDAP с помощью политики локального компьютера

  1. Последовательно выберите "Пуск">"Выполнить", тип mmc.exe, затем нажмите кнопку OK.
  2. Выберите Файл>Добавить или удалить оснастку.
  3. В диалоговом окне Добавление и удаление оснасток выберите Редактор объектов групповой политики, а затем нажмите Добавить.
  4. Нажмите Готово.
  5. Нажмите кнопку ОК.
  6. Последовательно выберите Политика локального компьютера>Конфигурация компьютера>Политики>Параметры Windows>Параметры безопасности>Локальные политики, затем выберите Параметры безопасности.
  7. Щелкните правой кнопкой мыши пункт Сетевая безопасность: требование цифровой подписи для LDAP-клиента, а затем выберите Свойства.
  8. В диалоговом окне Сетевая безопасность: требование цифровой подписи для LDAP-клиента > Свойства выберите в списке пункт Требуется цифровая подпись, затем нажмите кнопку ОК.
  9. В диалоговом окне Подтверждение изменения параметра нажмите Да.

Как задать требование цифровой подписи для LDAP-клиента с помощью объекта групповой политики домена

  1. Последовательно выберите Пуск>Выполнить, введите mmc.exe, затем нажмите кнопку OK.
  2. Выберите Файл>Добавить или удалить оснастку.
  3. В диалоговом окне Добавление и удаление оснасток выберите Редактор объектов групповой политики, а затем нажмите Добавить.
  4. Выберите Обзор, затем выберите Политика домена по умолчанию (или объект групповой политики, для которого требуется включить режим цифровой подписи для LDAP-клиента).
  5. Нажмите кнопку ОК.
  6. Нажмите Готово.
  7. Нажмите Закрыть.
  8. Нажмите кнопку ОК.
  9. Последовательно выберите Политика домена по умолчанию>Конфигурация компьютера>Параметры Windows>Параметры безопасности>Локальные политики, затем выберите Параметры безопасности.
  10. В диалоговом окне Сетевая безопасность: требование цифровой подписи для LDAP-клиента > Свойства выберите в списке пункт Требуется цифровая подпись, затем нажмите кнопку ОК.
  11. В диалоговом окне "Подтвердить изменение настроек" нажмите "Да".

Как задать требование цифровой подписи для LDAP-клиента с помощью разделов реестра

Важно!

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

По умолчанию для служб Active Directory облегченного доступа к каталогам (AD LDS) раздел реестра недоступен. Поэтому необходимо создать запись реестра LDAPServerIntegrity типа REG_DWORD в следующем подразделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<InstanceName>\Parameters

Примечание.

Заполнитель <InstanceName> представляет имя экземпляра AD LDS, который необходимо изменить.

Запись реестра имеет следующие возможные значения:

  • 0. Подписывание отключено.
  • 2. Подписывание включено.

При изменении этого значения новое значение вступает в силу немедленно. Вам не нужно перезагружать компьютер.

Проверка изменений конфигурации

  1. Войдите на компьютер, на котором установлены средства администрирования AD DS.

  2. Последовательно выберите Пуск>Выполнить, введите ldp.exe, затем нажмите кнопку OK.

  3. Последовательно выберите Подключение>Подключиться.

  4. В поле Сервер и Порт введите имя сервера и порт, отличный от SSL/TLS, сервера каталогов, а затем нажмите кнопку ОК.

    Примечание.

    Для контроллера домена Active Directory применимым портом является 389.

  5. После установления подключения выберите Подключение>Привязка.

  6. В разделе Тип привязки выберите Простая привязка.

  7. Введите имя пользователя и пароль, затем нажмите кнопку OK.

    Если отображается следующее сообщение об ошибке, это означает, вы успешно настроили сервер каталогов:

    Ldap_simple_bind_s() failed: требуется строгая проверка подлинности

Справочник по событиям для требований к подписыванию LDAP

Идентификатор события 2886

После запуска служб DS регистрируется событие с идентификатором 2886, чтобы напомнить администраторам о необходимости включения требований к подписи:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2886
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
The security of this directory server can be significantly enhanced by configuring the server to reject SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds that do not request signing (integrity verification) and LDAP simple binds that are performed on a clear text (non-SSL/TLS-encrypted) connection. Even if no clients are using such binds, configuring the server to reject them will improve the security of this server. 
 
Some clients may currently be relying on unsigned SASL binds or LDAP simple binds over a non-SSL/TLS connection, and will stop working if this configuration change is made. To assist in identifying these clients, if such binds occur this directory server will log a summary event once every 24 hours indicating how many such binds occurred. You are encouraged to configure those clients to not use such binds. Once no such events are observed for an extended period, it is recommended that you configure the server to reject such binds. 
 
For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923. 
 
You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Идентификатор события 2887

При обнаружении проблемного клиента, но разрешено, регистрируется сводное событие (событие с идентификатором 2887) за последние 24 часа:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2887
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is not currently configured to reject such binds. The security of this directory server can be significantly enhanced by configuring the server to reject such binds. For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of these binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds performed without signing: <count of binds>

Идентификатор события 2888

При отклонении проблемного клиента регистрируется сводное событие (событие с идентификатором 2888) за последние 24 часа:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2888
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is configured to reject such binds.  This is the recommended configuration setting, and significantly enhances the security of this server. For more details, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of such binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds rejected because they were performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds rejected because they were performed without signing: <count of binds>

Идентификатор события 2889

Когда проблемный клиент пытается подключиться, регистрируется событие с идентификатором 2889:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2889
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
The following client performed a SASL (Negotiate/Kerberos/NTLM/Digest) LDAP bind without requesting signing (integrity verification), or performed a simple bind over a clear text (non-SSL/TLS-encrypted) LDAP connection. 
 
Client IP address:
<IP address>:<TCP port>
Identity the client attempted to authenticate as:
contoso\<username>
Binding Type:
0 – Simple Bind that does not support signing
1 – SASL Bind that does not use signing

Ссылки