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

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

by admin
A+A-
Сброс

Использование политик безопасности AppLocker для управления запуском приложений в 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. Перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> System Services. Откройте свойства службы Application Identity и установите для неё автоматический запуск.
    Запуск службы Application Identity через GPO
  4. Далее разверните 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.
  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 – укажите путь к папке или файлу, на который действует правило. Можно использовать полный путь или подстановочный символ (*), например 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%
  10. Создадим правило для конкретного приложения по издателю. Выберите целевой исполняемый файл. Поскольку файл может отсутствовать на контроллере домена, где создаётся правило, можно использовать UNC путь к клиентскому компьютеру, например \\computer123\c$\tools\tcpview64.exe.
  11. Разрешим запуск файла по его имени, вне зависимости от версии. Для этого передвиньте ползунок на File Name или выберите более гибкие условия через опцию Use custom values.
    Создание правила контроля приложения для конкретной программы
  12. В разделе Exceptions можно создать исключения по пути, издателю или хешу файла. Это поможет, например, запретить запуск старых уязвимых версий программ или ограничить их запуск определёнными каталогами.
    Добавление исключения в правило AppLocker
  13. Задайте имя нового правила AppLocker.
    Список правил AppLocker в GPO

Теперь создадим правило, которое блокирует запуск приложения AnyDesk.exe.

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

Чтобы применить созданные правила 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 (применять правила).

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

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

Свяжите 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.

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

Тестируйте правила 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

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

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

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

Включение правил AppLocker в режим применения

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

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

Это приложение было заблокировано вашей политикой AppLocker

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

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

Событие ID 8004: EXE был заблокирован от запуска

Ручное создание отдельных правил для каждого разрешенного или запрещённого приложения в AppLocker трудоёмко и скучно. Существуют инструменты для ускорения и упрощения процесса создания и внедрения правил AppLocker.

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

Автоматическое создание правил 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 на компьютере с Windows).
    Политика AppLocker: разрешить запуск приложения только администраторам
  • При создании правил учитывайте, что группы вроде “Everyone” и “Domain Users” могут включать администраторов.

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

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

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

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

Вам также может понравиться

оставить комментарий

Focus Mode