Управление приложениями через Group Policy и AppLocker

Практический курс по настройке безопасности Windows через контроль запуска программ. Вы изучите архитектуру AppLocker, научитесь создавать гибкие правила фильтрации и безопасно внедрять политики блокировки в корпоративной среде.

1. Введение в контроль приложений: отличия Software Restriction Policies от AppLocker

Введение в контроль приложений: отличия Software Restriction Policies от AppLocker

Добро пожаловать на курс «Управление приложениями через Group Policy и AppLocker». Это первая статья, в которой мы заложим фундамент для понимания того, зачем вообще нужно контролировать запуск программ и какие инструменты для этого предоставляет операционная система Windows.

В мире информационной безопасности существует вечная борьба между удобством использования и защищенностью. Системные администраторы часто сталкиваются с ситуацией, когда пользователи устанавливают нежелательное программное обеспечение: от безобидных игр и мессенджеров до опасных вирусов-шифровальщиков и программ для майнинга криптовалют.

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

Философия контроля: «Разрешить» или «Запретить»?

Прежде чем переходить к техническим деталям, важно понять две основные стратегии управления приложениями.

1. Черные списки (Blacklisting)

Это подход «Разрешено все, что не запрещено». Вы позволяете запускать любые программы, кроме тех, которые явно внесли в список запрещенных.

* Плюс: Пользователи довольны, у них все работает. * Минус: Это бесконечная гонка. Новые версии игр или вирусов выходят каждый день. Вы просто не успеете добавить их все в черный список.

2. Белые списки (Whitelisting)

Это подход «Запрещено все, что не разрешено». Система блокирует запуск абсолютно всех программ, кроме тех, которые администратор явно одобрил (например, офисный пакет, браузер, корпоративная CRM).

* Плюс: Максимальная безопасность. Даже если пользователь скачает новейший вирус, он просто не запустится, так как его нет в белом списке. * Минус: Требует тщательной настройки. Если вы забудете разрешить нужный драйвер или утилиту, работа встанет.

В этом курсе мы будем ориентироваться на стратегию белых списков, так как именно она является стандартом безопасности в современной корпоративной среде.

!Визуальное сравнение стратегий черных и белых списков

Software Restriction Policies (SRP): Наследие прошлого

Software Restriction Policies (Политики ограниченного использования программ) — это технология, появившаяся еще во времена Windows XP и Windows Server 2003. Долгое время это был единственный штатный способ управления запуском приложений через групповые политики (Group Policy).

Как работает SRP?

