Windows: Запретить сетевой доступ под локальным учетным записям
Использование локальных учетных записей (в том числе локального администратора) для доступа по сети в средах Active Directory нежелательно по ряду причин. Зачастую на многих компьютерах используются одинаковые имя и пароль локального администратора, что может поставить под угрозу множество систем при компрометации одного компьютера (угроза атаки Pass-the-hash). Кроме того, доступ под локальными учетными записями по сети трудно персонифицировать и централизованно отследить, т.к. подобные события не регистрируются на контроллерах домена AD.
Для снижения рисков, администраторы могут изменить имя стандартной локальной учетной записи администратора Windows (Administrator). Для регулярной смены пароля локального администратора на всех компьютерах в домене можно использовать MS LAPS (Local Administrator Password Solution). Но этими решениями не удастся решить проблему ограничения сетевого доступа под локальными учетными записями, т.к. на компьютерах может быть больше одной локальной учетки.
Ограничить сетевой доступ для локальных учетных записей можно с помощью политики Deny access to this computer from the network. Но проблема в том, что в данной политике придется явно перечислить все имена учетных записей, которым нужно запретить сетевой доступ к компьютеру.
В Windows 8.1 and Windows Server 2012 R2 появилась две новые группы безопасности (Well-known group) с известными SID. Одна включает в себя всех локальных пользователей, а вторая всех локальных администраторов.
S-1-5-113 | NT AUTHORITYLocal account | Все локальные учетная запись |
S-1-5-114 | NT AUTHORITYLocal account and member of Administrators group | Все локальные учетные записи с правами администратора |
Теперь для ограничения доступа локальным учетным записям не нужно перечислять все возможные варианты SID локальных учёток, а использовать их общий SID.
Данные группы добавляются в токен доступа пользователя при входе в систему под локальной учетной записью.
Чтобы убедится, что в Windows 10/Windows Server 2016 локальной учетной записи присвоены две новый группы
NT AUTHORITYLocal account (SID S-1-5-113)
и
NT AUTHORITYLocal account and member of Administrators group (SID S-1-5-114)
, выполните команду:
whoami /all
Проверить, имеются ли данные группы безопасности в вашей Windows можно по их SID так:
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-113")
$objAccount = $objSID.Translate([System.Security.Principal.NTAccount])
$objAccount.Value
Если скрипт возвращает NT AuthorityLocal account, значит данная локальная группа (с этим SID) имеется.
Чтобы запретить сетевой доступ под локальным учетным записями, с этими SID-ами в токене, можно воспользоваться политиками из раздела GPO Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment.
Запрет на вход через RDP для локальных пользователей и администратора
Политика Deny log on through Remote Desktop Services (Запретить вход в систему через службу с удаленного рабочего стола) позволяет указать пользователей и группы, которым явно запрещен удаленный вход на компьютер через RDP. Вы можете запретить RDP доступ к компьютеру для локальных или доменных учетных записей.
По умолчанию RDP доступ в Windows разрешён администраторам и членам локальной группы Remote Desktop Users.
Если вы хотите запретить RDP подключения только локальных пользователей (в том числе локальных администраторов), откройте локальной редактор GPO gpedit.msc (если вы хотите применить эти настройка на компьютерах в домене AD, используйте редактор доменных политик –
gpmc.msc
). Перейдите в указанную выше секцию GPO и отредактируйте политику Deny log on through Remote Desktop Services.
Добавьте в политику встроенные локальные группу безопасности Local account and member of Administrators group и Local account. Обновите настройки локальных политик с помощью команды: gpupdate /force.
Теперь, если вы попытаетесь подключиться к компьютеру по RDP, появится ошибка:
To sign in remotely, you need the right to sign in through Remote Desktop Services. By default, members of the Remote Desktop Users group have this right. If the group you’re in doesn’t have this right, or if the right has been removed from the Remote Desktop Users group, you need to be granted this right manually.
Чтобы войти в систему удаленно, вам нужно право на вход через службы удаленных рабочих столов. По умолчанию такое право имеют члены группы Администраторы. Если у вашей группы нет этого права или оно было удалено для группы Администраторы, попросите предоставить его вам вручную.
Запрет сетевого доступа к компьютеру по сети
Вы можете запретить сетевой доступ к компьютеру под локальными учетными данными с помощью политики Deny access to this computer from the network (Отказать в доступе к этому компьютеру из сети).
Добавьте в политику Deny access to this computer from the network локальные группы Local account и Local account and member of Administrators group. Также стоит всегда запрещать анонимный доступ и доступ под гостевым аккаунтом.
После применения политики вы не сможете удаленно подключиться к этому компьютеру по сети под любой локальной учетной записью. При попытке подключиться к сетевой папке или подключить сетевой диск с этого компьютера под локальной учетной записью, появится ошибка:
Microsoft Windows Network: Logon failure: the user has not been granted the requested logon type at this computers.
При попытке установить RDP сессию под учетной записью локального администратора (.administrator) появится сообщение об ошибке.
The system administrator has restricted the types of logon (network or interactive) that you may use. For assistance, contact your system administrator or technical support.
Системный администратор ограничил типы входа в систему (сетевой или интерактивный), которые можно использовать. Обратитесь за помощью к системному администратору или в службу технической поддержки.
Важно. Если вы примените эту политику к компьютеру, который находится в рабочей группе (не присоединен к домену Active Directory), вы сможете войти на такой компьютер только локально.
Запретить локальный вход в Windows
С помощью политики Deny log on locally (Запретить локальных вход) вы можете запретить и интерактивный вход на компьютер/сервер под локальными учетными записями. Перейдите в секцию GPO User Rights Assignment, отредактируйте политику Deny log on locally. Добавьте в нее нужную локальную группу безопасности.
Теперь, если пользователь или администратор попытается авторизоваться на компьютере под локальной учетной записью, появится сообщение.
The sign-in method you are trying to use isn’t allowed. For more info, contact your network administrator.
Этот метод входа запрещено использовать. Для получения дополнительных сведений обратитесь к администратору своей сети.
Таким образом, вы можете ограничить доступ под локальными учетными записями на компьютеры и сервера домена, увеличить защищенность корпоративной сети.
Windows 10
Windows: Запретить сетевой доступ под локальным учетным записям