Перейти к основному содержанию

Event ID 2887 — LDAP signing

Windows Server

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

Отсутствие подписи пакетов LDAP может позволить злоумышленникам провести атаки типа NTLM-Relay.

https://learn.microsoft.com/ru-ru/troubleshoot/windows-server/active-directory/enable-ldap-signing-in-windows-server

Делается это, с одной стороны просто, а с другой — непросто. Не спешим!

В редакторе групповых политик редактируем политику контроллеров домена по умолчанию (Default Domain Controllers Policy). Конфигурация компьютера (Computer Configuration) → Политики (Policies) → Настройки Windows (Windows Settings) → Настройки безопасности (Security Settings) → Местные политики (Local Policies) → Параметры безопасности (Security Options). Редактируем "Контроллер домена: свойства требований к подписи сервера LDAP" (Domain Controller: LDAP server signing requirements policy). Включаем "Определить этот параметр политики" (Define this policy setting), выберите "Требовать подписи" (Require Signing), а затем нажимаем кнопку ОК.

ldap

И у нас всё перестаёт работать, потому что в домене может быть много сервисов, которые настроены на работу по LDAP (TCP 389) и, конечно, никто их не переделал на LDAPS (TCP 636). После внесения этого изменения конфигурации клиенты, использующие привязки LDAP без подписи SASL (Negotiate, Kerberos, NTLM или Digest) или простые привязки LDAP через подключение, отличное от SSL/TLS, перестают работать.

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

ldap

Раз в сутки в источнике Directory Service фиксируется событие Event ID: 2887. В нём можно увидеть сколько было обращений к контроллеру домена без подписи LDAP.

Number of simple binds performed without SSL/TLS: 469
Number of Negotiate/Kerberos/NTLM/Digest binds performed without signing: 4

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

Запускаем на контроллере домена командную строку под администратором и выполняем:

Reg Add HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics /v "16 LDAP Interface Events" /t REG_DWORD /d 2

Подтверждаем, Yes.

ldap

Теперь в журнале фиксируются события Evint ID: 2889.

ldap

Собираем список злодеев, разбираемся с настройками на них, заставляем их использовать LDAPS. И только после того как контроллеры домена перестанут фиксировать такие обращения, включаем LDAP signing.

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

Идентификатор события 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

Теги

 

Похожие материалы

Родительский контроль — выключаем компьютер на ночь

Дети засиживаются за компьютером? Потратим 5 минут и настроим так, чтобы компьютер автоматически выключался с 9:30 вечера до 6:30 утра. Нам ничего не понадобится кроме встроенного планировщика заданий Windows.