AppLocker: настройка политики ограничения приложений в Windows для повышения безопасности

Создание и развертывание политик AppLocker через групповые политики (GPO) в Windows

С помощью политик безопасности AppLocker администраторы могут блокировать или разрешать запуск конкретных приложений в Windows. При помощи AppLocker можно ограничить выполнение программ для определенной группы пользователей, при этом позволяя другим, например администраторам, запускать эти приложения. В этом руководстве объясняется, как создать и применить политики доступа к приложениям AppLocker через групповые политики (GPO).

Функция контроля приложений AppLocker изначально была доступна только в версиях Enterprise Windows. Однако, начиная с Windows 10 версии 2004 и всех версий Windows 11, эти ограничения по изданиям были сняты, что позволило применять политики AppLocker и в версиях Pro.

Ранее ограничения на запуск приложений в Windows реализовывались через Политику ограничения программного обеспечения (Software Restriction Policies, SRP). Тем не менее, функциональность SRP была устаревшей с выхода Windows 10 версии 1803 и Windows Server 2019.

Давайте создадим новый групповый объект политики (GPO) в домене, содержащий настройки контроля AppLocker, используя оснастку управления групповой политикой gpmc.msc (аналогично можно настроить AppLocker и на отдельном компьютере через Редактор локальной групповой политики).

  1. Создайте новый GPO и откройте его для редактирования.
  2. Для применения политик AppLocker на клиентских системах должна быть включена и работать служба Application Identity (служба AppIDSvc по умолчанию отключена в Windows).
  3. Перейдите в Конфигурация компьютера –> Параметры Windows –> Параметры безопасности –> Системные службы (Computer Configuration -> Windows Settings -> Security Settings -> System Services). Откройте свойства службы Application Identity и установите автоматический запуск.
    Запуск службы Application Identity через GPO
  4. Затем разверните Конфигурация компьютера –> Политики –> Параметры Windows –> Параметры безопасности –> Политики контроля приложений –> AppLocker. Здесь можно создать правила для четырех категорий программного обеспечения:

    Правила исполняемых файлов (Executable Rules) – файлы .EXE и .COM.
    Правила Windows Installer (Windows Installer Rules) – установочные файлы .MSI, .MSP, .MST.
    Правила для скриптов (Script Rules) – скрипты .BAT, .CMD, .JS, .PS1, и .VBS.
    Правила для упакованных приложений (Packaged app Rules) – приложения форматов APPX и MSIX из Microsoft Store.
  5. В данном примере создадим правила для контроля исполняемых файлов. Щелкните правой кнопкой на Executable Rules и выберите Create Default Rules.
    Создание стандартных правил в Applocker
  6. Будут созданы несколько предопределенных правил.
    Allow Everyone (Все файлы в папке Program Files) – разрешает пользователям запускать файлы из папки Program Files.
    Allow Everyone (Все файлы в папке Windows) – разрешает запуск любых файлов в каталоге Windows.
    Allow BUILTIN\Administrators (Все файлы) – члены локальной группы Администраторов могут запускать любые файлы.

    Предопределённые правила

  7. Например, вы можете захотеть разрешить неадминистраторам запускать конкретное приложение вне зависимости от его версии или расположения в файловой системе.
  8. Создайте новое правило AppLocker. Выберите, разрешать (Allow) или запрещать (Deny) запуск исполняемого файла. Укажите группу пользователей, к которой будет применяться правило (по умолчанию Everyone).
    Настройка прав правила AppLocker
  9. Далее выберите условие для правила AppLocker. Доступно три варианта:
    Publisher – создание правил для подписанных файлов (конкретного издателя). При этом можно указать имя издателя, название продукта, имя файла или его версию.
    Path – указание пути к папке или файлу, на который будет распространяться правило. Можно указать полный путь к EXE файлу или использовать подстановочный знак (*). Например, правило C:\MyAppFolder\* применится ко всем исполняемым файлам в указанной директории.
    File hash – правило для идентификации неподписанных файлов по SHA-256 хешу. Оно разрешает или запрещает запуск файла независимо от имени и пути. При изменении версии файла (например, после обновления) правило нужно создать заново для нового хеша.

    В AppLocker можно использовать специальные переменные окружения при указании путей:

    Путь или диск Windows Переменная AppLocker
    Папка Windows %WINDIR%
    System32 и SysWOW64 %SYSTEM32%
    Диск установки Windows %OSDRIVE%
    Program Files %PROGRAMFILES%
    Съемные носители (CD или DVD) %REMOVABLE%
    Съемные устройства (USB) %HOT%
  10. Создадим правило для конкретного приложения по издателю. Укажите целевой исполняемый файл. Поскольку этот файл может отсутствовать на контроллере домена, где создается правило AppLocker, вы можете использовать UNC путь для выбора файла с клиентского компьютера (например, через административную шаринг-путь Windows: \\computer123\c$\tools\tcpview64.exe).
  11. Я хочу разрешить запуск этого файла по имени вне зависимости от версии. Для этого ползунок выставьте на File Name. Либо используйте более гибкие настройки через опцию Use custom values.
    Создание правила контроля приложений для конкретной программы
  12. В разделе Exceptions можно указать исключения по пути, издателю или хешу файла. Например, можно запретить запуск старых уязвимых версий приложений или ограничить их запуск папками.
    Добавление исключения в правило AppLocker
  13. Задайте имя новому правилу AppLocker.
    Список правил AppLocker в GPO