SRP использует несколько критериев (правил) для идентификации программ:

  • Правило хеша (Hash Rule): Вычисляется уникальный цифровой отпечаток файла. Если файл изменится хоть на бит, хеш изменится, и правило перестанет работать.
  • Правило пути (Path Rule): Разрешает или запрещает запуск файлов из определенной папки (например, C:\Program Files\*). Это самое слабое правило, так как пользователь может просто переместить запрещенную программу в другую папку.
  • Правило сертификата (Certificate Rule): Проверяет цифровую подпись файла. В SRP это работает медленно и часто вызывает снижение производительности системы.
  • Правило зоны (Zone Rule): Базируется на том, откуда был скачан файл (Интернет, локальная сеть).
  • Почему SRP устарел?

    Несмотря на то, что SRP все еще присутствует в современных версиях Windows, у него есть критические недостатки:

    * Отсутствие гибкости: Нельзя применить правило к конкретному пользователю или группе безопасности через сам интерфейс политики (приходится изворачиваться с фильтрацией GPO). * Сложность поддержки: Если программа обновилась, ее хеш изменился. Вам нужно создавать новое правило. При частых обновлениях софта администрирование превращается в ад. * Низкая надежность правил пути: Как уже упоминалось, переименование папки или файла часто позволяет обойти запрет.

    AppLocker: Современный стандарт

    С выходом Windows 7 и Windows Server 2008 R2 Microsoft представила AppLocker. Это эволюционное развитие идей SRP, призванное устранить его недостатки и упростить жизнь администраторам.

    AppLocker позволяет контролировать следующие типы файлов: * Исполняемые файлы (.exe, .com) * Скрипты (.ps1, .bat, .cmd, .vbs, .js) * Установщики Windows (.msi, .msp) * Библиотеки DLL (по умолчанию отключено для экономии ресурсов) * Упакованные приложения (Microsoft Store apps)

    Ключевые преимущества AppLocker

    #### 1. Правила издателя (Publisher Rules) Это «киллер-фича» AppLocker. Вместо того чтобы следить за хешами каждого файла, вы можете разрешить запуск всех программ, подписанных цифровой подписью определенного издателя.

    > Например, вы можете создать одно правило: «Разрешить запускать все программы, подписанные сертификатом Adobe, если версия продукта выше 10.0».

    Если Adobe выпустит обновление, старое правило продолжит работать, так как цифровая подпись осталась прежней. Это колоссально экономит время.

    #### 2. Таргетирование на пользователей Внутри одного правила AppLocker вы можете указать, на кого оно распространяется. Пример:* «Запретить запуск game.exe всем, КРОМЕ группы IT-Admins». В SRP для этого пришлось бы создавать отдельные политики.

    #### 3. Режим аудита (Audit Mode) Самый большой страх администратора при внедрении белых списков — случайно заблокировать работу бухгалтерии или директора.

    AppLocker имеет режим «Только аудит». В этом режиме правила не блокируют программы, а лишь записывают в журнал событий информацию о том, что было бы заблокировано. Это позволяет безопасно протестировать политики перед их реальным включением.

    !Гибкость настройки правил издателя в AppLocker

    Сравнительная таблица: SRP против AppLocker

    Чтобы закрепить понимание, давайте сравним эти две технологии наглядно.

    | Характеристика | Software Restriction Policies (SRP) | AppLocker | | :--- | :--- | :--- | | Операционные системы | Все версии Windows начиная с XP | Windows 7/10/11 (требуются редакции Enterprise/Education/Pro*) | | Удобство правил | Низкое (хеши меняются, пути ненадежны) | Высокое (правила издателя устойчивы к обновлениям) | | Привязка к пользователям | Сложная (через Security Filtering GPO) | Встроена в каждое правило | | Режим аудита | Отсутствует (только «боевой» режим) | Есть (безопасное тестирование) | | Влияние на производительность | Может замедлять систему при проверке сертификатов | Оптимизировано, работает быстро | | Управление приложениями Store | Нет | Да (полная поддержка UWP приложений) |

    Примечание: В Windows 10/11 редакции Professional AppLocker формально настраивается, но полноценно работает только через MDM или имеет ограничения по сравнению с Enterprise. Для полноценного использования в домене рекомендуется редакция Enterprise или Education.

    Почему мы выбираем AppLocker?

    Для целей нашего курса мы сосредоточимся на изучении AppLocker, так как SRP является устаревшей технологией, которая постепенно уходит в прошлое.

    AppLocker предоставляет необходимый баланс между безопасностью и управляемостью. Он позволяет внедрить стратегию белых списков, не заставляя администратора обновлять правила каждый раз, когда выходит новая версия Google Chrome или Microsoft Office.

    Когда все же стоит использовать SRP?

    Единственный сценарий, когда использование SRP оправдано сегодня — это наличие в вашей сети очень старых операционных систем (Windows XP, Server 2003), которые физически не поддерживают AppLocker, или использование редакций Windows Home/Pro (без домена), где функционал AppLocker урезан.

    Что дальше?

    В этой статье мы разобрали теоретические основы и поняли, почему AppLocker является предпочтительным инструментом. Мы выяснили, что стратегия «белых списков» (Default Deny) является наиболее надежной защитой от нежелательного ПО.

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

    Готовы переходить от теории к практике? Тогда до встречи в следующем уроке!

    2. Подготовка среды: требования к службам и базовая конфигурация GPO

    Подготовка среды: требования к службам и базовая конфигурация GPO

    Рад видеть вас во втором уроке курса «Управление приложениями через Group Policy и AppLocker». В прошлой статье мы определились с выбором технологии: AppLocker стал нашим фаворитом благодаря гибкости, правилам издателя и режиму аудита.

    Однако, прежде чем мы начнем создавать правила (разрешать Word или запрещать игры), нам необходимо подготовить почву. AppLocker — это не просто набор галочек в редакторе политик; это механизм, который опирается на конкретные системные службы и правильную архитектуру групповых политик (GPO).

    Если пропустить этот этап, вы столкнетесь с классической проблемой новичка: «Я создал правила, но они не работают» или, что еще хуже, «Я включил AppLocker, и теперь никто не может войти в систему».

    Сегодня мы займемся фундаментом: проверим версии Windows, настроим обязательные службы и создадим базовый объект групповой политики в безопасном режиме.

    1. Системные требования: почему версия имеет значение?

    Первое, с чем нужно смириться: AppLocker — это инструмент корпоративного уровня. Microsoft четко разграничивает функционал своих операционных систем, и управление приложениями считается «премиальной» функцией.

    Поддерживаемые редакции Windows

    Для полноценной работы AppLocker через групповые политики (GPO) вам потребуются следующие редакции:

    * Windows 10/11 Enterprise (Корпоративная) * Windows 10/11 Education (для образовательных учреждений) * Windows Server 2012 R2, 2016, 2019, 2022 (все редакции Standard и Datacenter)

    Проблема с Windows Professional

    Многие администраторы пытаются настроить AppLocker на Windows 10/11 Pro. Здесь кроется важный нюанс. Формально вы можете открыть оснастку AppLocker на редакции Pro и даже создать правила. Однако агент AppLocker на редакции Pro через GPO работать не будет (или будет работать некорректно).

    > На редакциях Professional AppLocker официально поддерживается только при управлении через MDM-системы (например, Microsoft Intune), а не через классический Active Directory GPO.

    Если в вашем парке машин используется Windows Pro, вам придется либо обновлять лицензии до Enterprise, либо рассматривать альтернативные (и часто платные) решения для контроля приложений.

    2. Сердце AppLocker: Служба удостоверения приложений

    Самая распространенная ошибка при внедрении AppLocker — это создание правил без запуска соответствующей службы. Правила AppLocker — это просто инструкции. Чтобы кто-то эти инструкции читал и выполнял, в системе должен работать «контролер».

    Этим контролером является служба Application Identity (Служба удостоверения приложений), или коротко — AppIDSvc.

    Как это работает?

    Когда пользователь пытается запустить файл report.exe, происходит следующее:

  • Операционная система перехватывает запрос на запуск процесса.
  • Служба Application Identity сканирует файл, проверяет его цифровую подпись, хеш и путь.
  • Полученные атрибуты файла сверяются с активными правилами AppLocker.
  • Выносится вердикт: разрешить или блокировать.
  • [VISUALIZATION: Схема процесса запуска приложения в Windows с AppLocker. Слева иконка пользователя, кликающего на файл. Стрелка ведет к блоку

    3. Создание правил AppLocker: работа с путями, хешами файлов и сертификатами издателей

    Создание правил AppLocker: работа с путями, хешами файлов и сертификатами издателей

    Приветствую вас на третьем уроке курса «Управление приложениями через Group Policy и AppLocker». В предыдущих частях мы разобрали теоретические отличия AppLocker от устаревшего SRP и подготовили фундамент: настроили службу удостоверения приложений и создали базовый объект групповой политики.

    Теперь пришло время перейти к самому интересному — созданию логики работы нашей защиты. Если службу AppIDSvc можно сравнить с двигателем автомобиля, то правила AppLocker — это руль и навигатор, которые определяют, куда этот автомобиль поедет (или где он остановится).

    В этой статье мы детально разберем три основных типа условий для правил: Путь (Path), Хеш файла (File Hash) и Издатель (Publisher). Мы выясним, когда использовать каждый из них, и как создать надежную систему «белых списков», которая не сломается после первого же обновления Windows.

    Иерархия правил: что важнее?

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

  • По умолчанию всё запрещено. Если для типа файлов (например, .exe) создано хотя бы одно правило, AppLocker переходит в режим «белого списка». Всё, что явно не разрешено, будет заблокировано.
  • Явный запрет сильнее разрешения. Если у вас есть правило, разрешающее запуск C:uhgalteria
  • eport.exe, но другое правило явно запрещает этот же файл, программа не запустится.

    Тип 1: Правила пути (Path Rules)

    Это самый простой и интуитивно понятный тип правил. Вы указываете папку или конкретный файл, который разрешено запускать.

    Как это работает?

    Правило пути использует путь к файловой системе для идентификации приложения.

    Примеры: * %PROGRAMFILES% 7-office 7-office.exe — разрешает конкретный файл. C:uhgalteria\ — разрешает все файлы в папке C:uhgalteria.

    > Обратите внимание на использование переменных среды. AppLocker понимает такие переменные, как %PROGRAMFILES%, %WINDIR% и %OSDRIVE%. Это критически важно для сетей, где Windows может быть установлена на диске D: или E:.

    Плюсы и минусы

    * Плюс: Очень легко настроить. Не нужно знать издателя или хеш. * Минус: Низкая безопасность, если папка доступна для записи пользователям.

    Главная уязвимость правил пути

    Представьте, что вы разрешили запуск всего из папки C:uhgalteria\*. Если обычный пользователь имеет права на запись в эту папку, он может скопировать туда вирус, переименовать его в otchet.exe и запустить. AppLocker пропустит этот файл, так как путь совпадает с разрешенным.

    Рекомендация: Используйте правила пути только для защищенных системных директорий (например, Program Files или Windows), куда обычные пользователи не могут ничего записывать.

    Тип 2: Правила хеша файла (File Hash Rules)

    Если правила пути — это «двери», то правила хеша — это «отпечатки пальцев».

    Как это работает?

    AppLocker вычисляет криптографический хеш (SHA256 Authenticode) файла. Этот хеш уникален для каждого набора байтов. Если вы измените в программе хотя бы одну запятую, хеш изменится кардинально.

    Плюсы и минусы

    * Плюс: Высочайшая безопасность. Подмена файла невозможна. * Минус: «Хрупкость» правил. После каждого обновления программы (даже минорного патча безопасности) хеш файла меняется. Старое правило перестает работать, и приложение блокируется.

    Когда использовать?

    Правила хеша идеально подходят для старого, редко обновляемого софта, который не имеет цифровой подписи. Например, самописная бухгалтерская утилита 2010 года, которая не менялась уже 10 лет.

    Тип 3: Правила издателя (Publisher Rules)

    Это «золотой стандарт» в мире AppLocker и главная причина, почему мы выбрали эту технологию.

    Как это работает?

    Правило проверяет цифровую подпись (сертификат) файла. Большинство современного легального ПО (Microsoft Office, Google Chrome, Adobe Reader) подписано сертификатом разработчика.

    Главная особенность правил издателя — их гибкость. Вы можете регулировать точность правила с помощью специального «ползунка» в интерфейсе создания правила.

    [VISUALIZATION: Схематичное изображение ползунка настройки правила издателя в AppLocker. Слева направо идут уровни:

    4. Стратегия внедрения: использование режима аудита и анализ журналов событий

    Стратегия внедрения: использование режима аудита и анализ журналов событий

    Добро пожаловать на четвертый урок курса «Управление приложениями через Group Policy и AppLocker». В предыдущих статьях мы проделали большую работу: разобрались в теории, подготовили инфраструктуру и научились создавать правила для путей, хешей и издателей.

    К этому моменту у вас, вероятно, уже есть готовая политика AppLocker. Руки чешутся применить её и превратить вашу сеть в неприступную крепость. Но здесь я должен вас остановить.

    Самая страшная ошибка системного администратора при внедрении белых списков — это мгновенное включение блокировки. Если вы сделаете это сразу, то через 5 минут ваш телефон раскалится от звонков: бухгалтер не может открыть 1С, директор не может запустить презентацию, а у системных администраторов перестали работать скрипты логина.

    Сегодня мы изучим профессиональный подход к внедрению: Режим аудита (Audit Mode). Мы узнаем, как протестировать правила, не мешая пользователям, и как читать журналы событий, чтобы довести нашу политику до совершенства.

    Что такое режим аудита?

    Режим аудита — это специальное состояние работы AppLocker, при котором правила проверяются, но не применяются.

    Когда пользователь запускает программу, которая запрещена вашими правилами:

  • Программа запускается (пользователь ничего не замечает).
  • AppLocker создает запись в журнале событий: «Этот файл был бы заблокирован, если бы политика была активна».
  • Это позволяет вам собрать статистику о том, какой софт реально используется в компании, и выявить легитимные программы, которые вы забыли добавить в белый список.

    Как включить режим аудита?

    Настройка режима производится не в самих правилах, а в свойствах политики AppLocker.

  • Откройте редактор групповых политик (GPMC).
  • Перейдите в ветку: Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Application Control Policies -> AppLocker.
  • Нажмите правой кнопкой мыши на корень AppLocker и выберите Properties (Свойства).
  • На вкладке Enforcement (Принудительное исполнение) вы увидите список типов правил (исполняемые файлы, установщики, скрипты и т.д.).
  • Поставьте галочку Configured напротив нужного типа и выберите в выпадающем списке Audit only (Только аудит).
  • !Настройка режима аудита в свойствах политики AppLocker

    > Важно: Режим аудита настраивается отдельно для каждого типа правил. Вы можете включить жесткую блокировку для .exe файлов, но оставить режим аудита для скриптов .ps1.

    Жизненный цикл внедрения AppLocker

    Профессиональное внедрение AppLocker — это не разовое действие, а циклический процесс. Он выглядит следующим образом:

  • Создание базовых правил: Вы создаете правила по умолчанию и добавляете очевидный корпоративный софт.
  • Включение аудита: Политика применяется к тестовой группе компьютеров (или ко всем сразу) в режиме Audit only.
  • Сбор данных: Вы ждете от 1 до 4 недель, пока пользователи работают в обычном режиме.
  • Анализ журналов: Вы изучаете события и находите программы, которые попали бы под блокировку.
  • Корректировка правил: Вы добавляете найденные легитимные программы в белый список.
  • Повторный анализ: Убеждаетесь, что «ложных срабатываний» больше нет.
  • Включение блокировки (Enforce): Перевод переключателя в режим Enforce rules.
  • Где искать журналы событий?

    AppLocker пишет свои логи в специальный раздел журнала Windows. Их нельзя найти в стандартном журнале «System» или «Application».

    Путь к журналам: Event Viewer (Просмотр событий) -> Applications and Services Logs -> Microsoft -> Windows -> AppLocker.

    Внутри вы увидите четыре подраздела: * EXE and DLL: События запуска исполняемых файлов и библиотек. * MSI and Script: События запуска установщиков и скриптов. * Packaged app-Deployment: События установки UWP приложений (из Store). * Packaged app-Execution: События запуска UWP приложений.

    Нас в первую очередь интересует раздел EXE and DLL.

    Расшифровка событий: на что смотреть?

    В журналах AppLocker может быть много записей, но для настройки нам важны конкретные Event ID (коды событий).

    Event ID 8002: Разрешено (Allowed)

    Это событие говорит о том, что файл был успешно запущен, так как для него нашлось разрешающее правило.

    * Значение: Всё хорошо, правило работает. * Действие: Ничего делать не нужно.

    Event ID 8003: Был бы заблокирован (Audit Warning)

    Это самое важное событие на этапе внедрения! Оно появляется только в режиме аудита.

    Сообщение: "%PROGRAM% was allowed to run but would have been prevented from running if the AppLocker policy were enforced."* * Значение: Пользователь запустил программу, для которой у вас нет разрешающего правила. Если вы прямо сейчас включите блокировку, эта программа перестанет работать. * Действие: Проанализировать файл. Если это рабочий софт — создать для него правило. Если это игра или вирус — игнорировать (после включения блокировки оно заблокируется само).

    Event ID 8004: Заблокировано (Blocked)

    Это событие появляется только в режиме Enforce rules (Блокировка).

    Сообщение: "%PROGRAM% was prevented from running."* * Значение: AppLocker реально остановил запуск программы. * Действие: Если заблокирован вирус — радоваться. Если заблокирован отчет бухгалтера — срочно создавать разрешающее правило.

    Практика анализа логов

    Представим, что вы включили аудит и через неделю открыли журнал. Вы видите сотни событий с кодом 8003. Как с ними работать?

    В теле события содержится вся необходимая информация для создания правила:

    Анализ:

  • Файл: Zoom.exe.
  • Путь: Папка пользователя AppData (по умолчанию AppLocker блокирует запуск оттуда, так как это небезопасно).
  • Решение: Мы знаем, что Zoom — это корпоративный инструмент. Нам нужно разрешить его.
  • Вместо того чтобы создавать правило пути (что небезопасно для папки пользователя), мы должны посмотреть детали файла (в XML-представлении события или через свойства файла) и создать Правило издателя для Zoom Video Communications, Inc..

    Автоматизация с PowerShell

    Просматривать глазами тысячи событий в Event Viewer — занятие утомительное. PowerShell позволяет выгрузить все события аудита одной командой.

    Используйте командлет Get-AppLockerFileInformation:

    Эта команда просканирует журнал и выдаст список всех файлов, которые вызвали событие 8003. Более того, вы можете сразу сгенерировать из них политику:

    Этот мощный конвейер делает следующее:

  • Берет все файлы, которые «шумели» в аудите.
  • Пытается создать для них правила издателя (Publisher). Если подписи нет — создает правило хеша (Hash).
  • Сохраняет результат в XML-файл, который можно импортировать в GPO.
  • !Автоматическая генерация правил AppLocker на основе журналов аудита

    Стратегия поэтапного развертывания

    Никогда не включайте AppLocker сразу на весь домен. Используйте возможности GPO и групп безопасности Active Directory для плавного раската.

    Этап 1: IT-отдел (Канарейки)

    Создайте GPO с включенным режимом Enforce (Блокировка) и примените его только к компьютерам IT-отдела. Админы смогут быстро понять, если что-то пошло не так, и сами себе починить доступ.

    Этап 2: Пилотная группа (Аудит)

    Выберите по 2-3 человека из каждого отдела (бухгалтерия, кадры, продажи). Примените к ним политику в режиме Audit Only. Анализируйте их логи в течение 2 недель. Это позволит выловить специфический софт (банк-клиенты, CRM-плагины), о котором IT-отдел мог не знать.

    Этап 3: Вся компания (Аудит)

    Распространите политику аудита на всех. Ждите еще неделю. Если новых событий 8003 не появляется — вы готовы.

    Этап 4: Час Икс (Блокировка)

    Переключите политику в режим Enforce Rules.

    > Совет: Оставьте службу поддержки в режиме повышенной готовности в день переключения. Даже при идеальном аудите найдется сотрудник, который был в отпуске месяц и запустит свою уникальную программу именно сегодня.

    Заключение

    Использование режима аудита — это страховка системного администратора. Оно превращает внедрение AppLocker из «русской рулетки» в предсказуемый инженерный процесс.

    Мы научились: * Включать режим Audit only. * Находить нужные журналы в Event Viewer. * Отличать события 8002, 8003 и 8004. * Использовать PowerShell для анализа инцидентов.

    Теперь ваша система готова к финальному шагу. В следующей статье мы поговорим о том, как обслуживать AppLocker в долгосрочной перспективе: как обновлять правила, делегировать права и решать нестандартные проблемы.

    5. Масштабирование и поддержка: управление правилами для скриптов, установщиков и DLL

    Масштабирование и поддержка: управление правилами для скриптов, установщиков и DLL

    Приветствую вас на пятом уроке курса «Управление приложениями через Group Policy и AppLocker». Мы уже прошли большой путь: от понимания философии «белых списков» до настройки базовых правил для исполняемых файлов (.exe) и анализа журналов аудита.

    Однако современная кибербезопасность — это не только блокировка game.exe. Злоумышленники становятся хитрее. Если вы закроете входную дверь (исполняемые файлы), они полезут через окно (скрипты) или дымоход (библиотеки DLL).

    В этой статье мы разберем продвинутые аспекты настройки AppLocker: как контролировать скрипты и установщики, стоит ли включать проверку DLL, и как управлять политиками в крупной организации, чтобы не сойти с ума от рутины.

    1. Скрипты: невидимая угроза

    Многие администраторы забывают, что вредоносный код не обязательно должен быть скомпилирован в .exe файл. Скрипты PowerShell, VBScript или простые командные файлы (.bat) могут нанести системе не меньший ущерд: зашифровать диск, скачать троян или изменить настройки безопасности.

    AppLocker позволяет контролировать следующие форматы скриптов: * .ps1 (PowerShell) * .bat, .cmd (Командные файлы) * .vbs, .js (Windows Script Host)

    Особенность работы с PowerShell

    Контроль скриптов в AppLocker тесно связан с режимом работы самого интерпретатора PowerShell. Это одна из самых мощных функций защиты в Windows.

    Когда вы включаете правила для скриптов в AppLocker, происходит следующее:

  • Разрешенные скрипты: Если скрипт находится в белом списке (например, подписан вашим сертификатом или лежит в защищенной папке), он запускается в режиме Full Language Mode. Это означает, что скрипту доступны все возможности языка, включая работу с .NET объектами и API Windows.
  • Запрещенные скрипты: Они блокируются полностью.
  • Интерактивный режим: Если пользователь запускает консоль PowerShell и пытается ввести команды вручную, система переводит сессию в режим Constrained Language Mode (Режим ограниченного языка).
  • > В режиме ограниченного языка запрещены сложные типы данных, вызовы методов .NET и другие функции, которые часто используются эксплойтами. Это превращает PowerShell из «оружия хакера» в простой инструмент администрирования.

    !Визуализация влияния политик AppLocker на режим языка PowerShell

    Рекомендации по настройке правил для скриптов

    * Никаких путей с записью: Никогда не разрешайте запуск скриптов из папок, доступных пользователю для записи (например, %TEMP%). Это классический вектор атаки. * Подписывайте свои скрипты: Лучшая практика — создать правило издателя для вашего внутреннего CA (Certificate Authority) и подписывать все административные скрипты. Тогда вы сможете запускать их откуда угодно, а пользователи не смогут их изменить (это нарушит подпись).

    2. Установщики Windows (MSI и MSP)

    Блокировка .exe файлов часто останавливает и инсталляторы (setup.exe). Однако файлы .msi (Microsoft Installer) обрабатываются отдельной службой Windows Installer и требуют отдельной коллекции правил.

    Зачем это нужно?

    Даже если у пользователя нет прав администратора, некоторые приложения могут устанавливаться в контекст пользователя (в папку AppData). Контроль MSI позволяет предотвратить появление «теневого IT» в вашей сети.

    Коллекция правил Windows Installer контролирует: * .msi (Установочные пакеты) * .msp (Патчи обновлений) * .mst (Файлы трансформации)

    Стратегия настройки: Обычно здесь достаточно двух базовых правил:

  • Разрешить все файлы, подписанные Microsoft (для системных обновлений).
  • Разрешить все файлы из папки C:\Windows\Installer (сюда попадают уже одобренные и установленные пакеты).
  • 3. Контроль DLL: режим «Хардкор»

    По умолчанию в AppLocker коллекция правил для DLL отключена. И на это есть веская причина.

    Проблема производительности

    Любая программа при запуске подгружает десятки, а иногда и сотни динамических библиотек (.dll). Если включить контроль DLL, служба AppLocker должна будет проверять каждый такой файл перед его загрузкой в память.

    Это создает существенную нагрузку на процессор и дисковую подсистему. На старых компьютерах система может начать заметно «тормозить».

    Зачем тогда включать?

    Существует класс атак, называемый DLL Hijacking. Злоумышленник подкладывает вредоносную DLL с именем системной библиотеки в папку с легитимной программой. Когда программа запускается, она по ошибке загружает вирус вместо системного файла.

    Включение контроля DLL предотвращает это, так как AppLocker проверит подпись или путь библиотеки и заблокирует подделку.

    Вердикт: Включайте контроль DLL только на компьютерах с высокими требованиями к безопасности (например, рабочие станции администраторов домена, банкоматы, терминалы управления) и только на современном «железе».

    4. Масштабирование: управление политиками в большой сети

    Когда у вас 10 компьютеров, можно настраивать правила вручную. Когда их 1000, вам нужна стратегия.

    Экспорт и Импорт политик

    AppLocker позволяет выгружать текущую конфигурацию в XML-файл. Это основной способ переноса настроек между доменами или создания резервных копий.

    Чтобы экспортировать политику:

  • Откройте оснастку AppLocker.
  • Нажмите правой кнопкой на корень AppLocker -> Export Policy.
  • Слияние политик (Merging)

    Представьте ситуацию: у вас есть «Базовая политика» для всех (разрешен Office и Windows) и «Политика разработчиков» (разрешен Visual Studio). Как применить их к одному компьютеру?

    В групповых политиках (GPO) настройки AppLocker не суммируются автоматически так же прозрачно, как настройки реестра. Если вы примените два объекта GPO с настройками AppLocker к одному компьютеру, победит тот, у которого выше приоритет, и он полностью перезапишет правила проигравшего.

    Однако, вы можете использовать PowerShell для слияния XML-файлов перед импортом в GPO.

    Пример команды для слияния:

    Параметр -Merge добавляет новые правила к существующим, а не заменяет их. Это полезно при локальной настройке или при формировании мастер-образа системы.

    Структура GPO для AppLocker

    Для удобства управления в домене Active Directory рекомендуется следующая структура:

  • GPO_AppLocker_Base: Содержит правила по умолчанию (разрешить Windows, Program Files) и глобально разрешенный софт. Применяется ко всем.
  • GPO_AppLocker_Audit: Включает режим аудита. Используется на этапе внедрения.
  • GPO_AppLocker_Exceptions: Отдельные GPO для специфических отделов, которые применяются поверх базовых (требует тщательного планирования, так как, напомню, правила могут перезаписываться, если не использовать метод слияния внутри одного объекта GPO или не проектировать структуру OU очень аккуратно).
  • Примечание: На практике часто проще поддерживать один «Мастер-GPO» с большим списком правил, используя группы безопасности внутри самих правил (например: «Разрешить Photoshop только группе Designers»), чем пытаться комбинировать несколько объектов групповой политики.

    5. Поддержка и решение проблем

    Рано или поздно пользователь столкнется с блокировкой нужного приложения. Ваш алгоритм действий:

  • Проверка: Попросите пользователя воспроизвести проблему и назовите точное время.
  • Логи: Откройте Event Viewer и найдите событие 8004 (Block).
  • Анализ: Посмотрите, какой файл заблокирован и почему (нет правила издателя? изменился хеш?).
  • Решение:
  • * Если программа легитимна — добавьте правило в GPO. * Обновите политики на компьютере пользователя командой gpupdate /force. * Важно: Служба AppLocker применяет новые правила мгновенно после получения политики, перезагрузка обычно не требуется.

    Полезные команды PowerShell

    Для диагностики на машине пользователя:

    * Get-AppLockerPolicy -Effective -Xml — показывает, какая политика реально применяется сейчас. * Test-AppLockerPolicy -XmlPolicy .\policy.xml -Path C:\App\test.exe — позволяет проверить, будет ли заблокирован файл конкретной политикой, не применяя её.

    Заключение курса

    Мы завершаем наш курс по управлению приложениями. Мы прошли путь от теории SRP до тонкой настройки AppLocker для скриптов и DLL.

    Внедрение AppLocker — это серьезный проект, который повышает безопасность инфраструктуры на порядок. Да, это требует времени на настройку и анализ логов. Да, иногда это вызывает недовольство пользователей. Но в мире, где вирусы-шифровальщики могут остановить бизнес за считанные минуты, стратегия «Запрещено все, что не разрешено» является единственно верной.

    Управляйте своими приложениями, а не позволяйте приложениям управлять вашей сетью. Удачи в настройке!