Политики AppLocker: ограничение запуска программ в Windows
В корпоративной среде одна из ключевых задач системного администратора — контроль над тем, какие приложения могут запускать пользователи на своих рабочих станциях. Бесконтрольная установка и запуск стороннего ПО приводит к заражению вирусами-шифровальщиками, утечке данных и деградации производительности. Технология AppLocker, встроенная в Windows, позволяет гибко управлять списком разрешённых приложений через групповые политики Active Directory без необходимости покупки сторонних решений.
В этом руководстве мы подробно разберём архитектуру AppLocker, пошаговую настройку через GPO, все типы правил и условий, режим аудита для безопасного тестирования, мониторинг событий блокировки и автоматизацию управления правилами через PowerShell.
Что такое AppLocker и когда его использовать
AppLocker — это компонент Windows, предназначенный для контроля запуска приложений на основе правил (application whitelisting). Он пришёл на смену устаревшей технологии Software Restriction Policies (SRP), которая была признана deprecated начиная с Windows 10 версии 1803.
Ключевые преимущества AppLocker перед SRP:
- Более гибкие условия правил: по издателю (цифровой подписи), по пути и по хэшу файла
- Поддержка режима аудита — можно протестировать политику без реальной блокировки
- Раздельные категории правил для исполняемых файлов, скриптов, установщиков и пакетных приложений
- Возможность назначения правил на конкретные группы безопасности AD
- Встроенный мастер автоматической генерации правил на основе установленного ПО
Изначально AppLocker был доступен только в редакциях Enterprise и Education. Однако начиная с Windows 10 версии 2004 и Windows 11, политики AppLocker можно применять и в редакции Pro, что значительно расширяет возможности его использования в небольших организациях.
Предварительные требования и служба Application Identity
Перед настройкой правил AppLocker необходимо убедиться, что на целевых компьютерах запущена служба Application Identity (AppIDSvc). Эта служба отвечает за определение и проверку идентичности приложения при его запуске. Без неё правила AppLocker не применяются.
Проверить состояние службы через PowerShell:
Get-Service AppIDSvc | Select-Object Name, Status, StartType
Чтобы гарантировать автоматический запуск службы на всех компьютерах домена, настройте её через групповую политику. Откройте редактор GPO и перейдите:
Computer Configuration → Windows Settings → Security Settings → System Services → Application Identity
Установите тип запуска в Automatic. Это критически важный шаг — без него развёрнутые правила не будут применяться, и вы потратите часы на поиск проблемы.
Для немедленного запуска на локальной машине (например, при тестировании):
Set-Service -Name AppIDSvc -StartupType Automatic
Start-Service AppIDSvc
Создание политики AppLocker через GPO
Откройте консоль управления групповыми политиками (gpmc.msc) и создайте новый объект GPO или отредактируйте существующий. Перейдите к настройкам AppLocker:
Computer Configuration → Windows Settings → Security Settings → Application Control Policies → AppLocker
В правой панели вы увидите четыре категории правил:
- Executable Rules — управление запуском файлов
.exeи.com - Windows Installer Rules — контроль установочных пакетов
.msi,.msp,.mst - Script Rules — ограничение скриптов
.bat,.cmd,.js,.ps1,.vbs - Packaged app Rules — управление современными приложениями APPX и MSIX из Microsoft Store
Шаг 1: Создание правил по умолчанию
Прежде чем добавлять собственные запрещающие правила, обязательно создайте набор правил по умолчанию. Щёлкните правой кнопкой по категории Executable Rules и выберите Create Default Rules. Будут созданы три базовых правила:
- Разрешить всем пользователям запускать файлы из
%PROGRAMFILES% - Разрешить всем пользователям запускать файлы из
%WINDIR% - Разрешить группе
BUILTIN\Administratorsзапускать любые файлы
Аналогично создайте правила по умолчанию для остальных категорий (Windows Installer Rules, Script Rules). Это предотвратит случайную полную блокировку системы.
Шаг 2: Добавление пользовательских правил
После создания базовых правил можно добавить запрещающие правила. Например, чтобы заблокировать запуск приложений из пользовательских папок (частый вектор атак шифровальщиков), создайте правило Deny для группы Everyone с условием Path:
%LOCALAPPDATA%\*— блокирует запуск из папки AppData\Local%APPDATA%\*— блокирует запуск из AppData\Roaming%TEMP%\*— блокирует запуск из временной папки%USERPROFILE%\Desktop\*— блокирует запуск с рабочего стола%USERPROFILE%\Downloads\*— блокирует запуск из загрузок
Типы условий для правил AppLocker
Каждое правило AppLocker использует одно из трёх условий для идентификации приложения.
Publisher (Издатель)
Условие на основе цифровой подписи файла. Это наиболее гибкий и рекомендуемый тип, поскольку правило продолжает работать при обновлении приложения до новой версии. Можно задать различный уровень детализации:
- Издатель — разрешить все приложения от конкретного издателя (например, Microsoft Corporation)
- Имя продукта — разрешить конкретный продукт любой версии
- Имя файла — разрешить конкретный исполняемый файл
- Версия — разрешить только определённую версию или выше
Path (Путь)
Условие на основе расположения файла. Поддерживает подстановочные символы и специальные переменные AppLocker:
%WINDIR%— каталог Windows (обычно C:\Windows)%SYSTEM32%— каталог System32 (включая SysWOW64 на 64-битных системах)%OSDRIVE%— системный диск (C:\)%PROGRAMFILES%— Program Files и Program Files (x86)%REMOVABLE%— съёмные носители (флешки, внешние диски)%HOT%— оптические носители (CD/DVD)
Например, правило C:\Tools\* разрешит запуск всех исполняемых файлов из папки C:\Tools и её подпапок.
File Hash (Хэш файла)
Условие на основе SHA256-хэша файла. Используется для неподписанных приложений. Главный недостаток — при каждом обновлении приложения хэш меняется, и правило перестаёт работать. Подходит для редко обновляемых утилит.
Режим аудита: тестирование без блокировки
Прежде чем переводить AppLocker в принудительный режим, настоятельно рекомендуется использовать режим аудита (Audit only). В этом режиме все приложения запускаются без ограничений, но каждый случай, который был бы заблокирован, записывается в журнал событий.
Настройка режима: в редакторе GPO нажмите Configure rule enforcement в свойствах AppLocker и для каждой категории выберите Audit only.
Через PowerShell можно проверить текущий режим:
Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections
Рекомендуемый план внедрения:
- Разверните политику в режиме Audit only на пилотную группу компьютеров (2-4 недели)
- Проанализируйте журналы событий и выявите легитимные приложения, которые будут заблокированы
- Создайте разрешающие правила для этих приложений
- Переведите политику в режим Enforce rules
- Распространите на остальные компьютеры домена
Мониторинг событий AppLocker
Все события AppLocker записываются в журнал Applications and Services Logs → Microsoft → Windows → AppLocker. Ключевые Event ID, на которые следует обращать внимание:
- Event ID 8002 — приложение разрешено к запуску правилом
- Event ID 8003 — приложение было бы заблокировано (режим аудита)
- Event ID 8004 — приложение заблокировано правилом (принудительный режим)
- Event ID 8006 — политика AppLocker применена успешно
- Event ID 8007 — ошибка применения политики
Для быстрого поиска всех заблокированных приложений через PowerShell:
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" |
Where-Object { $_.Id -eq 8004 } |
Select-Object TimeCreated, Message -First 50 |
Format-List
Для анализа событий аудита (что было бы заблокировано):
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" |
Where-Object { $_.Id -eq 8003 } |
Select-Object TimeCreated,
@{N='User';E={$_.Properties[1].Value}},
@{N='FilePath';E={$_.Properties[0].Value}} -First 100 |
Format-Table -AutoSize
Автоматическая генерация правил
Ручное создание правил для десятков приложений — трудоёмкий процесс. AppLocker предлагает мастер Automatically Generate Rules, который сканирует указанную папку и создаёт правила для всех найденных исполняемых файлов.
Из консоли GPO: щёлкните правой кнопкой по категории правил и выберите Automatically Generate Rules. Укажите папку для сканирования (например, C:\Program Files) и группу пользователей, для которой создаются разрешения. Мастер предложит выбрать тип условий: Publisher, File Hash или Path.
Аналогичную операцию можно выполнить через PowerShell. Сначала получите текущую политику, затем сгенерируйте правила на эталонном компьютере:
# Получить текущую политику
Get-AppLockerPolicy -Local | Format-List
# Сгенерировать правила для папки Program Files
Get-AppLockerFileInformation -Directory "C:\Program Files" -Recurse |
New-AppLockerPolicy -RuleType Publisher,Hash -User Everyone -Optimize |
Set-AppLockerPolicy -Merge
Управление правилами AppLocker через PowerShell
PowerShell позволяет полностью автоматизировать управление политиками AppLocker. Это особенно полезно при стандартизации правил на множестве серверов или при интеграции в CI/CD пайплайны.
Экспорт и импорт политик
Экспорт текущей политики в XML-файл для резервного копирования или переноса:
Get-AppLockerPolicy -Effective -Xml | Out-File "C:\Backup\AppLockerPolicy.xml" -Encoding UTF8
Импорт политики из файла:
Set-AppLockerPolicy -XmlPolicy "C:\Backup\AppLockerPolicy.xml"
Для применения политики на удалённый компьютер через GPO используйте модуль GroupPolicy:
$gpo = Get-GPO -Name "AppLocker - Workstations"
Set-AppLockerPolicy -XmlPolicy "C:\Policies\applocker_standard.xml" -Ldap "LDAP://CN=$($gpo.Id),CN=Policies,CN=System,DC=contoso,DC=local"
Создание правил через PowerShell
Создание разрешающего правила по издателю для конкретного приложения:
# Получить информацию о файле
$fileInfo = Get-AppLockerFileInformation -Path "C:\Program Files\7-Zip\7z.exe"
# Создать правило Publisher для группы Users
$rule = $fileInfo | New-AppLockerPolicy -RuleType Publisher -User "CONTOSO\Domain Users" -Optimize
# Применить правило (объединить с существующими)
$rule | Set-AppLockerPolicy -Merge
Тестирование политики
Перед применением можно протестировать, как политика повлияет на конкретный файл:
Test-AppLockerPolicy -Path "C:\Users\john\Downloads\setup.exe" -XmlPolicy "C:\Policies\applocker_standard.xml" -User "CONTOSO\john"
Результат покажет, будет ли файл разрешён (Allowed), заблокирован (Denied) или не попадает ни под одно правило.
Set-AppLockerPolicy без флага -Merge текущая политика будет полностью заменена содержимым XML-файла. Всегда указывайте -Merge, если хотите добавить новые правила к существующим, а не заменить их.Исключения в правилах AppLocker
Каждое правило AppLocker поддерживает исключения, что обеспечивает гибкость настройки. Например, вы можете создать разрешающее правило для всех приложений Microsoft, но добавить исключение для powershell_ise.exe, если хотите запретить его запуск обычным пользователям.
Исключения особенно полезны в сочетании с правилами типа Publisher. Например: разрешить все приложения от издателя Adobe, кроме Adobe Flash Player (который давно устарел и является вектором атак).
Важно помнить иерархию обработки правил:
- Запрещающие правила (Deny) всегда имеют приоритет над разрешающими (Allow)
- Если для категории существует хотя бы одно правило, по умолчанию всё, что не разрешено явно, блокируется
- Исключения в разрешающем правиле фактически создают запрет для указанных файлов
AppLocker vs. WDAC: что выбрать
Начиная с Windows 10, Microsoft продвигает Windows Defender Application Control (WDAC) как более современную альтернативу AppLocker. Однако оба инструмента имеют свои области применения.
AppLocker лучше подходит, когда:
- Нужна быстрая настройка через привычный интерфейс GPO
- Требуется назначение правил на группы пользователей (WDAC работает только на уровне компьютера)
- Инфраструктура уже построена на групповых политиках AD
- Нужен режим аудита с минимальными усилиями
WDAC предпочтителен, когда:
- Требуется контроль на уровне ядра (kernel-level enforcement)
- Нужна защита от атак на привилегированных пользователей (AppLocker можно обойти с правами администратора)
- Используется управление через Microsoft Intune (MDM)
- Необходима защита от запуска неподписанных драйверов
Практические рекомендации по внедрению
На основе опыта внедрения AppLocker в десятках организаций можно выделить ключевые рекомендации:
- Начинайте с режима аудита — минимум 2 недели сбора данных перед включением принудительного режима
- Используйте отдельные GPO — не смешивайте правила AppLocker с другими настройками безопасности
- Блокируйте пользовательские каталоги — запрет запуска из %APPDATA%, %TEMP%, Downloads и Desktop закроет большинство векторов атак шифровальщиков
- Предпочитайте Publisher-правила — они автоматически поддерживают обновления приложений
- Документируйте каждое правило — в поле Description указывайте причину создания и номер заявки
- Создайте процедуру исключений — определите, кто и как может запросить добавление нового приложения в белый список
- Регулярно проверяйте журналы — отслеживайте Event ID 8004 для выявления легитимных приложений, требующих разрешения
Правильно настроенный AppLocker существенно повышает уровень безопасности рабочих станций и серверов, защищая от запуска вредоносного ПО, несанкционированных утилит и нелицензионного софта. Если в вашей организации требуется внедрение политик контроля приложений, настройка групповых политик Active Directory или комплексный аудит безопасности инфраструктуры, специалисты IT-аутсорсинговой компании ITfresh помогут реализовать это быстро и без рисков для рабочих процессов.
Официальная документация: Microsoft Learn — Windows Server, Microsoft Learn — PowerShell
Часто задаваемые вопросы
Что такое Политики AppLocker: ограничение запуска программ в Windows?
Политики AppLocker: ограничение запуска программ в Windows — это важный аспект системного администрирования, который позволяет настроить и оптимизировать работу IT-инфраструктуры. В данной статье подробно рассматриваются все ключевые моменты.
Как правильно настроить Политики AppLocker: ограничение запуска программ в Windows?
Для корректной настройки Политики AppLocker: ограничение запуска программ в Windows необходимо следовать пошаговой инструкции, представленной в статье выше. Важно учитывать особенности вашей инфраструктуры и требования безопасности.
Какие типичные ошибки возникают при работе с Политики AppLocker: ограничение запуска программ в Windows?
Наиболее частые ошибки при работе с Политики AppLocker: ограничение запуска программ в Windows: некорректная конфигурация, недостаточные права доступа и несовместимость версий. Рекомендуем обратиться к специалистам ITFresh для профессиональной настройки.
Возьмём это на себя
Настройка и администрирование — наша ежедневная работа. 15+ лет опыта, собственная инфраструктура, сертифицированные инженеры.