Учитывая пару пользователя и привилегию, мне нужно определить, есть ли у пользователя привилегия на сервере. Следующее верно в моей настройке:
- Сервер является частью домена, но не контроллером домена
- В инфраструктуре есть несколько доменов с доверительными отношениями.
- Иногда пользователи (локальные, доменные или из другого домена) могут принадлежать к локальной группе, потому что они находятся в какой-то другой группе (доменной или локальной), которая принадлежит к локальной группе, а не принадлежит к группе напрямую.
Пример сценария для последней точки:
- Пользователь1 принадлежит группе TeamA в Домене A
- DomaimA \ TeamA является членом DomainB \ SpecialAccess
- DomainB \ SpecialAccess является членом DomainB \ DomainAdmins
- Наконец DomainB \ DomainAdmins принадлежат к локальной группе администраторов
- Группа локальных администраторов имеет привилегию SeRemoteInteractiveLogonRight
Теперь, если у меня есть на входе DomainA \ User1 и SeRemoteInteractiveLogonRight, мне нужно получить ответ Да или Нет. Поэтому я открываю локальную политику на машине, отмечаю, что группы перечислены в списке прав, которые мне тоже интересны, затем захожу к менеджерам серверов и вижу, что у членов группы, а затем мне нужно посмотреть, какие члены каких-либо групп в этих группах и так далее.
У меня есть чувство, что это может быть проще. Я был очень взволнован, когда нашел утилиту AccessChk. Это заняло целых три минуты, после чего я обнаружил, что в ней перечислены только прямые отношения, поэтому пользователь в группе не будет указан.
Теперь я предполагаю, что было бы возможно объединить результаты из AccessChk так, чтобы я мог проверить, принадлежит ли пользователь какой-либо из групп, которые возвращает AccessChk, но, учитывая, что это не один домен, а несколько из них, я не уверен, как подойти к этому. Также выходные данные AccessChk, кажется, не различают группу и пользователя.
РЕДАКТИРОВАТЬ : в духе того, чтобы не попасть в ловушку проблем XY, мне действительно нужно убедиться, что на группе серверов нет определенных учетных записей пользователей, которые используются в качестве удостоверений пула приложений IIS, с привилегиями SeInteractiveLogonRight или SeRemoteInteractiveLogonRight. У меня нет проблем с частью IIS, но последний шаг проверки учетной записи по привилегии - это то, что я изо всех сил пытаюсь найти простой способ проверить. Я также хотел бы автоматизировать проверку, потому что это нужно делать регулярно.
источник
Ответы:
Токены доступа не имеют информации о правах, только о привилегиях.
Что вам нужно сделать, это:
Вышеуказанное зависит от существования процесса (и токена), соответствующего идентификатору учетной записи. В вашем сценарии это не должно быть проблемой. В тех случаях, когда это является проблемой, вы можете попытаться использовать поиск в Active Directory для вычисляемого атрибута Token-Groups . В этой статье перечислено несколько подходов, как это осуществить.
источник