UAC (User Account Control или контроль учетных записей) важный компонент системы защиты Windows. При запуске любого приложения или процесса, который требует прав администратора, пытается изменить системные настройки, ветки реестра или файлы, компонент контроля учетных записей UAC переключает рабочий стол в защищенный режим и запрашивает подтверждение этих действий у администратора. Тем самым UAC позволяет предотвратить запуск процессов и вредоносных программ, которые потенциально могут нанести вред вашему компьютеру.
На скриншоте ниже показано, что при запуске редактора реестра (
regedit.exe
) в Windows 10 появляется окно подтверждения UAC:
Контроль учетных записей Разрешить этому приложению вносить изменения на вашем устройстве?
User Account Control Do you want to allow this app to make changes to your device?
В этой статье мы рассмотрим, как управлять настройками UAC на отдельном компьютере, или на множестве компьютеров в домене с помощью групповых политик.
Ползунок User Account Control
В Windows 7 (и выше) настройки UAC на компьютере управляются с помощью специального ползунка (вызывается через панель управления или файлом
UserAccountControlSettings.exe
). С помощью ползунка вы можете выбрать один из четырех предопределенных уровней защиты UAC.
- Уровень 4 — Always notify — Всегда уведомлять (максимальный уровень защиты UAC);
- Уровень 3 — Notify only when programs try to make changes to my computer (default) – Уведомить только когда программа пытается внести изменения в мой компьютер (стандартный уровень защиты);
- Уровень 2 — Notify only when programs try to make changes to my computer (do not dim my desktop) – то же что и предыдущий уровень, но без переключения на Secure Desktop с блокировкой рабочего стола;
- Уровень 1 — Never notify – Никогда не уведомлять (UAC отключен).
По умолчанию в Windows 10 выбран 3 уровень защиты UAC, который выводит уведомление только при попытке изменить системные файлы или параметры.
Как отключить User Account Control в Windows через GPO?
Вы можете отключить UAC с помощью групповой политики. На отдельном компьютере можно использовать редактор локальный групповой политики
gpedit.msc
. Если нужно распространить политику на компьютеры в домене, нужно использовать консоль Group Policy Management Console —
gpmc.msc
(рассмотрим этот вариант).
- В консоли управления доменными GPO щелкните по OU с компьютерами, на которых вы хотите отключить UAC и создайте новую политику;
- ОтредактируйтеполитикуиперейдитевразделComputer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options;
- В этом разделе есть несколько параметров, которые управляют настройками UAC. Имена этих параметров начинаются с User Account Control;
- Для полного отключения UAC установите следующие значения параметров:
- User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode =
Elevate without prompting
; - User Account Control: Detect application installations and prompt for elevation =
Disabled
; - User Account Control: Run all administrators in Admin Approval Mode =
Disabled
; - User Account Control: Only elevate UIAccess applications that are installed in secure locations =
Disabled
.
- Чтобы обновить настройки групповых политик на компьютерах и отключить UAC, нужно перезагрузить их. После перезагрузки UAC переключится в режим “Никогда не уведомлять”;
Также можно точечно отключать UAC только для некоторых пользователей/компьютеров через реестр, а настройки распространить через Group Policy Preferences.
Создайте новый параметр реестра в ветке GPO Computer Configuration -> Preferences -> Windows Settings -> Registry со следующими настройками:
- Action: Replace
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- Value name: EnableLUA
- Value type: REG_DWORD
- Value data: 0
Затем перейдите на вкладку Common и включите опции:
- Remove this item when it is no longer applied
- Item-Level targeting
Нажмите на кнопку Targeting и укажите компьютеры, или доменные группы, на которые должна применяться политика отключения UAC.
Настройка параметров UAC в реестре
Вы можете управлять настройками UAC через реестр. Параметры, отвечающие за поведение контроля учетных записей, находятся в ветке реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
Когда вы меняете значение ползунка UAC в панели управления, Windows меняет значение параметров реестра из этой ветки следующим образом (ниже приведены готовые REG файлы для разных уровней ползунка User Account Control:
UAC уровень 4 (Always notify):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "ConsentPromptBehaviorAdmin"=dword:00000002 "ConsentPromptBehaviorUser"=dword:00000003 "EnableInstallerDetection"=dword:00000001 "EnableLUA"=dword:00000001 "EnableVirtualization"=dword:00000001 "PromptOnSecureDesktop"=dword:00000001 "ValidateAdminCodeSignatures"=dword:00000000 "FilterAdministratorToken"=dword:00000000
UAC уровень 3 (Notify only when programs try to make changes to my computer):
"ConsentPromptBehaviorAdmin"=dword:00000005 "ConsentPromptBehaviorUser"=dword:00000003 "EnableInstallerDetection"=dword:00000001 "EnableLUA"=dword:00000001 "EnableVirtualization"=dword:00000001 "PromptOnSecureDesktop"=dword:00000001 "ValidateAdminCodeSignatures"=dword:00000000 "FilterAdministratorToken"=dword:00000000
UAC уровень 2:
"ConsentPromptBehaviorAdmin"=dword:00000005 "ConsentPromptBehaviorUser"=dword:00000003 "EnableInstallerDetection"=dword:00000001 "EnableLUA"=dword:00000001 "EnableVirtualization"=dword:00000001 "PromptOnSecureDesktop"=dword:00000000 "ValidateAdminCodeSignatures"=dword:00000000 "FilterAdministratorToken"=dword:00000000
UAC уровень 1 (Never notify — UAC отключен):
"ConsentPromptBehaviorAdmin"=dword:00000000 "ConsentPromptBehaviorUser"=dword:00000003 "EnableInstallerDetection"=dword:00000001 "EnableLUA"=dword:00000001 "EnableVirtualization"=dword:00000001 "PromptOnSecureDesktop"=dword:00000000 "ValidateAdminCodeSignatures"=dword:00000000 "FilterAdministratorToken"=dword:00000000
Вы можете изменить значение любого параметра из редактора реестра или из командной строки. Например, чтобы отключить UAC на компьютере (потребуется перезагрузка) можно выполнить команду:
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f.
Или аналогичная команда на PowerShell:
New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force
Особенности использования UAC в Windows Server
User Account Control в Windows Server работает и управляется так же как в дектопных редакциях Windows.
Допустимо полностью отключать UAC в Windows Server 2016/209, если выполняются следующие условия.
- Только администраторы имеют удаленный доступ к рабочему столу сервера (RDP доступ к серверу для обычных пользователей должен быть отключен). На RDS серверах нужно оставлять UAC включенным;
- Администраторы должны использовать Windows Server только для выполнения административных задач. Работа с офисными документами, мессенджерами, веб браузером должна выполняться только на рабочей станции администратора под обычной учёткой пользователя с включенным UAC, а не на серверах (см. статью о лучших практиках по защите аккаунтов администраторов),
При включенном UAC Windows Server запрещает удаленное подключение под локальными аккаунтами (через net use, winrm, Powershell Remoting). Токен такого пользователя будет отфильтрован включенным параметром UAC
LocalAccountTokenFilterPolicy
(об этом рассказано в предыдущей секции).
Ползунок User Account Control и параметры GPO
Вы можете управлять настройками UAC как с помощью ползунка, так и с помощью групповых политик. Но в редакторе групповых политик отсутствует единый параметр, позволяющий выбрать один из 4 уровней защиты (соответствующий положению ползунка UAC). Вместо этого предлагается регулировать настройки UAC 10 различными политиками. Как мы уже говорили выше, эти политики находятся в разделе:
Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options (Конфигурация компьютера –> Конфигурация Windows –> Параметры безопасности –> Локальные политики). Имена политик, относящихся к UAC, начинаются с User Account Control (Контроль учетных записей).
В следующей таблице представлен список политик UAC, и соответствующие им параметры реестра.
Имя политики | Ключ реестра, настраиваемый политикой | |
User Account Control: Admin Approval Mode for the Built-in Administrator account | Контроль учетных записей: использование режима одобрения администратором для встроенной учетной записи администратора | FilterAdministratorToken |
User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop | Контроль учетных записей: разрешать UIAccess-приложениям запрашивать повышение прав, не используя безопасный рабочий стол | EnableUIADesktopToggle |
User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode | Контроль учетных записей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором | ConsentPromptBehaviorAdmin |
User Account Control: Behavior of the elevation prompt for standard users | Контроль учетных записей: поведение запроса на повышение прав для обычных пользователей | ConsentPromptBehaviorUser |
User Account Control: Detect application installations and prompt for elevation | Контроль учетных записей: обнаружение установки приложений и запрос на повышение прав | EnableInstallerDetection |
User Account Control: Only elevate executables that are signed and validated | Контроль учетных записей: повышение прав только для подписанных и проверенных исполняемых файлов | ValidateAdminCodeSignatures |
User Account Control: Only elevate UIAccess applications that are installed in secure locations | Контроль учетных записей: повышать права только для UIAccess-приложений, установленных в безопасном местоположении | EnableSecureUIAPaths |
User Account Control: Run all administrators in Admin Approval Mode | Контроль учетных записей: включение режима одобрения администратором | EnableLUA |
User Account Control: Switch to the secure desktop when prompting for elevation | Контроль учетных записей: переключение к безопасному рабочему столу при выполнении запроса на повышение прав | PromptOnSecureDesktop |
User Account Control: Virtualize file and registry write failures to per-user locations | Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя | EnableVirtualization |
По умолчанию для стандартных настроек UAC (уровень 3) используются следующие настройки групповых политик:
UAC Уровень 3 (по умолчанию)
Disabled
Allow UIAccess applications to prompt for elevation without using the secure desktop =
Disabled
Behavior of the elevation prompt for administrators in Admin Approval Mode =
Prompt for consent for non-Windows binaries
Behavior of the elevation prompt for standard users =
Prompt for credentials on the secure desktop
Detect application installations and prompt for elevation =
Enabled
для рабочих групп,
Disabled
для доменаOnly elevate executables that are signed and validated =
Disabled
Only elevate UIAccess applications that are installed in secure locations =
Enabled
Run all administrators in Admin Approval Mode =
Enabled
Switch to the secure desktop when prompting for elevation =
Enabled
Virtualize file and registry write failures to per-user locations =
Enabled