Пример: блокируем запуск приложения AnyDesk

  1. Добавьте новое правило AppLocker.
  2. Правило должно запрещать запуск приложения для всех пользователей. Выберите действие: Deny, для группы Everyone.
    Правило AppLocker запрещающее запуск приложения
  3. Создайте правило типа Publisher и выберите исполняемый файл AnyDesk.
  4. Это правило будет применяться вне зависимости от версии и расположения файла. Можно полностью запретить запуск всех файлов, подписанных издателем O=ANYDESK SOFTWARE GMBH, либо ограничиться запретом по названию продукта.
    Создание правила для блокировки AnyDesk по имени
  5. Такое правило заблокирует запуск программы вне зависимости от папки и имени исполняемого файла.
    word image
Хотя локальным администраторам разрешён запуск любых локальных исполняемых файлов, правило типа «deny» всегда имеет приоритет и будет блокировать запуск.

Чтобы применить политики AppLocker на клиентских компьютерах, откройте свойства AppLocker в оснастке GPO. Здесь доступны четыре типа правил:

  • Executable rules – для классических Win32 исполняемых файлов (.exe)
  • Windows Installer rules – правила для MSI установщиков
  • Script rules – правила запуска скриптов
  • Packaged app rules – правила для AppX/MSIX приложений из Microsoft Store

По умолчанию правила AppLocker не применяются. Чтобы внедрить их на клиентских машинах, необходимо включить опцию Configured и выбрать режим работы — Audit only (только журнал) или Enforce rules (жесткое применение).

Рекомендуется сначала применить правила в режиме аудита, чтобы проверить влияние на клиентов без фактической блокировки запуска приложений.

Включение правил AppLocker в режиме аудита

Привяжите GPO с настройками AppLocker к нужному подразделению Active Directory (рекомендуется сначала тестировать правила на отдельных тестовых компьютерах/OU).

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

Для анализа срабатывания правил используйте логи Event Viewer. Откройте консоль Event Viewer (eventvwr.msc) и перейдите по пути Application and Services Logs → Microsoft → Windows → AppLocker → EXE and DLL.

При попытке запуска заблокированного файла AppLocker создаёт предупреждение с Event ID 8003, в котором указано имя заблокированного приложения:

%OSDRIVE%\TOOLS\ANYDESK.EXE был разрешён к запуску, но был бы заблокирован, если бы политика AppLocker применялась на строгом уровне.

Если запуск разрешён, создаётся запись Event ID 8002.

Event ID 8002: запуск разрешён, если бы правила применялись

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

Просмотрите, какие приложения были заблокированы, пользуясь событиями аудита. Для этого можно использовать PowerShell, чтобы запросить логи Event Viewer и получить список приложений, заблокированных 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

PowerShell: список приложений, заблокированных правилами AppLocker

Если политика AppLocker блокирует нужный exe-файл, отредактируйте политику GPO AppLocker, добавив правило, разрешающее запуск этого приложения.

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

Принудительное применение правил AppLocker

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

Это приложение заблокировано администратором

Сообщение 'This app has been blocked by your administrator' из политики AppLocker

В журнал событий будет добавлено событие с ID 8004, содержащее имя заблокированного файла:

%OSDRIVE%\TOOLS\ANYDESK.EXE был заблокирован от запуска.

Event ID 8004: блокировка запуска exe-файла

Ручное создание правил для каждого приложения — трудоемкий процесс. Для ускорения и упрощения настройки есть несколько инструментов.

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

Автоматическая генерация правил AppLocker

Также можно сформировать правила, импортируя их с отдельных компьютеров. Например, можно получить список заблокированных файлов из журналов Event Viewer через PowerShell:

Get-ApplockerFileinformation -Eventlog -EventType Audited|fl

Вывод Get-ApplockerFileinformation - список событий

На основе этой информации можно автоматически добавить правила в локальную политику AppLocker:

Get-ApplockerFileinformation -Eventlog -EventType Audited | New-ApplockerPolicy -RuleType Hash, Publisher -User jsmith -RuleNamePrefix AuditBased | Set-ApplockerPolicy –Merge

Новые правила добавятся в локальную политику AppLocker компьютера. Оттуда их можно экспортировать и импортировать в доменную GPO.

Импорт и экспорт настроек политики AppLocker с отдельного компьютера

Для вывода только заблокированных исполняемых файлов (с количеством попыток запуска) используйте:

Get-AppLockerFileInformation -EventLog -EventType Denied -Statistics

Обратите внимание на важные моменты при создании правил AppLocker:

  • Правила типа deny (запрет) имеют приоритет над разрешающими.
  • По умолчанию всё запрещено, если явно не разрешено –для запуска файла должно быть явно разрешение, и он не должен быть запрещён ни одним другим правилом.
  • Для каждого правила можно задать исключения. Например, можно разрешить запуск приложения для одних групп пользователей и запретить для других. На скриншоте показан пример, где PowerShell разрешён только администраторам, а заблокирован для всех остальных (пример создания таких правил описан в статье о деактивации PowerShell).
    Политика AppLocker: разрешить запуск приложения только администраторам
  • При создании правил учитывайте, что группы «Everyone» и «Domain Users» могут содержать администраторов.

Как временно отключить AppLocker на компьютере? Можно подумать, что для отмены правил достаточно остановить службу Application Identity, но это не так.

Чтобы временно отключить AppLocker, нужно сначала остановить службу AppIDSvc, затем удалить файлы AppCache.dat, Exe.AppLocker и Dll.AppLocker из папки C:\Windows\System32\AppLocker\.

Где на диске хранятся применённые политики AppLocker

Современные версии Windows содержат дополнительный механизм контроля запуска программ — Windows Defender Application Control (WDAC). Хотя его настройка чуть более сложная, WDAC обеспечивает более гибкую и масштабируемую защиту, а также расширяет контроль до уровня ядра (например, драйверы), в отличие от AppLocker, который работает только в пользовательском режиме.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *