У меня есть домен, в котором ACL по умолчанию были изменены для всех пользовательских и компьютерных объектов и Режим списка объектов (Перечисление на основе доступа для объектов каталога) было включено. В частности, разрешение «Все: чтение» было удалено из списка для большинства объектов каталога, поэтому пользователи не могут читать «посторонние» объекты в соответствии с политикой защиты конфиденциальности.
В этом созвездии клиент приложения (на основе Фреймворк UniPaas если это имеет значение) пытается прочитать членство в группах определенного пользователя и по неизвестной причине терпит неудачу. От производителя программного обеспечения мы получили простой тестовый пример, в котором net user %USERNAME% /domain
выдает ошибку 5 - Доступ запрещен в этой инфраструктуре. Сетевые протоколы net use
используется, и то, как он выходит из строя, соответствует тому, что мы наблюдаем, когда собираем сетевые трассировки приложения.
Сейчас я в некоторой степени растерялся, так как ничего не знаю о внутреннем устройстве net user
вызов (особенно, какой API он использует для чтения атрибутов и какое разрешение у пользователя должно быть для их получения). Как мне начать отладку этого?
Изменить: одна вещь, которую я придумал, - это запустить Wireshark для записи сетевого трафика, вызванного net user %username% /domain
вызов. Все выглядит хорошо до момента, когда для домена BUILTIN (S-1-5-32) выдается вызов SAMR OpenDomain, который возвращает STATUS_ACCESS_DENIED, после чего все соединения разрываются. Видеть пакеты 33 и 34 в этой трассировке pcap. Похоже, это причина В доступе отказано ответ от net user
, хотя я понятия не имею, что здесь не так.
Похоже, вам каким-то образом удалось предотвратить перечисление builtin
группы. Который net user
звонок открывает соединения с двумя доменами как часть своей операции:
Большинство запросов выполняется к первому соединению, один проходит через второе. Этот пропуск превращается $YOURDOMAIN\Domain Users
в широко известный принцип BUILTIN\Domain Users
(S-1-5-32-545), которые система знает, как обращаться с ними. Когда соединение с доменом BUILTIN отклоняется, весь вызов завершается ошибкой.
Проверьте разрешения для Builtin
Контейнер AD в вашем доменном дереве - он должен иметь "Authenticated Users:Read"
ACE. Также перечисление Builtin
контейнер должен быть разрешен - Authenticated Users:Read
ACE для верхнего уровня домена тоже должен позаботиться об этом.
На прошлой неделе у нас была аналогичная проблема. В итоге это была настройка gpo на наших контроллерах домена.
GPO: Конфигурация компьютера \ Параметры Windows \ Параметры безопасности \ Локальные политики \ Параметры безопасности - Доступ к сети: ограничение клиентов, которым разрешено совершать удаленные вызовы в SAM.
Он был включен, и нам пришлось его удалить.