Использование политик безопасности AppLocker для управления запуском приложений в Windows
С помощью политик безопасности AppLocker администраторы могут блокировать или разрешать запуск определённых приложений в Windows. С помощью AppLocker можно ограничить запуск программ для конкретной группы пользователей, при этом другим, например администраторам, разрешить их выполнение. В этом руководстве объясняется, как создать и развернуть политики доступа к приложениям AppLocker с помощью групповой политики (GPO).
Функция контроля приложений AppLocker изначально была доступна только в корпоративных (Enterprise) редакциях Windows. Однако начиная с Windows 10 версии 2004 и всех редакций Windows 11 ограничения по выпускам были сняты, и теперь политики AppLocker можно применять и на редакциях Pro.
Создадим новый доменный объект групповой политики (GPO) с настройками контроля AppLocker с помощью оснастки управления групповой политикой gpmc.msc (аналогично можно настроить AppLocker на локальном компьютере через редактор локальной групповой политики).
- Создайте новый GPO и откройте его для редактирования.
- Для применения политик AppLocker на клиентских компьютерах должна быть включена и работать служба Application Identity (служба
AppIDSvcпо умолчанию в Windows отключена). - Перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> System Services. Откройте свойства службы Application Identity и установите для неё автоматический запуск.

- Далее разверните Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Application Control Policies -> AppLocker. Здесь можно создавать правила для четырёх категорий программного обеспечения:Executable Rules – исполняемые файлы (.EXE и .COM).
Windows Installer Rules – файлы установщика Windows (.MSI, .MSP, .MST).
Script Rules – скриптовые файлы (.BAT, .CMD, .JS, .PS1 и .VBS).
Packaged app Rules – приложения из Microsoft Store форматов APPX и MSIX. - В этом примере создадим правила контроля программ для исполняемых файлов. Кликните правой кнопкой по разделу Executable Rules и выберите Create Default Rules.

- Будут созданы несколько предопределённых правил.Allow Everyone (все файлы в папке Program Files) – разрешает запуск файлов из каталога
Program Files.
Allow Everyone (все файлы в папке Windows) – разрешает запуск любых файлов из каталогаWindows.
Allow BUILTIN\Administrators (все файлы) – члены группы локальных администраторов могут запускать любые файлы.
- Например, вы можете разрешить обычным пользователям запуск определённого приложения вне зависимости от версии или расположения файла на диске.
- Создайте новое правило AppLocker. Выберите действие — Allow (разрешить) или Deny (запретить) запуск исполняемого файла. Выберите группу пользователей, для которой применяется политика (по умолчанию — Everyone).

- Далее укажите условия срабатывания AppLocker-правила. Есть три варианта:
Publisher – правило для подписанных файлов (по издателю). Можно выбрать: имя издателя, название продукта, имя файла или версию.
Path – укажите путь к папке или файлу, на который действует правило. Можно использовать полный путь или подстановочный символ (*), напримерC:\MyAppFolder\*применится ко всем исполняемым файлам в указанной папке.
File hash – правило для идентификации неподписанных файлов по SHA-256 хешу. Позволяет разрешать или блокировать запуск файла вне зависимости от имени и расположения. При изменении версии файла (например, после обновления) правило нужно пересоздать под новый хеш.В AppLocker доступны специальные переменные окружения для указания путей в правилах.Каталог или диск Windows Переменная AppLocker Каталог Windows %WINDIR%System32 и sysWOW64 %SYSTEM32%Диск с установленной Windows %OSDRIVE%Program Files %PROGRAMFILES%Съёмные носители (CD или DVD) %REMOVABLE%Съёмные устройства (USB-flash) %HOT% - Создадим правило для конкретного приложения по издателю. Выберите целевой исполняемый файл. Поскольку файл может отсутствовать на контроллере домена, где создаётся правило, можно использовать UNC путь к клиентскому компьютеру, например
\\computer123\c$\tools\tcpview64.exe. - Разрешим запуск файла по его имени, вне зависимости от версии. Для этого передвиньте ползунок на File Name или выберите более гибкие условия через опцию Use custom values.

- В разделе Exceptions можно создать исключения по пути, издателю или хешу файла. Это поможет, например, запретить запуск старых уязвимых версий программ или ограничить их запуск определёнными каталогами.

- Задайте имя нового правила AppLocker.

Теперь создадим правило, которое блокирует запуск приложения AnyDesk.exe.
- Добавьте новое правило AppLocker.
- Правило должно запретить запуск любого пользователя. Выберите действие: Deny, пользователь или группа: Everyone.

- Создайте правило Publisher и укажите исполняемый файл AnyDesk.
- Правило будет распространяться независимо от версии или расположения файла. Можно полностью запретить запуск файлов, подписанных издателем
O=ANYDESK SOFTWARE GMBH, или ограничить по названию продукта.

- Такое правило заблокирует программу, вне зависимости от каталога расположения или имени файла.

