Защита выполнения приложений с помощью Microsoft AppLocker
Введение
AppLocker — это новая функция, доступная в Windows 7 и Windows Server 2008 R2, которая помогает предотвратить использование неизвестных или нежелательных приложений в сети. Его функциональность может похвастаться преимуществами безопасности и соответствия требованиям для широкого спектра организационных сред.
Будучи озорным ребенком, выросшим в сельской местности Кентукки, я хорошо знал концепцию правил. Будь то мытье тарелки перед тем, как выйти из-за стола во время ужина, или следить за тем, чтобы животные были накормлены перед сном, правила существовали не просто так. Конечно, я также прекрасно понимал, что нарушение правил влечет за собой последствия. Хотя это был эффективный способ убедиться, что я следовал правилам, это не всегда было на 100% эффективным. Ярким примером этого было правило «никаких печенья перед ужином». Хотя я был уверен, что попаду в хвостовую часть, если испортил себе аппетит, я не всегда мог устоять перед искушением. В таком случае, после того, как моя мама устала от этого метода, она изменила свои методы обеспечения соблюдения правил. Поняв, что я значительно ниже ее, печенье переместилось на верхнюю полку кладовой, куда мне было не дотянуться. В этот момент я не мог нарушить правила, даже если бы попытался.
Мораль этой истории заключается в том, что хотя правила могут иметь последствия, иногда мы должны установить правила, которые не только наказывают людей за их нарушение, но и предотвращают их нарушение. Это связано с моим взрослением и увлечением файлами cookie, а также с обеспечением безопасности и соответствия требованиям пользователей сегодня.
Желание заблокировать выполнение определенных приложений на сетевых компьютерах никоим образом не ново, но методы для этого со временем продолжали развиваться. В предыдущих случаях сетевые администраторы, возможно, сочли, что с этой задачей лучше всего справляется использование стороннего программного обеспечения, однако появление AppLocker в Windows 7 и Windows Server 2008 R2 позволяет ограничить выполнение приложений на очень полезном уровне. AppLocker — это следующая эволюция политик ограниченного использования программ Windows.
Блокировка отдельных приложений
Я всегда думал, что учиться на практике проще, поэтому именно так я собираюсь представить вам AppLocker. В этом и последующих сценариях мы будем редактировать локальную политику безопасности и выполнять наши действия на отдельном компьютере. Все это можно выполнить из управления групповыми политиками Windows Server 2008 R2, но пока вы не освоитесь с AppLocker и его концепциями, я рекомендую придерживаться локальной политики безопасности. AppLocker очень гибок и очень мощен, а это значит, что вам потребуется всего несколько неправильных кликов, чтобы внести изменения, которые приведут к тому, что ваш компьютер не загружается.
В нашем сценарии мы заметили, что сотрудники начали использовать клиент удаленного рабочего стола для доступа к своим домашним компьютерам, чтобы обойти фильтрацию интернет-контента и бездельничать в рабочее время. Мы собираемся использовать AppLocker, чтобы вернуть этих ребят к работе, заблокировав выполнение исполняемого файла mstsc.exe.
Вы можете получить доступ к AppLocker, введя gpedit.msc в меню «Пуск» Windows 7 или создав новый объект групповой политики в Windows Server 2008 R2. Оказавшись здесь, перейдите к «Конфигурация компьютера», «Параметры Windows», «Параметры безопасности», «Политики управления приложениями», «AppLocker».
фигура 1
Вы сразу заметите, что когда вы разворачиваете AppLocker на левой панели, вам доступны три опции. Эти три элемента представляют собой наборы правил и категории, используемые для разделения типов расширений файлов, которыми может управлять AppLocker. В следующей таблице показаны расширения файлов, связанные с каждой коллекцией правил:
Коллекция правил | Типы файлов |
Исполняемые файлы | .exe,.com |
Скрипты | .ps1,.bat,.cmd,.vbs,.js |
Файлы установщика Windows | .MSI,.MSP |
В нашем случае файл, который мы будем блокировать, является исполняемым файлом, поэтому мы хотим создать новое правило в коллекции правил для исполняемых файлов. Этот процесс запускается щелчком правой кнопкой мыши на заголовке «Исполняемые правила» и выбором «Создать новое правило».
Появится мастер создания исполняемых правил. Нажмите «Далее», чтобы перейти к вводному экрану. Мы хотим запретить доступ к исполняемому файлу mstsc, поэтому выберите параметр «Запретить». На этом экране вы можете выбрать пользователя или группу, к которым применяется политика. Мы хотим, чтобы администраторы и опытные пользователи по-прежнему имели доступ к этому приложению, если они когда-либо войдут в систему, поэтому мы собираемся выбрать группу «Пользователи», к которой будет применяться эта политика.
На следующем экране нам будет предложено выбрать основное условие для нашего правила. Нам доступны три варианта, и они используются во всех коллекциях правил. Они есть:
- Издатель — этот параметр обеспечивает максимальную гибкость при выборе условия, но его можно использовать только для программных приложений, подписанных их создателем.
- Путь — это условие создает правило для определенного пути к файлу или папке.
- File Hash — этот параметр лучше всего использовать, когда приложение не подписано. Правило создается на основе хэша приложения.
Приложение MSTSC является подписанным приложением, поэтому мы выберем основное условие Publisher. Нажмите «Далее», чтобы перейти к следующему экрану. Нажмите кнопку «Обзор» и перейдите к файлу, который хотите заблокировать. Наш файл находится по адресу C:WindowsSystem32mstsc.exe. После выбора этого файла вертикальный ползунок на экране станет активным. С подписанным приложением у нас есть несколько уровней детализации, которые мы можем использовать для нашего правила. Мы можем заблокировать любое приложение от этого издателя, любое приложение, подписанное этим названием продукта, само имя файла или даже относительный номер версии приложения.
фигура 2
Как вы можете себе представить, эти варианты обладают большой гибкостью и мощностью. Мы можем запретить пользователям запускать любое приложение, разработанное разработчиком компьютерной игры, заблокировать имена файлов, связанные с крупными вирусными эпидемиями, и даже заставить пользователей поддерживать обновленное программное обеспечение, не позволяя им запускать приложение ниже определенного номера версии. Для наших целей здесь мы хотим заблокировать все экземпляры mstsc.exe независимо от версии, поэтому ползунок будет установлен рядом с параметром имени файла.
Следующий экран позволит вам добавить исключения, если это необходимо, а последний экран позволит вам назвать новое правило. По мере роста вашего уровня комфорта с AppLocker вы обнаружите, что эти правила создаются очень быстро, поэтому лучше всего придумать стандартную схему именования для ваших правил, чтобы их можно было легко найти и изменить. После того, как вы назвали свое правило, нажмите «Создать», чтобы завершить процесс создания правила. Если это первое созданное вами правило, вам будет предложено создать «Правила по умолчанию», которые разрешают доступ к системным файлам для пользователей и администраторов. Это обязательно (особенно если вы используете предварительную версию Windows 7), потому что если их нет, это может помешать загрузке системы. После того, как вы нажмете «да» в этом приглашении, правила будут созданы автоматически.
Рисунок 3
Остался последний шаг к тому, чтобы ваши правила применялись должным образом. Служба идентификации приложений должна быть включена и настроена на автоматический запуск, чтобы AppLocker мог правильно идентифицировать приложения. Вы можете сделать это, введя services.msc в поле поиска меню «Пуск», найдя службу идентификации приложения, дважды щелкнув ее, нажав «Пуск» и выбрав «Автоматически» в поле «Тип запуска». После окончательной перезагрузки системы вашим пользователям будет представлено это прекрасное сообщение, если они попытаются запустить mstsc.exe…
Рисунок 4
Блокировка всех ненадежных приложений
В последнем сценарии мы точно знали, к какому приложению мы хотели запретить доступ пользователей, что довольно упростило нашу работу. Этот сценарий хорошо подходит для сред, где пользователям разрешено иметь некоторый свободный доступ к своим системам, но в некоторых организациях ИТ-политика определяет, что пользователям не разрешается запускать какие-либо программы, которые не одобрены ИТ-отделом явным образом. Единственный эффективный способ добиться этого — заблокировать все ненадежные приложения.
AppLocker позволяет нам сделать это довольно легко. AppLocker был разработан с акцентом на безопасность, и поэтому он будет предполагать, что если мы создадим разрешающее правило, все другие приложения, кроме специально разрешенного, должны быть заблокированы. Например, если я создам одно разрешающее правило для приложения в C:folderfile.exe, после применения этого правила всем другим приложениям в пути C:folder будет запрещено выполняться, кроме file.exe. Это означает, что для достижения нашей цели все, что нам нужно сделать, это создать разрешающее правило для каждого разрешенного приложения.
Теперь я знаю, о чем вы думаете… как вы могли бы ожидать, что кто-то создаст разрешающее правило для каждого отдельного приложения, которое запускает пользователь. Для этого нам пришлось бы создать правило для каждого отдельного исполняемого файла, включая приложения, которые мы специально установили, а также все установленные по умолчанию приложения Windows. К счастью, сотрудники Microsoft поняли, что это тоже проблема, и немного облегчили нам задачу. AppLocker позволяет нам автоматически генерировать правила на основе приложений, установленных на конкретной рабочей станции. Давайте пройдем через этот процесс.
Если вы еще не создали правила по умолчанию, разрешающие запуск всех необходимых системных приложений, то это ваш первый шаг. Вы можете сделать это, щелкнув правой кнопкой мыши коллекцию исполняемых правил и выбрав «Создать правила по умолчанию». Как только они будут созданы, мы захотим удалить разрешающее правило, которое позволяет всем выполнять что-либо в каталоге C:Program Files, поскольку это противоречит нашей задаче.
Рисунок 5
Наш следующий шаг — автоматически сгенерировать разрешающие правила для нашей системы. Чтобы начать этот процесс, щелкните правой кнопкой мыши коллекцию исполняемых правил и выберите «Автоматически создавать исполняемые правила». Есть два основных места, где хранятся приложения. Первым из них является наш каталог Windows, но, поскольку существует правило по умолчанию, позволяющее всем пользователям выполнять что-либо в этом каталоге (и рекомендуется оставить это правило в неприкосновенности), нам не нужно создавать какие-либо разрешающие правила для этого папка. Это оставляет каталог Program Files. Выберите эту папку в первом диалоговом окне. Ниже вы можете выбрать группу пользователей, к которой должна применяться политика, в нашем случае это будет группа «Пользователи». Наконец, вы должны выбрать имя для идентификации набора правил. Это имя будет отображаться в скобках перед описанием каждого правила. После заполнения этих полей нажмите «Далее», чтобы перейти к следующему экрану.
Рисунок 6
Экран настроек правил позволяет вам выбрать тип правил, которые вы хотите создать. В идеале вы захотите создать правила издателя для всех файлов с цифровой подписью и создать правила хэширования файлов для тех, у которых нет цифровой подписи. Это параметры по умолчанию для этого экрана. Вы также можете выбрать параметр, чтобы уменьшить количество правил, созданных путем группировки похожих файлов. Это создаст значительно меньше правил, но если вам требуется большая степень детализации в управлении доступом, я бы рекомендовал отменить выбор этой опции. Щелкните Далее, чтобы начать процесс обнаружения приложения правила. Через несколько секунд вам должно быть представлено диалоговое окно, в котором вы можете просмотреть создаваемые правила. Нажмите «Создать», чтобы создать эти правила и завершить процесс.
Коллекция правил DLL
Хотя на данный момент я перечислил только три набора правил, следует упомянуть еще один. Коллекция правил DLL используется для блокировки приложений, вызывающих определенные файлы DLL. Это расширенный набор правил, и его не следует использовать, если вы не уверены, что знаете, что делаете. Этот тип правил также может серьезно повлиять на производительность системы, поскольку требует, чтобы AppLocker проверял каждую библиотеку DLL, используемую приложением при его инициализации.
Коллекция правил DLL не включена по умолчанию по причинам, упомянутым выше. Если вы хотите создать правило DLL, вы можете сделать это, перейдя на главный экран конфигурации AppLocker, выбрав «Настроить применение правил», выбрав вкладку «Дополнительно» и установив флажок рядом с параметром «Включить сбор правил DLL». После этого вы увидите коллекцию правил DLL на левой панели вместе с тремя другими коллекциями правил.
Рисунок 7
Аудит против соблюдения правил
До этого момента все созданные нами правила были предназначены для обеспечения соблюдения политик, разрешающих или запрещающих использование приложений. В некоторых средах нам может быть лучше просто провести аудит использования конкретных приложений, прежде чем применять политику. AppLocker предоставляет настройку аудита именно для этой цели. Когда пользователь запускает приложение, на которое распространяется правило AppLocker, информация об этом приложении добавляется в журнал событий AppLocker. Этот параметр настраивается для каждой коллекции правил.
Этот параметр аудита можно настроить, щелкнув «Настроить применение правил» на главном экране конфигурации AppLocker. В этом окне вы можете установить флажок «Настроено» для набора правил, который вы хотите проверить, и выбрать параметр «Только аудит». Эта функция очень полезна для определения того, как должна выглядеть политика использования вашего приложения.
Рисунок 8
Вывод
Нетрудно заметить, что AppLocker может обеспечить большую управленческую гибкость в сети. Используя его динамическую систему правил, вы можете блокировать отдельные приложения, от игр до вредоносных программ, повышая как производительность, так и безопасность. Наряду с этим AppLocker может быть жизненно важным компонентом для обеспечения соблюдения вашей политики допустимого использования ИТ, разрешая только утвержденные приложения на сетевых компьютерах. Усовершенствования Windows 7 и Windows Server 2008 R2 многочисленны, но это то, что вы, конечно же, не захотите пропустить.