Политики AppLocker позволяют запретить или разрешить запуск определенных приложений пользователями Windows. Можно запретить запускать программы определенным группам пользователей и разрешить запуск другим (например, администраторам). В этой статье мы рассмотрим, как разработать и применить настройки контроля запуска приложений AppLocker через групповые политики.
Изначально AppLocker позволял применять ограничивающие политики только для Enterprise редакций Windows. Начиная с Windows 10 2004 и Windows 11, политики AppLocker можно применять и для Pro редакций.
Создадим новую доменную GPO с настройками AppLocker с помощью консоли управлениями доменными политиками
gpmc.msc
(по аналогии можно создавать политики Applocker на отдельных компьютерах с помощью локальной групповой политике).
- Перейдите в режим редактирования новой GPO
- Чтобы политики AppLocker применялись к клиентам, на них должна быть включена служба Application Identity (служба
AppIDSvc
по умолчанию отключена). - Перейдите в раздел 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, and .VBS).
Packaged app Rules – APPX и MSIX приложения Microsoft Store. - Мы создаем правила для простых исполняемых файлов. Поэтому щелкните правой клавишей по Executable Rules и выберите Create Default Rules
- Будут созданы несколько стандартных правил AppLocker:Allow Everyone (All files located in the Program Files folder) – правило разрешает пользователям запуск любых файлов из каталогов Program FilesAllow Everyone (All files located in the Windows folder) – разрешает запускать пользователям все файлы из каталога WindowsAllow BUILTIN\Administrators (All files) – позволяет членам группы локальных администраторов запускать любые файлы.
- Допустим, вы хотите разрешить пользователям запускать определение приложение (независимо от его версии и местоположения)
- Создайте новое правило AppLocker. Выберите хотите ли вы разрешить (Allow) или запретить (Deny) запуск исполняемого файла. Выберите группу пользователей (по умолчанию Everyone), для которых будет применяться эта политика.
- Далее нужно выбрать тип условий для правила AppLocker. Доступны три варианта:
Publisher – позволяет создать правила для подписанных файлов (файлов от определенного издателя). В таком правиле можно выбрать название компании, имя продукта, имя исполняемого файла или версию файла
Path – позволяет указать путь к каталогу или файлу, к которому будет применяться правило. Можно указать как полный путь к EXE файлу, так и использовать подстановочный символ * (например, правило C:\MyAppFolder\* будет применяться ко всем исполняемым файлам в указанном каталоге)
File hash – правило позволяет идентифицировать неподписанный файл по его хэшу (SHA256). Такое правило позволит разрешить или запретить запуск файла независимо от его имени или расположении на диске. Но, если версия файла изменится (например после обновления версии софта), правило придется пересоздавать для нового хэша.
При указании путей можно использовать следующие переменные, специфические для AppLocker.
Каталог или диск Windows Переменная пути AppLocker Каталог Windows %WINDIR%
Каталоги System32 и SysWOW64 %SYSTEM32%
Корневой каталог установки Windows (диск C:) %OSDRIVE%
Каталог Program Files %PROGRAMFILES%
Съемные носители (например, CD или DVD) %REMOVABLE%
Съемные запоминающие устройства (USB-накопители) %HOT%
- Мы создадим правило для издателя. Нужно выбрать целевой файл. Т.к. этот файл отсутствует на контроллере домена, с которого мы создаем правило AppLocker, можно указать UNC путь к нему на клиентском компьютере (например, в формате административной шары:
"\\ClientPC123\c$\MyAppFolder\tcpview64.exe"
- Я хочу разрешить запуск этого файла по его имени (независимо от версии). Поэтому ползунок передвигаем на поле File Name. Либо можно настроить более гибкие условия с помощью опции Use custom values.
- В разделе Exceptions можно сделать исключения по пути, издателю или хэшу файла (например, запретить запуск старых уязвимых версий приложений, или запретить запуск из определенных папок).
- Осталось задать имя нового правила AppLocker.
Теперь создадим правило, которое запрещает запуск
anydesk.exe
- Создайте новое правило AppLocker
- Правило должно запрещать запуск приложения для всех. Выбираем Action: Deny, User or Group: Everyone.
- Создайте новое правило по Publisher и выберите исполняемый файл AnyDesk.
- Правило должно срабатывать независимо от версии и местоположение файла. Можно полностью запретить запуск файлов, подписанных издателем O=ANYDESK SOFTWARE GMBH, или ограничить запуск по имени продукта.
- Такое правило будет запрещать запуск данной программы независимо от каталога, в котором находится исполняемый файл и фактического имени файла
Чтобы созданные вами правила AppLocker применялись к клиентам, нужно открыть свойства AppLocker в консоли GPO. Здесь доступны четыре типа правил
- Executables rules – правила для произвольных исполняемых файлов
- Windows Installer rules – правила для MSI установщиков
- Script Rules – правила запуска скриптов
- Packaged all Rules – правила для APPX/MSIX приложений Microsoft Store
По умолчанию правила AppLocker не применяются. Чтобы применить правила для клиентов, нужно включить опцию Configured и выбрать хотите ли вы применить правила в режиме аудита (Audit mode), или в “боевом” режиме Enforce rules.
Сначала рекомендуется применить правила в режиме аудита, чтобы протестировать работу правил на клиенте без фактической блокировки запуска.
Назначьте GPO с настройками AppLocker на целевую OU (настоятельно рекомендуем сначала проверять правила блокировки на тестовых компьютерах/OU).
После применения новых настроек групповых политик к клиенту, проверьте как работают на нем правила AppLocker. Т.к. на данный момент правила AppLocker работают в режиме аудита, запуск приложений не блокируется.
Чтобы проверить, как AppLocker срабатывает на запуск различных файлов нужно смотреть события аудита. Откройте консоль Event Viewer -> Application and Services Logs -> Microsoft -> Windows -> AppLocker -> EXE and DLL.
Если AppLocker обнаруживает запуск исполняемого файла, который запрещен политиками запуска, в журнал будет добавлен warning с EventID 8003, в котором будет указано имя заблокированного приложения.
%OSDRIVE%\TOOLS\ANYDESK.EXE was allowed to run but would have been prevented from running if the AppLocker policy were enforced.
Если запуск приложения разрешен, добавляется информационное событие с EventID 8002.
Протестируйте работу правил AppLocker под пользователями, потому что дефолтные правила разрешаются администраторам запускать все. Пользователь должен поработать в своей сессии, запуская необходимые ему программы и выполняя свои стандартные рабочие задачи.
Изучите приложения, запуск которых судя по событиям аудита будет блокироваться.
Для выгрузки списка приложений из Event Viewer, которые будут блокироваться правилами AppLocker можно использовать PowerShell:
$MyPeriod = (Get-Date).AddHours(-24)
Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-AppLocker/EXE and DLL"; Id = 8003; StartTime = $MyPeriod} | Format-Table TimeCreated, Message -AutoSize
Если политика блокирует запуск нужного файла, отредактируйте GPO с AppLocker и добавьте разрешающее правило для запуска такого приложения.
После того, как вы отладили правила AppLocker в режиме аудита, можно применить политики уже в боевом режиме. Для этого в настройках политики AppLocker измените Audit на Enforce rules.
Теперь AppLocker будет блокировать запуск запрещенных приложений:
This app has been blocked by your administrator
Теперь в Event Viewer появится ошибка с Event ID 8004 и именем заблокированного файла:
%OSDRIVE%\TOOLS\ANYDESK.EXE was prevented from running.
Создавать отдельные правила для разрешенных и запрещенных программ AppLocker вручную довольно долго и утомительно. Для ускорения процесса можно использовать несколько инструментов.
В консоли редактора политики AppLocker доступна функция автоматической генерации файла. Администратор может выбрать опцию Automatically Generate Rules, указать целевую папку на эталонной машине и для AppLocker будет сформирован список правил для всего найдено на компьютере софта.
Также можно создать правила AppLocker, импортировав правила с отдельных компьютеров. Например, с помощью PowerShell можно извлечь из журнала событий список заблокированных:
Get-ApplockerFileinformation -Eventlog -EventType Audited|fl
На основании этих данных сразу можно создать правила для локальной политики AppLockerL
Get-ApplockerFileinformation -Eventlog -EventType Audited | New-ApplockerPolicy -RuleType Hash, Publisher -User abelov -RuleNamePrefix AuditBased | Set-ApplockerPolicy –Merge
Новые правила будут добавлены в локальную политику AppLocker компьютера, откуда их можно экспортировать и перенести в доменную GPO.
Вывести только заблокированные файлы (в том числе количество попыток запустить каждый файл):
Get-AppLockerFileInformation -EventLog -EventType Denied -Statistics
При разработке правил AppLocker нужно иметь в виду следующие моменты:
- Явно запрещающие правила имеют приоритет на разрешающими
- По умолчанию запрещено все, кроме явно разрешенного. Другими словами, разрешённый файл для запуска исполняемый файл не должен быть явно запрещён и должен быть явно разрешён.
- В каждом правиле можно добавлять исключения (это, к примеру позволит применить некоторые правила только для определенных групп пользователей, сделав исключения для других групп). На скриншоте показан пример, как с помощью исключений запретить запуск PowerShell простым пользователям и разрешить администраторам, но запретить для обычных пользователей. Пример реализации такого правила в статье об отключении PowerShell на компьютере).
- При написании правил помните, что некоторые группу, например Everyone или Domain Users будут включать в себя и администраторов.
Касательно возможности временной приостановки работы AppLocker на компьютере. Может показаться, что, остановив службу Application Identity, правила AppLocker перестанут применяться. Однако это не так.
Для временного отключения AppLocker на компьютере нужно оставить службу AppIDSvc и удалить в папке
C:\Windows\System32\AppLocker\
файлы AppCache.dat, Exe.AppLocker и Dll.AppLocker.
Насколько я помню блокировка по издателю (из цифровой подписи к файлам) работает и без applocker на Windows XP еще. При этом сертификат издателя заносится в список «не доверенных издателей».
Только забыли упомянуть, что AppLocker работает только на версиях Windows 7 Максимальная и Корпоративная. А на остальных версиях — увы…
Cherand Спасибо за уточнение. Все правильно, AppLocker только в Enterprise и Ultimate
А как в домене сделать блокировку — применяется наверняка уже другой инструмент?
Applocker можно применять и в доменной среде. Конечно, это не единственный инструментарий по блокировке программ в среде Windows, для этих целей, например, как мы говорили можно использовать Software Restriction Policy и другие опции групповых политик. Но имхо AppLocker — наиболее удобный инструмент.
«..
1. Откройте объект групповой политики,
..»
Это по-виндузячьи. написать тонну объяснений и не сказать про простые вещи — где открыть этот самый объект групповой политики. Как автор открыл сию оснастку — вообще фик его знает.
Ааналогичный функционал есть в secpol.msc + запуск службы «управление приложениями +настройка службы на автомат), но те правила действуют не всегда. На одном компьютере будут работать, а на другом нет.
Вспоминаю времена, когда windows был домашней ОС, и вот такие вот советы. Ничего не поменялось у «windows»-гуру. наверное, нужно быть виндузятником в крови.
Системный администратор, который не знает что такое групповые политики?…
Внимание, AppLocker по дефолту запрещает все, то есть для портабле на рабочем столе или в appdate юзера нужно выпиливать соответствующим правилом. Спасибо отличный сайт.
TOR таким образом можно заблочить? А то у меня в колледже студенты любят ставить и на флешках приносить.
Частично вам может помочь AppLocker / SRP — и внимательно ограничение прав. Вплость до запрета запуска exe файлов из несистемных каталогов.
Благодарю, буду пробовать.