Автоматическое разрешение приложений, развернутых управляемым установщиком с помощью Защитник Windows управления приложениями

Примечание.

Некоторые возможности управления приложениями в Защитнике Windows доступны только в определенных версиях для Windows. Узнайте больше о доступности функции управления приложениями в Защитнике Windows.

Защитник Windows управление приложениями (WDAC) включает параметр, называемый управляемым установщиком, который помогает сбалансировать безопасность и управляемость при применении политик управления приложениями. Этот параметр позволяет автоматически разрешать приложения, установленные назначенным решением для распространения программного обеспечения, например Microsoft Configuration Manager (MEMCM) или Microsoft Intune.

Как работает управляемый установщик?

Управляемый установщик использует специальную коллекцию правил в AppLocker для назначения двоичных файлов, которым доверяет ваша организация, в качестве авторизованного источника для установки приложений. При запуске одного из этих доверенных двоичных файлов Windows отслеживает процесс двоичного файла (и все дочерние процессы, которые он запускает) и отслеживает запись файлов на диск. Когда файлы записываются, они помечаются как созданные из управляемого установщика.

Затем можно настроить WDAC для доверия к файлам, установленным управляемым установщиком, добавив параметр Enabled:Managed Installer в политику WDAC. Если этот параметр задан, WDAC будет проверка сведения о источнике управляемого установщика при определении того, следует ли разрешить выполнение двоичного файла. До тех пор, пока для двоичного файла нет правил запрета, WDAC позволит ему запускаться исключительно на основе управляемого источника установщика.

Соображения безопасности при использовании управляемого установщика

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

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

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

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

Известные ограничения управляемого установщика

  • Элемент управления приложениями, основанный на управляемом установщике, не поддерживает приложения, которые обновляются самостоятельно. Если приложение, развернутое управляемым установщиком, позже обновляется, обновленные файлы приложения не будут содержать сведения о источнике из управляемого установщика, и они не смогут запуститься. При использовании управляемых установщиков необходимо развернуть и установить все обновления приложений с помощью управляемого установщика или включить правила для авторизации приложения в политику WDAC. В некоторых случаях можно также назначить двоичный файл приложения, выполняющий самостоятельное обновление, в качестве управляемого установщика. Перед использованием этого метода необходимо выполнить надлежащий обзор функциональности и безопасности.

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

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

Настройка отслеживания управляемого установщика с помощью AppLocker и WDAC

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

  • Создайте и разверните политику AppLocker, которая определяет правила управляемого установщика и обеспечивает принудительное применение служб для исполняемых файлов и библиотек DLL.
  • Включите службы AppLocker Application Identity и AppLockerFltr.

Примечание.

Приведенная ниже политика AppLocker управляемого установщика предназначена для безопасного объединения с существующими политиками AppLocker и не изменяет поведение этих политик. Однако при применении к устройству, на которое в настоящее время нет политики AppLocker, вы увидите значительное увеличение количества предупреждающих событий, создаваемых в журнале событий AppLocker — EXE и DLL . Если вы используете службу пересылки и сбора событий, например LogAnalytics, вам может потребоваться настроить конфигурацию для этого журнала событий, чтобы только собирать события ошибок или полностью прекратить сбор событий из этого журнала.

Примечание.

MEMCM автоматически настраивает себя в качестве управляемого установщика и включает необходимые компоненты AppLocker при развертывании одной из политик WDAC папки "Входящие". При настройке MEMCM в качестве управляемого установщика с помощью любого другого метода требуется дополнительная настройка. Используйте параметр Cmdline ManagedInstaller в настройке ccmsetup.exe. Вы также можете развернуть одну из политик режима аудита папки "Входящие" MEMCM вместе с настраиваемой политикой.

Создайте и разверните политику AppLocker, которая определяет правила управляемого установщика и обеспечивает принудительное применение служб для исполняемых файлов и библиотек DLL.

Пользовательский интерфейс создания политики AppLocker в объекте групповой политики Редактор и командлеты PowerShell для AppLocker нельзя напрямую использовать для создания правил для коллекции правил управляемого установщика. Однако вы можете использовать XML-редактор или текстовый редактор для преобразования политики сбора правил EXE в коллекцию правил ManagedInstaller.

Примечание.

