Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Event ID 8004 Windows Server, AD и Роли

Траблшутинг обхода правил AppLocker: устранение уязвимостей и сбоев

Обновлено: 28.08.2026 · Официальная документация ↗

Симптомы обхода и некорректной работы AppLocker

Пользователи без прав администратора запускают нежелательные исполняемые файлы (EXE, скрипты PowerShell, DLL), несмотря на активные политики AppLocker. В журнале AppLocker/EXE and DLL фиксируются разрешающие события Event ID 8002 вместо блокирующих Event ID 8004.

СимптомПричина обхода
Запуск EXE из C:\Windows\Temp или AppDataСлишком широкое стандартное правило по пути (Path Rule: %WINDIR%\*)
Обход через скрипты (PowerShell / MSBuild / Regsvr32)Отсутствие правил для DLL и режима ConstrainedLanguage в PowerShell
Служба AppLocker не блокирует файлыСлужба удостоверения приложений (Application Identity - AppIDSvc) остановлена

Пошаговое закрытие брешей и аудит правил AppLocker

  1. Убедитесь, что служба AppIDSvc находится в автозапуске: без нее ядро Windows игнорирует проверки AppLocker:
    Set-Service -Name "AppIDSvc" -StartupType Automatic; Start-Service -Name "AppIDSvc"
  2. Закройте уязвимость каталогов с правом записи внутри C:\Windows: создайте запрещающие правила (Deny Rules) для общедоступных каталогов записи (Temp, Tasks, Spool\Drivers\Color):
    Get-ChildItem -Path "C:\Windows" -Directory -Recurse -ErrorAction SilentlyContinue | Where-Object { $acl = (Get-Acl $_.FullName).Access | Where-Object { $_.IdentityReference -like "*Users*" -and ($_.FileSystemRights -match "Write|FullControl|Modify") }; $acl -ne $null } | Select-Object FullName
  3. Проверьте принудительный режим Constrained Language Mode для PowerShell:
    $ExecutionContext.SessionState.LanguageMode
  4. Включите правила принудительной проверки DLL (DLL Rule Collection): перейдите в свойства AppLocker в secpol.msc, включите коллекцию правил для DLL и задайте режим «Enforce Rules».

Предупреждение: Включение правил принудительной блокировки DLL без предварительного аудита (Audit Only) может привести к сбоям стороннего ПО. Тестируйте правила в режиме аудита не менее двух недель.

💡 Практика специалистов: Никогда не ограничивайтесь только правилами по пути (Path Rules). Пользователи могут обойти их через запись в папки C:\Windows\Tracing или Temp. Всегда используйте правила по цифровым подписям издателя (Publisher Rules).

Частые вопросы (FAQ)

Почему AppLocker не блокирует файлы, если служба AppIDSvc выключена?

Драйвер ядра AppLocker (appid.sys) полагается на службу Application Identity для расчета хешей и проверки сертификатов файлов. Без службы перехват не функционирует.

Как перевести AppLocker в режим аудита для безопасного тестирования?

В редакторе локальной политики безопасности откройте свойства AppLocker и в выпадающем списке для каждой коллекции выберите 'Только аудит' (Audit only).

Где смотреть события блокировки AppLocker?

В Просмотре событий: Журналы приложений и служб -> Microsoft -> Windows -> AppLocker -> EXE and DLL (или MSI and Scripts).

Какой код события регистрируется при блокировке файла?

Event ID 8004 регистрируется при блокировке запуска программы политикой AppLocker.

Полезные материалы
Рекомендуем