Чтобы применить созданные правила AppLocker на клиентских компьютерах, откройте свойства AppLocker в консоли GPO. Здесь доступны четыре типа правил:
- Executable rules – правила для классических исполняемых файлов Win32 (Exe)
- Windows Installer rules – правила для установочных MSI файлов
- Script Rules – правила для исполнения скриптов
- Packaged app Rules – правила для приложений из Microsoft Store (AppX/MSIX пакеты)
По умолчанию правила AppLocker не применяются. Чтобы включить их применение на клиентах, необходимо активировать опцию Configured и выбрать режим работы правил — Audit only (только аудит) или Enforce rules (применять правила).
Рекомендуется сначала применять правила в режиме аудита, чтобы протестировать их влияние без фактической блокировки приложений.

Свяжите GPO с настройками AppLocker с целевым организационным подразделением (OU). Рекомендуется сначала проверять правила ограничения ПО на тестовых компьютерах или OU.
После применения новых настроек групповой политики на клиентском компьютере проверьте работу правил AppLocker. Поскольку режим сейчас — аудит, приложения не блокируются.
Для анализа срабатывания политик AppLocker при запуске конкретных исполняемых файлов можно использовать логи Event Viewer. Откройте консоль просмотра событий eventvwr.msc и перейдите в раздел Application and Services Logs -> Microsoft -> Windows -> AppLocker -> EXE and DLL.
При обнаружении попытки запуска заблокированного исполняемого файла появится предупреждение с идентификатором события 8003, где указано имя блокируемого приложения.
%OSDRIVE%\TOOLS\ANYDESK.EXE был разрешён к запуску, но был бы заблокирован, если бы правила AppLocker применялись.
Если приложение разрешено к запуску, появляется событие с идентификатором 8002.

Тестируйте правила AppLocker под непривилегированными учётными записями, так как стандартные правила позволяют администраторам запускать любые приложения без ограничений. Пользователи должны работать в своих сессиях, запуская нужные программы и выполняя повседневные задачи.
Просмотрите приложения, которые блокируются согласно событиям аудита. С помощью PowerShell можно получить список приложений, заблокированных правилами AppLocker на компьютере:
$TimeSpan = (Get-Date).AddHours(-24)
Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-AppLocker/EXE and DLL"; Id = 8003; StartTime = $TimeSpan } | Format-Table TimeCreated, Message -AutoSize

Если текущая политика блокирует нужный исполняемый файл, отредактируйте AppLocker GPO, добавив правило, разрешающее запуск этого приложения.
После отладки правил AppLocker в режиме аудита можно включить их применение. Для этого в настройках AppLocker переключите режим на Enforce rules.

После этого AppLocker будет блокировать запуск всех приложений, которые не разрешены или явно запрещены правилами.
Это приложение было заблокировано вашим администратором

В журнал событий теперь будет добавляться событие с ID 8004, в котором указано имя заблокированного исполняемого файла.
%OSDRIVE%\TOOLS\ANYDESK.EXE был заблокирован от запуска.

Ручное создание отдельных правил для каждого разрешенного или запрещённого приложения в AppLocker трудоёмко и скучно. Существуют инструменты для ускорения и упрощения процесса создания и внедрения правил AppLocker.
В редакторе конфигурации AppLocker в консоли GPO есть функция автоматической генерации правил. Администратор может выбрать опцию Automatically Generate Rules и указать целевую папку на эталонном компьютере. После этого AppLocker автоматически сгенерирует список правил для всего ПО, найденного на этой машине.

Также можно создать правила AppLocker, импортируя их из отдельных компьютеров. Например, можно получить список заблокированных исполняемых файлов из логов Event Viewer с помощью PowerShell:
Get-ApplockerFileinformation -Eventlog -EventType Audited|fl
По этим данным можно автоматически добавить правила в локальную политику AppLocker:
Get-ApplockerFileinformation -Eventlog -EventType Audited | New-ApplockerPolicy -RuleType Hash, Publisher -User jsmith -RuleNamePrefix AuditBased | Set-ApplockerPolicy –MergeНовые правила добавятся в локальную политику AppLocker. Затем их можно экспортировать и импортировать в доменный GPO.

Команда для вывода только заблокированных исполняемых файлов (с количеством попыток запуска):
Get-AppLockerFileInformation -EventLog -EventType Denied -StatisticsПри создании правил AppLocker важно помнить следующее:
- Правила deny (запрет) имеют приоритет над разрешающими правилами.
- По умолчанию запуск запрещён для всего, кроме явных разрешений. То есть исполняемый файл запускается только если он явно разрешён правилом и не запрещён никаким другим.
- Для каждого правила можно задавать исключения. Например, можно разрешить запуск некоторых приложений администраторам, но запретить для обычных пользователей. Скриншот ниже показывает пример правила, разрешающего запуск PowerShell только администраторам (см. статью о запрете PowerShell на компьютере с Windows).

- При создании правил учитывайте, что группы вроде “Everyone” и “Domain Users” могут включать администраторов.
Возможно ли временно приостановить работу AppLocker на компьютере? Можно подумать, что остановка службы Application Identity отключит применение правил AppLocker. Но это не так.
Для временного отключения AppLocker нужно сначала остановить службу AppIDSvc, а затем удалить файлы AppCache.dat, Exe.AppLocker и Dll.AppLocker из папки C:\Windows\System32\AppLocker\.
