Короткий ответ
«Слишком много прав» — это не ощущение, а токен: прямые и вложенные группы AD, локальные группы на WS-042, User Rights Assignment (Debug, Backup, Impersonate), членство в Administrators/Remote Desktop Users/учётки служб. Снимите лишнее с учётки роли, не с «всей IT». Domain Admin на ежедневной работе — отдельный антипаттерн: статья. Локальный админ парка — LAPS.
Не забирайте группы в пятницу без владельца ресурса. Не лечите доступ выключением firewall. Фиксируйте изменения: аудит групп.
Симптомы и как отличить
- Пользователь ставит ПО, меняет время, отключает Defender «потому что можно».
whoami /groupsполный экран, вложенность 5 уровней.- Доступ к
\\fs01\Financeу отдела продаж. - Локальные Administrators на серверах содержат персональные учётки 2019 года.
| Наблюдение | Иное |
|---|---|
| Только Kerberos не пускает | SPN/время, не RBAC |
| Нужны права только на один ПК | локальная группа, не Domain Admins |
| Служба под пользователем | gMSA/учётка службы, не «добавить в админы» |
| После увольнения доступ жив | те же группы + [отзыв] процессы HR |
Возможные причины
- «Временная» группа 2018 года.
- Вложенность: Helpdesk → Server Operators → Administrators.
- GPO Restricted Groups наоборот добавила Domain Users.
- User Rights: «Debug programs» на OU рабочих станций.
- Делегирование OU «Full control» вместо reset password.
- Локальные админы для установки принтера вместо драйвер-политики.
Диагностика
На WS-042 под пользователем (или runas):
whoami /all
whoami /groupsВ AD с RSAT:
Get-ADUser 'ivanov' -Properties MemberOf, TokenGroups | Select-Object Name, MemberOf
Get-ADPrincipalGroupMembership 'ivanov' -Recursive | Select-Object Name, GroupCategory, DistinguishedNametokenGroups на объекте (SID групп) — что реально в билете после входа. После снятия групп пользователю нужен новый вход (klist purge недостаточно для всех сценариев — полный logoff).
Локально на сервере/ПК:
Get-LocalGroupMember -Group 'Administrators'
Get-LocalGroupMember -Group 'Remote Desktop Users'
Get-LocalGroupMember -Group 'Backup Operators'User Rights (на пилоте):
secedit /export /cfg C:\Temp\ureg.inf
Select-String -Path C:\Temp\ureg.inf -Pattern 'SeDebugPrivilege|SeBackupPrivilege|SeTakeOwnershipPrivilege|SeImpersonatePrivilege'Сравните с эталоном. Не копируйте inf обратно вслепую.
Доступ к ресурсу:
# на файловом сервере
Get-SmbShareAccess 'Finance'
Get-Acl D:\Shares\Finance | Format-ListРешение
Сценарий A. Лишние группы AD
- Таблица: группа → зачем → владелец → дата.
- Снимите прямое членство:
Remove-ADGroupMember -Identity 'Finance-Full' -Members 'ivanov' -Confirm:$false- Проверьте вложенность: пользователь может остаться через другую группу.
- Пользователь: полный выход и вход. Проверка доступа к нужному и отказ к лишнему.
Сценарий B. Локальные Administrators
Уберите персональные учётки, оставьте роль+LAPS. Restricted Groups / Local Users and Groups (GPP) с Replace — только после пилота: Replace вычищает всё, включая нужное.
Сценарий C. User Rights слишком широкие
GPO: Computer Configuration → Windows Settings → Security Settings → Local Policies → User Rights Assignment. SeDebugPrivilege — не для Domain Users. SeBackupPrivilege — не для «чтобы копировать с рабочего стола». Вносите группы ролей, не пользователей.
Сценарий D. Делегирование OU
В ADUC Delegation Wizard: reset password / unlock, не Full Control на OU с компьютерами. Снимите Full Control с helpdesk, оставьте LAPS-read где нужно.
На DC01 выгрузите вложенность групп helpdesk и сравните с матрицей ролей: часто Helpdesk вложена в Account Operators и в локальные Administrators серверов сразу. Снимите слой за слоем, проверяя заявки (сброс пароля, LAPS, RDP). На WS-042 Restricted Groups Replace без эталона выкинет LAPS-учётку — пилот обязателен. Для файловых шар смотрите Effective Access мастера, не только MemberOf: deny ACE перекрывает любую группу. После чистки пользователь должен сделать полный logoff: RDP-сессия недельной давности держит старый токен и «права как будто не снялись». Зафиксируйте владельца каждой привилегированной группы и срок recertification.
В contoso.example запретите выдачу SeDebugPrivilege и SeTakeOwnershipPrivilege через Default Domain Policy на все компьютеры.
Не путайте вложенность Get-ADPrincipalGroupMembership -Recursive с токеном whoami /groups: до нового входа AD «уже сняли», а сессия на WS-042 ещё с правами. Выбивайте RDP и локальные сессии после снятия групп.
Как проверить, что проблема устранена
- Новый
whoami /groupsбез лишних SID. - Доступ к рабочим шарам есть, к чужим — Access Denied.
- На
WS-042пользователь не ставит ПО вC:\Program Filesбез отдельной заявки. - Аудит 4728/4732 не возвращает его в те же группы без тикета.
Повторите для вложенных групп: Get-ADPrincipalGroupMembership -Recursive.
Если не помогло
- Билет старый: пользователь не делал logoff, RDP-сессия висит неделями — выбить сессию.
- Универсальные группы в другом домене леса — смотрите GC.
- Файловая шара: Everyone Full + NTFS узкий или наоборот.
- Приложение проверяет локальную группу, не AD — тогда локальная роль, не Domain Admins.
Профилактика
- IGA: регулярный recertification групп.
- Запрет Domain Users в привилегированных локальных группах.
- Аудит изменений групп.
- Модель ролей: роль-группа-ресурс, без персональных ACL на шарах где можно.
- Привилегированный доступ — отдельные учётки, jump, не ежедневный ПК.
FAQ
Account Operators / Server Operators ещё нужны?
Часто нет: слишком широкие встроенные роли. Замените делегированием и узкими группами.
Пользователь должен ставить принтеры
Драйверы через GPO/Intune Point and Print Restrictions, не Administrators. На 23H2/24H2 ограничения драйверов учитывайте отдельно.
whoami не показывает вложенность?
/groups показывает токен после входа. Recursive в AD может отличаться до нового logon. Смотрите оба.
Можно ли «временно Domain Admins на час»?
Нет как практика. PIM/отдельная учётка/Just-in-time, не час в постоянной группе. См. статью про Domain Admin.
Backup Operators на рабочей станции
Это право читать любые файлы. Не для обычного пользователя. Для агента backup — учётка службы с документированным scope.
SID History после миграции
Может тащить старые права. Аудит SIDHistory, не только MemberOf.