Лучшие практики безопасности для доменных сетей Windows рекомендуют отключать локальные учетные записи пользователей на компьютерах и серверах домена Active Directory. Локальные учетные записи с правами администратора на компьютерах могут оказаться слабым звеном в безопасности вашей сети. Вы можете использовать инструменты типа Windows LAPS (Local Administrator Password Solution) для установки уникальных сложных паролей локальных администраторов или можете полностью отключить учетные записи локальных администраторов и пользователей с помощью групповых политик AD.
Отключить встроенного администратора Windows через GPO
В групповых политиках есть несколько опций для отключения встроенной учетной записи администратора Windows.
Откройте консоль управления Group Policy Management Console (gpmc.msc
), создайте новую GPO и назначьте на OU с компьютерами, на которых вы планируете отключить локальных пользователей (Create a GPO in this domain and Link it here).
Задайте имя политики, затем щелкните по ней правой кнопкой и выберите Edit.
- Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options;
- Найдите параметр Accounts: Administrator account status и измените его значение на Define this policy settings -> Disabled;
- После обновления GPO на целевом компьютере встроенная учетная запись администратора будет отключена.
Также можно отключить встроенного администратора с помощью Group Policy Preferences:
- Перейдите в раздел Computer Configuration -> Preferences -> Control Panel Settings -> Local Users and Computers;
- Выберите New -> Local User;
- Создайте новый параметр со следующим настройками:
Action: Update User name: Administrator (built-in) Account is disables: True
Чтобы удалить всех локальных пользователей из встроенной группы Administrators, создайте новый параметр в этом же разделе GPO (New- > Local Group).
Action: Update Group Name: Administrators (built-in) Delete all member users: True Delete all member groups: True Add: Добавьте доменную группу, которой нужно предоставить права администратора на этом компьютере (для службы тех поддержки, HelpDesk или системных администраторов) -> Add to this group.
Такая политика удалит любых локальных или доменных пользователей, которых вручную добавили в группу Administrators на компьютере.
PowerShell: отключить учетные записи локальных пользователей Windows
В Windows PowerShell 5.1 и выше (установлен по умолчанию во всех версиях Windows, начиная 8.1/Server 2012R2) доступен встроенный модуль Microsoft.PowerShell.LocalAccounts для управления локальными пользователями и группами.
Чтобы вывести список локальных учетных записей на компьютере, выполните команду:
Get-LocalUser
Как вы видите на компьютере созданы несколько пользователей, часть из которых отключена (Enabled=False).
Чтобы отключить определенного локального пользователя, используется команда:
Disable-LocalUser test1
Если нужно отключить всех локальных пользователей, выполните команду:
Get-Localuser| Disable-LocalUser
Чаще всего администратору нужно отключить всех локальных пользователей, кроме определённых аккаунтов.
Например, вам нужно отключить всех локальных пользователей с правами локального администратора Windows. Для этого нужно получить список пользователей в локальной группе Administrators (wellknown SID этой группы — S-1-5-32-544) и отключить всех локальных пользователей ( PrincipalSource = Local).
$AdminGroupMembers = Get-LocalGroupMember -SID S-1-5-32-544 | Where-Object { $_.PrincipalSource -eq "Local" -and $_.ObjectClass -eq "User" } foreach ($Member in $AdminGroupMembers) { $Username= $Member.Name | Split-Path -Leaf Disable-LocalUser $Username }
Если нужно отключить всех локальных пользователей, кроме пользователей из списка исключений, используйте такой скрипт PowerShell:
$Exceptions = @("administrator", "root", "User3") Get-LocalUser | Where-Object { $_.Enabled -eq $true -and $_.Name -notin $Exceptions } | ForEach-Object { Disable-LocalUser $_ }
В этом примере PowerShell скрипт отключит на компьютере все локальные учетные записи пользователей, кроме administrator, root и User3.
Отключить всех локальных пользователей через групповую политику
В групповых политиках Windows отсутствуют встроенные настройки для отключения произвольных локальных пользователей в Windows. Поэтому для отключения всех (или только определенных) локальных пользователей придется использовать startup скрипт в GPO.
Выше мы рассмотрели два примера PowerShell скриптов, один из которых отключает всех локальных пользователей с правами администратора, а второй всех пользователей, кроме пользователей из списка исключений.
- Сохраните нужный код в файл с расширением *.PS1 и сохраните его в каталог NETLOGON на контроллере домена (например
\\contoso.com\netlogon
). Проверьте NTFS разрешений файла. Группы Domain Computers и/или Authenticated Users должны иметь права на чтение и выполнение файла; - Теперь создайте GPO и назначьте ее на OU с компьютерами;
- Отредактируйте GPO;
- Чтобы выполнить ваш PowerShell скрипт при загрузке компьютера, перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Scripts (Startup / Shutdown) -> Startup. Перейдите на вкладку PowerShell Scripts и добавьте ваш PS1 файл, указав UNC путь к нему на NETLOGON;
- Теперь при загрузке компьютера GPO будет выполнять PowerShell скрипт, который отключает локалные учетные данные в Windows.
При загрузке компьютере групповые политики запустят ваш скрипт, который отключает локальных пользователей в Windows.