- Как настроить Windows Defender Application Control, чтобы блокировать всё неподписанное ПО
- Почему именно WDAC, а не антивирус?
- Как настроить WDAC за 5 шагов
- Что будет, если что-то не запустится?
- Сравнение уровней политики: что выбрать?
- Что выбрать в зависимости от ситуации
- Частые ошибки, которые ломают WDAC
- Как лучше сделать: практические советы
- Итог: что делать прямо сейчас
Как настроить Windows Defender Application Control, чтобы блокировать всё неподписанное ПО
Вы работаете в компании, где недавно произошёл инцидент: один из сотрудников запустил файл с сайта, который оказался трояном. Или вы админ в маленьком офисе, и у вас нет бюджета на дорогое EDR-решение. Или вы просто хотите, чтобы на вашем компьютере ничего не запускалось, кроме того, что вы точно знаете — и что подписано доверенным сертификатом.
Windows Defender Application Control (WDAC) — это не «ещё одна настройка антивируса». Это системный механизм, который работает на уровне ядра Windows и блокирует исполнение файлов до того, как они успеют запуститься. Он не ищет вредоносный код — он просто не даёт запуститься тому, что не подписано. И это работает. Надёжно.
В этой статье я покажу, как настроить WDAC так, чтобы он блокировал все неподписанные исполняемые файлы — без лишних сложностей, без теории про политики и XML-схемы. Только то, что нужно, чтобы всё заработало на практике.
Почему именно WDAC, а не антивирус?
Антивирусы работают по сигнатурам и поведенческому анализу. Они могут пропустить новый вредоносный файл — особенно если он не распространён или написан специально под вашу систему. WDAC работает иначе: он не спрашивает «это вирус?». Он спрашивает: «у этого файла есть цифровая подпись от доверенного издателя?»
Если нет — запуск блокируется. Никаких исключений, никаких «возможно, это безопасно». Это как запретить вход в здание всем, кто не предъявил пропуск. Даже если человек выглядит как сотрудник — без пропуска не пустят.
WDAC поддерживается с Windows 10 версии 1703 и Windows Server 2016. Работает на всех версиях, кроме Home. Если у вас Windows 10/11 Pro, Enterprise или Education — вы можете это настроить. Если у вас Home — придётся обновлять ОС или использовать альтернативы.
Как настроить WDAC за 5 шагов
Всё делается через PowerShell. Никаких графических интерфейсов. Но это не значит, что сложно — просто нужно действовать по порядку.
- Создайте базовую политику
Откройте PowerShell от имени администратора и выполните:New-CIPolicy -Level FilePublisher -FilePath C:\WDAC\BaselinePolicy.xml
Это создаст файл политики, который разрешает только файлы с подписью от Microsoft и других доверенных издателей. Файл Publisher — это самый безопасный уровень: он проверяет не просто наличие подписи, а именно того, кто её поставил.
- Сгенерируйте правила для вашего ПО
Запустите компьютер в обычном режиме и используйте его как обычно — открывайте нужные программы, браузеры, офисные приложения. Через 1–2 дня (лучше — неделю) выполните:Update-CIPolicy C:\WDAC\BaselinePolicy.xml C:\WDAC\UpdatedPolicy.xml -UserPEs
Это проанализирует, какие файлы реально запускались, и добавит их в политику как исключения. Теперь WDAC будет знать: «эти файлы — нормальные, их можно запускать».
- Преобразуйте политику в бинарный формат
WDAC работает только с .bin-файлами. Конвертируйте:ConvertFrom-CIPolicy C:\WDAC\UpdatedPolicy.xml C:\WDAC\WDAC_Policy.bin
Файл
WDAC_Policy.bin— это то, что Windows будет загружать при старте. - Установите политику
Запустите:Set-CIPolicy -FilePath C:\WDAC\WDAC_Policy.bin -UserModePolicy
Это активирует политику в пользовательском режиме. Она не блокирует системные процессы, но останавливает всё, что запускается от имени пользователя — .exe, .dll, .msi, .ps1 и т.д.
- Перезагрузите компьютер
После перезагрузки WDAC вступает в силу. Попробуйте запустить любой неподписанный .exe — например, скачанный с сайта. Он просто не запустится. В логах будет запись: «Blocked by WDAC».
После этого вы можете отключить все остальные антивирусы — WDAC работает на более низком уровне и не конфликтует с ними. Он — ваш главный фильтр.
Что будет, если что-то не запустится?
Вы можете столкнуться с двумя ситуациями:
- Программа не запускается — потому что у неё нет подписи. Это нормально. Вы должны решить: разрешить её вручную или заменить на подписанную альтернативу.
- Система не загружается — если вы случайно заблокировали критичный драйвер. Это редко, но возможно. В таком случае загрузитесь в безопасном режиме, отключите политику командой
Remove-CIPolicy -FilePath C:\WDAC\WDAC_Policy.bin, и пересоздайте политику с более широкими правилами.
Чтобы избежать проблем, перед финальной установкой проверьте политику на тестовой машине. Не на рабочем компьютере.
Сравнение уровней политики: что выбрать?
WDAC позволяет выбирать уровень проверки. Вот как они отличаются на практике:
| Уровень | Что проверяет | Безопасность | Удобство | Когда использовать |
|---|---|---|---|---|
| FilePublisher | Издатель файла (цифровая подпись) | Высокая | Средняя | Для большинства корпоративных систем. Блокирует всё, кроме подписанных файлов Microsoft и доверенных издателей. |
| Hash | Хеш-сумма файла (точное совпадение) | Очень высокая | Низкая | Для критичных систем (например, промышленные контроллеры). Нужно вручную добавлять каждый файл — не подходит для обычных ПК. |
| FilePath | Путь к файлу (например, C:\Program Files\Adobe\…) | Низкая | Высокая | Не рекомендуется. Легко обойти, переместив файл в другую папку. |
| Default | Только Microsoft и доверенные издатели | Высокая | Высокая | Для базовой защиты. Подходит, если вы не используете стороннее ПО. |
Для большинства случаев — используйте FilePublisher. Он даёт баланс между безопасностью и удобством. Hash — только если вы работаете с оборудованием, где нельзя допустить ни единого риска. FilePath — вообще не используйте, это как запирать дверь, но оставлять ключ под ковриком.
Что выбрать в зависимости от ситуации
- Вы — админ в маленькой компании с 10 ПК
ИспользуйтеFilePublisher+ обновление политики через неделю. Добавьте в исключения только те программы, которые реально нужны: браузер, Office, PDF-редактор. Остальное — блокируется. Это снизит риски на 90% без лишней работы. - Вы — пользователь, который не хочет вредоносов на своём ПК
Создайте политику на чистой системе (без стороннего ПО), установите её, а потом постепенно добавляйте исключения по мере необходимости. Не ставьте всё сразу — иначе вы не сможете запустить даже легитимные программы. - Вы работаете с устаревшим ПО, которое не подписано
Тогда у вас два варианта: либо заменить это ПО на современное (рекомендую), либо добавить его в исключения вручную черезAdd-CIPolicyRule. Но помните: если вы разрешаете неподписанный файл — вы открываете дыру. Убедитесь, что этот файл безопасен. - Вы настраиваете WDAC для сервера
ИспользуйтеHashдля системных файлов иFilePublisherдля приложений. Включите режим «Audit» перед активацией — это логирует попытки запуска без блокировки. Проверьте логи, потом включите блокировку.
Частые ошибки, которые ломают WDAC
- Не обновляете политику после установки ПО
Если вы создали политику, а потом установили новую программу — она не запустится. WDAC не знает о ней. Обязательно запускайтеUpdate-CIPolicyпосле установки любого нового софта. - Запускаете PowerShell без прав администратора
Все команды WDAC требуют прав администратора. Без них вы получите ошибку «Access Denied» — и ничего не настроите. - Используете политику в режиме «Audit» слишком долго
Режим Audit (проверка без блокировки) полезен для тестирования. Но если вы оставляете его включённым месяцами — вы не получаете защиты. Сразу после сбора логов переключайтесь на блокировку. - Удаляете файл политики, не отключив её
Если вы просто удалилиWDAC_Policy.bin, но не выполнилиRemove-CIPolicy— система может не загрузиться. Всегда отключайте политику перед удалением. - Пытаетесь запускать PowerShell-скрипты (.ps1) без подписи
WDAC блокирует и скрипты. Если вы используете PowerShell для автоматизации — подпишите скрипты сертификатом или добавьте их в политику как исключения.
Как лучше сделать: практические советы
- Создавайте резервную копию политики
СохраняйтеWDAC_Policy.binиUpdatedPolicy.xmlна флешку или в защищённое хранилище. Если что-то пойдёт не так — вы сможете быстро восстановить работоспособность. - Проверяйте логи регулярно
Откройте «Просмотр событий» → «Журналы Windows» → «Приложения и службы» → «Microsoft» → «Windows» → «CodeIntegrity» → «Operational». Там вы увидите, какие файлы блокировались. Это поможет понять, что ещё нужно добавить в исключения. - Не используйте WDAC вместе с AppLocker
Эти два механизма конфликтуют. Включите только один. WDAC — более мощный и современный. AppLocker — устаревший. Отключите его через групповую политику или реестр. - Тестируйте на чистой системе
Настройте WDAC на виртуальной машине с тем же ПО, что и на реальных ПК. Убедитесь, что всё работает — и только потом разверните на реальных машинах. - Подпишите свои скрипты
Если вы пишете PowerShell-скрипты для автоматизации — купите или создайте самоподписанный сертификат и подпишите их. Это избавит вас от проблем с WDAC.
Итог: что делать прямо сейчас
Если вы хотите, чтобы на вашем компьютере не запускалось ничего, кроме проверенного ПО — сделайте так:
- Откройте PowerShell от имени администратора.
- Выполните:
New-CIPolicy -Level FilePublisher -FilePath C:\WDAC\BaselinePolicy.xml - Используйте компьютер как обычно в течение 3–5 дней.
- Выполните:
Update-CIPolicy C:\WDAC\BaselinePolicy.xml C:\WDAC\UpdatedPolicy.xml -UserPEs - Выполните:
ConvertFrom-CIPolicy C:\WDAC\UpdatedPolicy.xml C:\WDAC\WDAC_Policy.bin - Выполните:
Set-CIPolicy -FilePath C:\WDAC\WDAC_Policy.bin -UserModePolicy - Перезагрузите компьютер.
После этого — всё неподписанное ПО не запустится. Даже если вы случайно скачаете вредонос — он просто не откроется. Это не 100% защита, но это один из самых надёжных способов остановить большинство атак на уровне исполнения.
Не ждите, пока что-то сломается. Настройте WDAC сейчас. Это займёт 30 минут — и защитит вас на годы.
Информация в этой статье носит ознакомительный характер. Настройка системной безопасности требует понимания специфики вашей среды. Перед внедрением в производственную среду проконсультируйтесь с ИТ-специалистом.
