Обновлено 20.03.2024 г. — добавлены ссылки на LDS
Сводка
CVE-2021-42291 устраняет уязвимость обхода безопасности, которая позволяет определенным пользователям задавать произвольные значения для атрибутов, чувствительных к безопасности, определенных объектов, хранящихся в Active Directory (AD) или облегченной службе каталогов (LDS). Чтобы воспользоваться этой уязвимостью, пользователь должен иметь достаточные привилегии для создания производного от компьютера объекта, например пользователь предоставил разрешения CreateChild для объектов-компьютеров. Этот пользователь может создать учетную запись компьютера с помощью протокола LDAP, который обеспечивает чрезмерно разрешающий доступ к атрибуту securityDescriptor . Кроме того, создатели и владельцы могут изменять чувствительные к безопасности атрибуты после создания учетной записи. Это можно использовать для повышения привилегий в определенных сценариях.
ПримечаниеLDS регистрирует события 3050, 3053, 3051 и 3054 о состоянии неявного доступа к объектам, как это делает AD.
Устранение рисков в CVE-2021-42291 состоит из следующих:
-
Дополнительная проверка авторизации, когда пользователи без прав администратора домена или LDS пытаются выполнить операцию ldap Add для объекта, производного от компьютера. Сюда входит режим аудита по умолчанию, который выполняет аудит при таких попытках, не мешая запросу, и режим принудительного применения, который блокирует такие попытки.
-
Временное удаление привилегий неявного владельца, когда пользователи без прав администратора домена пытаются выполнить операцию ldap Modify для атрибута securityDescriptor . Проверка проверяет, разрешено ли пользователю записывать дескриптор безопасности без неявных привилегий владельца. Сюда также входит режим аудита по умолчанию, который выполняет аудит при таких попытках, не мешая запросу, и режим принудительного применения, который блокирует такие попытки.
Действие
Чтобы защитить среду и избежать сбоев, выполните следующие действия.
-
Обновите все устройства, на которых размещен контроллер домена Active Directory или роль сервера LDS, установив последние обновления Windows. Контроллеры домена с обновлениями от 9 ноября 2021 г. или более поздних версий по умолчанию будут изменены в режиме аудита.
-
Отслеживайте журнал событий службы каталогов или LDS на наличие событий 3044–3056 на контроллерах домена и серверах LDS с обновлениями Windows от 9 ноября 2021 г. или более поздней версии. Зарегистрированные события указывают на то, что у пользователя могут быть чрезмерные привилегии для создания учетных записей компьютеров с произвольными атрибутами, чувствительными к безопасности. Сообщите о любых непредвиденных сценариях в корпорацию Майкрософт с помощью обращения в службу поддержки Premier или Unified или Центра отзывов. (Пример этих событий можно найти в разделе Новые добавленные события.)
-
Если режим аудита не обнаруживает непредвиденных привилегий в течение достаточного периода времени, переключитесь в режим принудительного применения, чтобы гарантировать отсутствие отрицательных результатов. Сообщите о любых непредвиденных сценариях в корпорацию Майкрософт с помощью обращения в службу поддержки Premier или Unified или Центра отзывов.
Время обновления Windows
Эти обновления Windows будут выпущены в два этапа:
-
Начальное развертывание — введение обновления, включая режимы аудита по умолчанию, принудительного применения или отключения, настраиваемые с помощью атрибута dSHeuristics .
-
Окончательное развертывание — принудительное применение по умолчанию.
9 ноября 2021 г.: этап начального развертывания
Начальный этап развертывания начинается с обновления Windows, выпущенного 9 ноября 2021 г. В этом выпуске добавлен аудит разрешений, заданных пользователями без прав администратора домена во время создания или изменения компьютеров или объектов, производных от компьютера. Он также добавляет режим принудительного применения и отключения. Режим можно задать глобально для каждого леса Active Directory с помощью атрибута dSHeuristics .
(Обновлено 15.12.2023) Заключительный этап развертывания
Заключительный этап развертывания может начаться после выполнения действий, перечисленных в разделе Предпринять действия. Чтобы перейти в режим принудительного применения, следуйте инструкциям в разделе Руководство по развертыванию, чтобы задать 28-й и 29-й биты в атрибуте dSHeuristics . Затем отслеживайте события 3044-3046. Они сообщают о том, что режим принудительного применения заблокировал операцию добавления или изменения LDAP, которая ранее могла быть разрешена в режиме аудита.
Руководство по развертыванию
Настройка сведений о конфигурации
После установки CVE-2021-42291 символы 28 и 29 атрибута dSHeuristics управляют поведением обновления. Атрибут dSHeuristics существует в каждом лесу Active Directory и содержит параметры для всего леса. Атрибут dSHeuristics является атрибутом объекта "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<domain>" (AD) или "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<набор конфигурации>" (LDS). Дополнительные сведения см . в статье 6.1.1.2.4.1.2 dSHeuristics и атрибут DS-Heuristics .
Символ 28 — дополнительные проверки authZ для операций добавления LDAP
0: включен режим аудита по умолчанию. Событие регистрируется в журнале, когда пользователи без прав администратора домена устанавливают для securitydescriptor или других атрибутов значения, которые могут предоставить чрезмерные разрешения, потенциально допускающие будущую эксплуатацию, для новых объектов AD, производных от компьютера.
1: включен режим принудительного применения. Это не позволяет пользователям без прав администратора домена задавать для securityDescriptor или других атрибутов значения, которые могут предоставлять чрезмерные разрешения на объекты AD, производные от компьютера. Событие также регистрируется, когда это происходит.
2. Отключает обновленный аудит и не применяет добавленную безопасность. Не рекомендуется.
Примере: Если в лесу не включены другие параметры dSHeuristics и вы хотите переключиться в режим принудительного применения для дополнительной проверки AuthZ, атрибуту dSHeuristics следует задать следующее :
"0000000001000000000200000001"
В этом случае заданы следующие символы:
10-й символ : должно быть задано значение 1, если атрибут dSHeuristics содержит не менее 10 символов.
20-й символ: должно быть установлено значение 2, если атрибут dSHeuristics содержит не менее 20 символов.
28-й символ: должно быть установлено значение 1, чтобы включить режим принудительного применения для дополнительной проверки AuthZ.
Символ 29 — временное удаление неявного владельца для операций изменения LDAP
0: включен режим аудита по умолчанию. Событие регистрируется в журнале, когда пользователи без прав администратора домена устанавливают для securityDescriptor значения, которые могут предоставить чрезмерные разрешения, потенциально допускающие будущую эксплуатацию, для существующих объектов AD, производных от компьютера.
1: включен режим принудительного применения. Это не позволяет пользователям без прав администратора домена задавать для securityDescriptor значения, которые могут предоставлять чрезмерные разрешения на существующие объекты AD, производные от компьютера. Событие также регистрируется, когда это происходит.
2. Отключает обновленный аудит и не применяет добавленную безопасность. Не рекомендуется.
Примере: Если в лесу установлен только флаг DsHeuristics Additional AuthZ verifications dsHeuristics и вы хотите переключиться в режим принудительного применения для временного удаления неявного владения, атрибуту dSHeuristics следует задать следующее :
"00000000010000000002000000011"
В этом случае заданы следующие символы:
10-й символ: должно быть установлено значение 1, если атрибут dSHeuristics составляет не менее 10 символов.
20-й символ: должно быть установлено значение 2, если атрибут dSHeuristics содержит не менее 20 символов.
28-й символ: должно быть установлено значение 1, чтобы включить режим принудительного применения для дополнительной проверки
AuthZ.
29-й символ: необходимо задать значение 1, чтобы включить режим принудительного применения для временного удаления неявного владения.
Недавно добавленные события
Обновление Windows от 9 ноября 2021 г. также добавит новые журналы событий.
События изменения режима — дополнительная проверка AuthZ для операций добавления LDAP
События, возникающие при изменении бита 28 атрибута dSHeuristics , что изменяет режим дополнительных проверок AuthZ для части операций добавления LDAP в обновлении.
Журнал событий |
Службы каталогов |
Тип события |
Информационных |
Идентификатор события |
3050 |
Текст события |
Каталог настроен для применения авторизации для каждого атрибута во время операций добавления LDAP. Это самый безопасный параметр, и никаких дальнейших действий не требуется. |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3051 |
Текст события |
Каталог настроен так, чтобы не применять авторизацию для каждого атрибута во время операций добавления LDAP. События предупреждений будут регистрироваться, но никакие запросы не будут заблокированы. Этот параметр не является безопасным и должен использоваться только в качестве временного шага по устранению неполадок. Ознакомьтесь с предлагаемыми способами устранения рисков по ссылке ниже. |
Журнал событий |
Службы каталогов |
Тип события |
Ошибка |
Идентификатор события |
3052 |
Текст события |
Каталог настроен так, чтобы не применять авторизацию для каждого атрибута во время операций добавления LDAP. Никакие события не регистрируются, а запросы не блокируются. Этот параметр не является безопасным и должен использоваться только в качестве временного шага по устранению неполадок. Ознакомьтесь с предлагаемыми способами устранения рисков по ссылке ниже. |
События изменения режима — временное удаление неявных прав владельца
События, возникающие при изменении бита 29 атрибута dSHeuristics , что изменяет режим временного удаления части неявных прав владельца обновления.
Журнал событий |
Службы каталогов |
Тип события |
Информационных |
Идентификатор события |
3053 |
Текст события |
Каталог настроен для блокировки неявных привилегий владельца при первоначальном задании или изменении атрибута nTSecurityDescriptor во время операций добавления и изменения LDAP. Это самый безопасный параметр, и никаких дальнейших действий не требуется. |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3054 |
Текст события |
Каталог настроен так, чтобы разрешить неявные права владельца при первоначальном задании или изменении атрибута nTSecurityDescriptor во время операций добавления и изменения LDAP. События предупреждений будут регистрироваться, но никакие запросы не будут заблокированы. Этот параметр не является безопасным и должен использоваться только в качестве временного шага по устранению неполадок. |
Журнал событий |
Службы каталогов |
Тип события |
Ошибка |
Идентификатор события |
3055 |
Текст события |
Каталог настроен так, чтобы разрешить неявные права владельца при первоначальном задании или изменении атрибута nTSecurityDescriptor во время операций добавления и изменения LDAP. Никакие события не регистрируются, а запросы не блокируются. Этот параметр не является безопасным и должен использоваться только в качестве временного шага по устранению неполадок. |
События режима аудита
События, происходящие в режиме аудита для регистрации потенциальных проблем безопасности с помощью операции добавления или изменения LDAP.
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3047 |
Текст события |
Служба каталогов обнаружила запрос на добавление LDAP для следующего объекта, который обычно был бы заблокирован по следующим причинам безопасности. У клиента не было разрешения на запись одного или нескольких атрибутов, включенных в запрос на добавление, на основе объединенного дескриптора безопасности по умолчанию. Запросу было разрешено продолжить, так как каталог в настоящее время настроен в режиме только аудита для этого проверка безопасности. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> Сведения о безопасности: <sd, который был предпринят попыткой> |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3048 |
Текст события |
Служба каталогов обнаружила запрос на добавление LDAP для следующего объекта, который обычно был бы заблокирован по следующим причинам безопасности. Клиент включил атрибут nTSecurityDescriptor в запрос на добавление, но не имеет явного разрешения на запись одной или нескольких частей нового дескриптора безопасности на основе объединенного дескриптора безопасности по умолчанию. Запросу было разрешено продолжить, так как каталог в настоящее время настроен в режиме только аудита для этого проверка безопасности. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3049 |
Текст события |
Служба каталогов обнаружила запрос на изменение LDAP для следующего объекта, который обычно был бы заблокирован по следующим причинам безопасности. Клиент включил атрибут nTSecurityDescriptor в запрос на добавление, но не имеет явного разрешения на запись одной или нескольких частей нового дескриптора безопасности на основе объединенного дескриптора безопасности по умолчанию. Запросу было разрешено продолжить, так как каталог в настоящее время настроен в режиме только аудита для этого проверка безопасности. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3056 |
Текст события |
Служба каталогов обработала запрос к атрибуту sdRightsEffective к указанному ниже объекту. Возвращенная маска доступа включена WRITE_DAC, но только потому, что каталог был настроен для разрешения неявных привилегий владельца, который не является безопасным параметром. DN объекта: <> DN созданного объекта Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> |
Режим принудительного применения — сбои при добавлении LDAP
События, возникающие при отклонении операции добавления LDAP.
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3044 |
Текст события |
Служба каталогов отклонила запрос на добавление LDAP для следующего объекта. Запрос был отклонен, так как у клиента не было разрешения на запись одного или нескольких атрибутов, включенных в запрос на добавление, на основе объединенного дескриптора безопасности по умолчанию. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> Сведения о безопасности: <sd, который был предпринят попыткой> |
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3045 |
Текст события |
Служба каталогов отклонила запрос на добавление LDAP для следующего объекта. Запрос был отклонен, так как клиент включил атрибут nTSecurityDescriptor в запрос на добавление, но не имеет явного разрешения на запись одной или нескольких частей нового дескриптора безопасности на основе объединенного дескриптора безопасности по умолчанию. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> |
Режим принудительного применения — сбои при изменении LDAP
События, возникающие при отклонении операции изменения LDAP.
Журнал событий |
Службы каталогов |
Тип события |
Предупреждение |
Идентификатор события |
3046 |
Текст события |
Служба каталогов отклонила запрос на изменение LDAP для следующего объекта. Запрос был отклонен, так как клиент включил атрибут nTSecurityDescriptor в запрос на изменение, но не имеет явного разрешения на запись одной или нескольких частей нового дескриптора безопасности на основе существующего дескриптора безопасности объекта. DN объекта: <> DN созданного объекта Класс объектов: <созданного объекта objectClass> Пользователь: <пользователя, который пытался добавить> LDAP IP-адрес клиента: <IP-адрес запрашивающего> |
Вопросы и ответы
Вопрос 1 Что произойдет, если у меня есть сочетание контроллеров домена Active Directory, которые обновляются и не обновляются?
A1 Контроллеры домена, которые не обновлены, не будут регистрировать события, связанные с этой уязвимостью.
В2. Что нужно сделать для контроллеров домена Read-Only (RODC)?
A2 Ничего; Операции добавления и изменения LDAP не могут быть ориентированы на RODC.
В3. У меня есть сторонний продукт или процесс, который завершается сбоем после включения режима принудительного применения. Нужно ли предоставлять права администратора домена службы или пользователя?
A3 Как правило, мы не рекомендуем добавлять службу или пользователя в группу администраторов домена в качестве первого решения этой проблемы. Изучите журналы событий, чтобы узнать, какое конкретное разрешение требуется, и рассмотрите возможность делегирования соответствующим образом ограниченных прав для этого пользователя в отдельном подразделении, назначенном для этой цели.
В4. События аудита также отображаются для серверов LDS. Почему это происходит?
A4Все выше также относится к AD LDS, хотя очень необычно иметь компьютерные объекты в LDS. Необходимо также предпринять шаги по устранению рисков, чтобы включить защиту AD LDS, если режим аудита не обнаруживает непредвиденные привилегии.