Соображения безопасности для AppLocker

В этой статье для ИТ-специалистов описаны вопросы безопасности, которые необходимо учитывать при реализации AppLocker.

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

AppLocker развертывается на предприятии и централизованно администрируется этими ит-ресурсами с доверенными учетными данными. Эта система позволяет создавать и развертывать политики в соответствии с аналогичными процессами развертывания политик и ограничениями безопасности.

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

Корпорация Майкрософт не предоставляет способ разработки расширений для AppLocker. Интерфейсы не являются общедоступными. Пользователь с учетными данными администратора может автоматизировать некоторые процессы AppLocker с помощью командлетов Windows PowerShell. Сведения о командлетах Windows PowerShell для AppLocker см. в разделе Командлеты AppLocker в Windows PowerShell.

AppLocker выполняется в контексте administrator или LocalSystem, который является самым высоким набором привилегий. Этот контекст безопасности может быть использован неправильно. Так как правила AppLocker являются аддитивными, все локальные правила политики применяются к компьютеру вместе с любыми GPO. Если локальный компьютер не присоединен к домену или не управляется групповая политика, пользователь с учетными данными администратора может полностью управлять политикой AppLocker.

Правила пути AppLocker не заменяют списки управления доступом (ACL). Следует продолжать использовать списки управления доступом для ограничения доступа к файлам в соответствии с политикой безопасности.

Вы не можете использовать AppLocker, чтобы запретить выполнение кода за пределами подсистемы Win32. Например, он не может управлять кодом, выполняемым в подсистема Windows для Linux. Если это требование для предотвращения запуска приложений в подсистеме Linux, необходимо отключить подсистему. Вы также можете заблокировать подсистема Windows для Linux, заблокировав LxssManager.dll.

AppLocker может управлять только VBScript, JScript, .bat файлами, .cmd файлами и скриптами Windows PowerShell. Он не управляет всем интерпретируемым кодом, который выполняется в хост-процессе, например скриптами Perl и макросами. Интерпретируемый код — это форма исполняемого кода, выполняемого в хост-процессе. Например, пакетные файлы Windows (*.bat) выполняются в контексте узла команд Windows (cmd.exe). Чтобы управлять интерпретируемым кодом с помощью AppLocker, ведущий процесс должен вызвать AppLocker перед выполнением интерпретированного кода, а затем применить решение, возвращаемое AppLocker. Не все хост-процессы вызывают AppLocker, поэтому AppLocker не может управлять всеми типами интерпретированного кода, например макросами Microsoft Office.

Важно.

Необходимо настроить соответствующие параметры безопасности этих ведущих процессов, если необходимо разрешить их запуск. Например, настройте параметры безопасности в Microsoft Office, чтобы обеспечить загрузку только подписанных и доверенных макросов.

Правила AppLocker разрешают или блокируют запуск файла приложения. AppLocker не контролирует поведение приложений после их запуска. Приложения могут содержать флаги, передаваемые функциям, которые сигналит AppLocker об обходить правила и разрешать загрузку другого .exe или .dll. На практике разрешенное приложение может использовать эти флаги для обхода правил AppLocker и запуска дочерних процессов. Необходимо тщательно изучить каждое приложение, прежде чем разрешить им запускаться с помощью правил AppLocker.

Примечание.

Два флага, иллюстрирующие это условие: SANDBOX_INERT, которые можно передать в CreateRestrictedToken, и LOAD_IGNORE_CODE_AUTHZ_LEVEL, которые можно передать в LoadLibraryEx. Оба этих флага позволяют AppLocker обойти правила и разрешить загрузку дочернего .exe или .dll.