Управляемыми установщиками могут быть назначены только типы ФАЙЛОВ EXE.

  1. Используйте New-AppLockerPolicy , чтобы создать правило EXE для файла, назначаемого в качестве управляемого установщика. В этом примере создается правило для расширения управления Intune Майкрософт с помощью типа правила издателя, но можно использовать любой тип правила AppLocker. Возможно, потребуется переформатировать выходные данные для удобства чтения.

    Get-ChildItem ${env:ProgramFiles(x86)}'\Microsoft Intune Management Extension\Microsoft.Management.Services.IntuneWindowsAgent.exe' | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Publisher -User Everyone -Xml > AppLocker_MI_PS_ISE.xml
    
  2. Вручную измените тип коллекции правил с "Exe" на "ManagedInstaller" и задайте для параметра EnforcementMode значение AuditOnly.

    Изменить:

    <RuleCollection Type="Exe" EnforcementMode="NotConfigured">
    

    Кому:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. Вручную измените политику AppLocker и добавьте коллекции правил EXE и DLL по крайней мере по одному правилу для каждого из них. Чтобы убедиться, что политика может быть безопасно применена к системам, в которых уже может быть активна политика AppLocker, рекомендуется использовать небезопасное правило DENY, чтобы заблокировать поддельный двоичный файл и присвоить принудительному моду коллекции правил значение AuditOnly. Кроме того, так как многие процессы установки зависят от служб, необходимо включить отслеживание служб для каждой из этих коллекций правил. В следующем примере показана частичная политика AppLocker с коллекцией правил EXE и DLL, настроенными в соответствии с рекомендациями.

    <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
      <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
      <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    
  4. Проверьте политику AppLocker. В следующем примере показана полная политика AppLocker, которая задает Configuration Manager и Microsoft Intune в качестве управляемых установщиков. В окончательный XML-код включаются только те коллекции правил AppLocker, в которых определены фактические правила. Это включение на основе условий гарантирует успешное слияние политики на устройствах, на которых уже может быть создана политика AppLocker.

    <AppLockerPolicy Version="1">
      <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
        <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
        <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
        <FilePublisherRule Id="55932f09-04b8-44ec-8e2d-3fc736500c56" Name="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE version 1.39.200.2 or greater in MICROSOFT® INTUNE™ from O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
              <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE">
                <BinaryVersionRange LowSection="1.39.200.2" HighSection="*" />
              </FilePublisherCondition>
        </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="6ead5a35-5bac-4fe4-a0a4-be8885012f87" Name="CMM - CCMEXEC.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMEXEC.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
            </FilePublisherCondition>
          </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="8e23170d-e0b7-4711-b6d0-d208c960f30e" Name="CCM - CCMSETUP.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMSETUP.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
              </FilePublisherCondition>
            </Conditions>
          </FilePublisherRule>
        </RuleCollection>
      </AppLockerPolicy>
    
  5. Разверните политику конфигурации управляемого установщика AppLocker. Вы можете импортировать политику AppLocker и выполнить развертывание с помощью групповая политика или использовать сценарий для развертывания политики с помощью командлета Set-AppLockerPolicy, как показано в следующей команде PowerShell.

    Set-AppLockerPolicy -XmlPolicy <AppLocker XML FilePath> -Merge -ErrorAction SilentlyContinue
    
  6. При развертывании политики AppLocker с помощью скрипта используйте appidtel.exe для настройки службы удостоверений приложений AppLocker и драйвера фильтра AppLocker.

    appidtel.exe start [-mionly]
    

    Укажите "-mionly", если вы не планируете использовать Граф интеллектуальной безопасности (ISG).

Примечание.

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

Включение параметра управляемого установщика в политике WDAC

Чтобы включить доверие для двоичных файлов, установленных управляемыми установщиками, в политике WDAC необходимо указать параметр "Enabled: Managed Installer". Этот параметр можно определить с помощью командлета Set-RuleOption с параметром 13.

Ниже приведены шаги по созданию политики WDAC, которая позволяет загружать Windows и включает параметр управляемого установщика.

  1. Скопируйте политику DefaultWindows_Audit в рабочую папку из раздела "C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"

  2. Сбросьте идентификатор политики, чтобы убедиться, что он имеет формат с несколькими политиками, и присвойте ему идентификатор GUID, отличный от примера политик. Кроме того, присвойте ему понятное имя, чтобы помочь с идентификацией.

    Пример:

    Set-CIPolicyIdInfo -FilePath <XML filepath> -PolicyName "<friendly name>" -ResetPolicyID
    
  3. Задайте параметр 13 (Включено:Управляемый установщик).

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. Разверните политику WDAC. См. статью Развертывание политик управления приложениями Защитник Windows (WDAC).

Примечание.

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

Удаление функции управляемого установщика

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