- How to enable LDAP signing in Windows Server
- Summary
- How to discover clients that do not use the Require signing option
- How to configure the directory to require LDAP server signing for AD DS
- Using Group Policy
- How to set the server LDAP signing requirement
- How to set the client LDAP signing requirement by using local computer policy
- How to set the client LDAP signing requirement by using a domain Group Policy Object
- How to set the client LDAP signing requirement by using registry keys
- How to verify configuration changes
- Как включить подпись LDAP в Windows Server
- Аннотация
- Обнаружение клиентов, которые не используют параметр «Требовать подписи»
- Настройка каталога для обязательной подписи сервера LDAP для AD DS
- Использование групповой политики
- Настройка требования для подписи LDAP на сервере
- Как установить требование подписи LDAP клиента с помощью политики локального компьютера
- Как установить требование подписи LDAP клиента с помощью объекта групповой политики домена
- Как установить требование подписи LDAP клиента с помощью ключей реестра
- Проверка изменений конфигурации
How to enable LDAP signing in Windows Server
This article describes how to enable LDAP signing in Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, and Windows 10.
Original product version: В Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 — all editions
Original KB number: В 935834
Summary
You can significantly improve the security of a directory server by configuring the server to reject Simple Authentication and Security Layer (SASL) LDAP binds that do not request signing (integrity verification), or to reject LDAP simple binds that are performed on a clear text (non-SSL/TLS-encrypted) connection. SASL binds may include protocols such as Negotiate, Kerberos, NTLM, and Digest.
Unsigned network traffic is susceptible to replay attacks. In such attacks, an intruder intercepts the authentication attempt and the issuance of a ticket. The intruder can reuse the ticket to impersonate the legitimate user. Additionally, unsigned network traffic is susceptible to man-in-the-middle (MIM) attacks in which an intruder captures packets between the client and the server, changes the packets, and then forwards them to the server. If this occurs on an LDAP server, an attacker can cause a server to make decisions that are based on forged requests from the LDAP client.
How to discover clients that do not use the Require signing option
After you make this configuration change, clients that rely on unsigned SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds or on LDAP simple binds over a non-SSL/TLS connection stop working. To help identify these clients, the directory server of Active Directory Domain Services (AD DS) or Lightweight Directory Server (LDS) logs a summary Event ID 2887 one time every 24 hours to indicate how many such binds occurred. We recommend that you configure these clients not to use such binds. After no such events are observed for an extended period, we recommend that you configure the server to reject such binds.
If you must have more information to identify such clients, you can configure the directory server to provide more detailed logs. This additional logging will log an Event ID 2889 when a client tries to make an unsigned LDAP bind. The log entry displays the IP address of the client and the identity that the client tried to use to authenticate. You can enable this additional logging by setting the 16 LDAP Interface Events diagnostic setting to 2 (Basic). For more information about how to change the diagnostic settings, see How to configure Active Directory and LDS diagnostic event logging.
If the directory server is configured to reject unsigned SASL LDAP binds or LDAP simple binds over a non-SSL/TLS connection, the directory server logs a summary Event ID 2888 one time every 24 hours when such bind attempts occur.
How to configure the directory to require LDAP server signing for AD DS
Logging anomaly of Event ID 2889
Applications that use third-party LDAP clients may cause Windows to generate incorrect Event ID 2889 entries. This occurs when you log of LDAP interface events and if LDAPServerIntegrity is equal to 2. The use of sealing (encryption) satisfies the protection against the MIM attack, but Windows logs Event ID 2889 anyway.
This happens when LDAP clients use only sealing together with SASL. We have seen this in the field in association with third-party LDAP clients.
When a connection does not use both signing and sealing, the connection security requirements check uses the flags correctly and disconnect. The check generates Error 8232 (ERROR_DS_STRONG_AUTH_REQUIRED).
Using Group Policy
How to set the server LDAP signing requirement
- Select Start >Run, type mmc.exe, and then select OK.
- Select File >Add/Remove Snap-in, select Group Policy Management Editor, and then select Add.
- Select Group Policy Object >Browse.
- In the Browse for a Group Policy Object dialog box, select Default Domain Controller Policy under the Domains, OUs, and linked Group Policy Objects area, and then select OK.
- Select Finish.
- Select OK.
- Select Default Domain Controller Policy >Computer Configuration >Policies >Windows Settings >Security Settings >Local Policies, and then select Security Options.
- Right-click Domain controller: LDAP server signing requirements, and then select Properties.
- In the Domain controller: LDAP server signing requirements Properties dialog box, enable Define this policy setting, select Require signing in the Define this policy setting list, and then select OK.
- In the Confirm Setting Change dialog box, select Yes.
How to set the client LDAP signing requirement by using local computer policy
- Select Start >Run, type mmc.exe, and then select OK.
- Select File >Add/Remove Snap-in.
- In the Add or Remove Snap-ins dialog box, select Group Policy Object Editor, and then select Add.
- Select Finish.
- Select OK.
- Select Local Computer Policy >Computer Configuration >Policies >Windows Settings >Security Settings >Local Policies, and then select Security Options.
- Right-click Network security: LDAP client signing requirements, and then select Properties.
- In the Network security: LDAP client signing requirements Properties dialog box, select Require signing in the list, and then select OK.
- In the Confirm Setting Change dialog box, select Yes.
How to set the client LDAP signing requirement by using a domain Group Policy Object
- Select Start >Run, type mmc.exe, and then select OK.
- Select File >Add/Remove Snap-in.
- In the Add or Remove Snap-ins dialog box, select Group Policy Object Editor, and then select Add.
- Select Browse, and then select Default Domain Policy (or the Group Policy Object for which you want to enable client LDAP signing).
- Select OK.
- Select Finish.
- Select Close.
- Select OK.
- Select Default Domain Policy >Computer Configuration >Windows Settings >Security Settings >Local Policies, and then select Security Options.
- In the Network security: LDAP client signing requirements Properties dialog box, select Require signing in the list, and then select OK.
- In the Confirm Setting Change dialog box, select Yes.
How to set the client LDAP signing requirement by using registry keys
Follow the steps in this section carefully. Serious problems might occur if you modify the registry incorrectly. Before you modify it, back up the registry for restoration in case problems occur.
By default, for Active Directory Lightweight Directory Services (AD LDS), the registry key is not available. Therefore, you must create a LDAPServerIntegrity registry entry of the REG_DWORD type under the following registry subkey:
The placeholder represents the name of the AD LDS instance that you want to change.
How to verify configuration changes
Sign in to a computer that has the AD DS Admin Tools installed.
Select Start > Run, type ldp.exe, and then select OK.
Select Connection > Connect.
In Server and in Port, type the server name and the non-SSL/TLS port of your directory server, and then select OK.
For an Active Directory Domain Controller, the applicable port is 389.
After a connection is established, select Connection > Bind.
Under Bind type, select Simple bind.
Type the user name and password, and then select OK.
If you receive the following error message, you have successfully configured your directory server:
Ldap_simple_bind_s() failed: Strong Authentication Required
Как включить подпись LDAP в Windows Server
В этой статье описывается, как включить подпись LDAP в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows 10.
Исходная версия продукта: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 — все выпуски
Исходный номер КБ: 935834
Аннотация
Можно значительно повысить безопасность сервера каталогов, настроив сервер на отклонение привязок LDAP saSL, которые не запрашивают подписи (проверка целостности) или отклонить простые привязки LDAP, выполняемые при соединении с незашифрованным текстом (без шифрования SSL/TLS). Привязки SASL могут включать такие протоколы, как Negotiate, Kerberos, NTLM и Digest.
Неподписаный сетевой трафик подвержен атакам с повтором. В таких атаках злоумышленник перехватывает попытку проверки подлинности и выдачу билета. Злоумышленник может повторно использовать билет, чтобы подхавлить законного пользователя. Кроме того, неподписавшийся сетевой трафик подвержен атакам «злоумышленник в середине» (MIM), в результате которых злоумышленник захватывает пакеты между клиентом и сервером, изменяет пакеты, а затем передает их на сервер. Если это происходит на сервере LDAP, злоумышленник может заставить сервер принимать решения, основанные на поддельных запросах от клиента LDAP.
Обнаружение клиентов, которые не используют параметр «Требовать подписи»
После изменения конфигурации клиенты, которые используют неподписавное подключение SASL (Negotiate, Kerberos, NTLM или Digest), привязывает LDAP или простой привязки 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
Сведения о возможных изменениях параметров безопасности см. в сведениях о клиентах, службах и программах, которые могут возникнуть при изменении параметров безопасности и назначений прав пользователей.
Аномалия ведения журнала события 2889
Приложения, которые используют сторонние клиенты LDAP, могут привести к тому, что Windows будет создавать неправильные записи с ИД события 2889. Это происходит при регистрации событий интерфейса LDAP и, если равно LDAPServerIntegrity 2. Использование запечатывок (шифрование) удовлетворяет защиту от атаки MIM, но Windows все равно заносим в журнал код события 2889.
Это происходит, когда клиенты LDAP используют только запечатывание вместе с SASL. Мы видели это в поле в связи со сторонними клиентами LDAP.
Если подключение не использует подписываю и запечатываю, при проверке требований безопасности подключения флаги используются правильно и отключается. При проверке создается ошибка 8232 (ERROR_DS_STRONG_AUTH_REQUIRED).
Использование групповой политики
Настройка требования для подписи LDAP на сервере
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Выберите >«Добавить или удалить оснастку»,«Редактор управления групповыми политиками» и «Добавить».
- Выберите «Обзор объекта групповой >политики».
- В диалоговом окне «Обзор объекта групповой политики» выберите политику контроллера домена по умолчанию в области «Домены», «OUS» и «Связанные объекты групповой политики», а затем выберите «ОК».
- Нажмите кнопку Готово.
- Нажмите OK.
- Выберите «Политики конфигурации компьютера контроллера домена по умолчанию» «Параметры безопасности параметров Windows» и выберите > > > > >«Параметры безопасности».
- Щелкните правой кнопкой мыши контроллер домена: требования к подписи сервера LDAP и выберите «Свойства».
- В контроллере домена: диалоговое окно «Свойства для подписи сервера LDAP» в поле «Определение этого параметра политики» выберите «Требовать подпись» в списке «Определение этого параметра политики» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью политики локального компьютера
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Select File >Add/Remove Snap-in.
- В диалоговом окне «Добавление и удаление оснастки» выберите редактор объектов групповой политики и выберите «Добавить».
- Нажмите кнопку Готово.
- Нажмите OK.
- Выберите локальные политики >компьютерной конфигурации >конфигурации windows >Settings Security > Settings Local Policies, > а затем выберите параметры безопасности.
- Щелкните правой кнопкой мыши сетевую безопасность: требования подписи клиента LDAP и выберите «Свойства».
- В диалоговом окне «Безопасность сети: свойства для подписи клиента LDAP» выберите «Требовать подпись в списке» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью объекта групповой политики домена
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Select File >Add/Remove Snap-in.
- В диалоговом окне «Добавление и удаление оснастки» выберите редактор объектов групповой политики и выберите «Добавить».
- Выберите «Обзор», а затем выберите политику домена по умолчанию (или объект групповой политики, для которого нужно включить подпись LDAP клиента).
- Нажмите OK.
- Нажмите кнопку Готово.
- Нажмите Закрыть.
- Нажмите OK.
- Выберите локализованные параметры безопасности параметров безопасности конфигурации компьютера с политикой домена по умолчанию, а затем > > > > выберите «Параметры безопасности».
- В диалоговом окне «Безопасность сети: требования к подписи клиента LDAP: свойства» выберите «Требовать регистрацию в списке» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью ключей реестра
Точно следуйте всем указаниям из этого раздела. Внесение неправильных изменений в реестр может привести к возникновению серьезных проблем. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.
По умолчанию для служб Active Directory облегченного доступ к каталогам (AD LDS) этот ключ реестра недо доступен. Поэтому необходимо создать запись реестра типа REG_DWORD под следующим подмеком LDAPServerIntegrity реестра:
Замещетель представляет имя экземпляра AD LDS, который требуется изменить.
Проверка изменений конфигурации
Во sign in to a computer that has the AD DS Admin Tools installed.
Выберите > «Запустить», введитеldp.exe и выберите «ОК».
Выберите подключение. >
В «Сервер» и «Порт» введите имя сервера и порт сервера каталогов без SSL/TLS, а затем выберите «ОК».
Для контроллера домена Active Directory применимый порт — 389.
После подключения выберите привязку > подключения.
В области «Тип привязки» выберите «Простая привязка».
Введите имя пользователя и пароль, а затем выберите «ОК».
Если вы получили следующее сообщение об ошибке, сервер каталогов успешно настроен:
Ldap_simple_bind_s() failed: Strong Authentication Required