Permitir automaticamente aplicativos implantados por um instalador gerenciado com Windows Defender Controle de Aplicativo

Observação

Alguns recursos do Windows Defender Application Control só estão disponíveis em versões específicas do Windows. Saiba mais sobre a disponibilidade do recurso Windows Defender Controle de Aplicativo.

Windows Defender O WDAC (Controle de Aplicativo) inclui uma opção chamada instalador gerenciado que ajuda a equilibrar a segurança e a capacidade de gerenciamento ao impor políticas de controle de aplicativo. Essa opção permite permitir automaticamente aplicativos instalados por uma solução de distribuição de software designada, como Microsoft Configuration Manager (MEMCM) ou Microsoft Intune.

Como um instalador gerenciado funciona?

O instalador gerenciado usa uma coleção de regras especial no AppLocker para designar binários confiáveis pela sua organização como uma fonte autorizada para instalação do aplicativo. Quando um desses binários confiáveis é executado, o Windows monitora o processo do binário (e qualquer filho processa ele é iniciado) e observa os arquivos que estão sendo gravados em disco. À medida que os arquivos são gravados, eles são marcados como originários de um instalador gerenciado.

Em seguida, você pode configurar o WDAC para confiar em arquivos instalados por um instalador gerenciado adicionando a opção "Instalador Gerenciado:Habilitado" à política do WDAC. Quando essa opção for definida, o WDAC marcar para obter informações de origem do instalador gerenciado ao determinar se um binário deve ou não ser executado. Desde que não haja regras de negação para o binário, o WDAC permitirá que ele seja executado com base apenas na origem do instalador gerenciado.

Considerações de segurança com o instalador gerenciado

Como o instalador gerenciado é um mecanismo baseado em heurística, ele não fornece as mesmas garantias de segurança que as regras explícitas de permissão ou negação. O instalador gerenciado é mais adequado onde os usuários operam como usuário padrão e onde todos os softwares são implantados e instalados por uma solução de distribuição de software, como o MEMCM.

Usuários com privilégios de administrador ou malware em execução como um usuário administrador no sistema podem ser capazes de contornar a intenção de suas políticas WDAC quando a opção do instalador gerenciado for permitida.

Se um processo de instalador gerenciado for executado no contexto de um usuário com privilégios padrão, é possível que usuários padrão ou malware em execução como usuário padrão possam contornar a intenção de suas políticas do WDAC.

Alguns instaladores de aplicativo podem executar automaticamente o aplicativo no final do processo de instalação. Se o aplicativo for executado automaticamente e o instalador for executado por um instalador gerenciado, o controle heurístico e a autorização do instalador gerenciado se estenderão a todos os arquivos criados durante a primeira execução do aplicativo. Essa extensão pode resultar em autorização não intencional de um executável. Para evitar isso, verifique se o método de implantação do aplicativo usado como instalador gerenciado limita a execução de aplicativos como parte da instalação.

Limitações conhecidas com instalador gerenciado

  • O controle de aplicativo, com base no instalador gerenciado, não dá suporte a aplicativos que se auto-atualizam. Se um aplicativo que foi implantado por um instalador gerenciado se atualizar posteriormente, os arquivos de aplicativo atualizados não incluirão as informações de origem do instalador gerenciado e talvez não possam ser executados. Ao contar com instaladores gerenciados, você deve implantar e instalar todas as atualizações de aplicativo usando um instalador gerenciado ou incluir regras para autorizar o aplicativo na política WDAC. Em alguns casos, pode ser possível também designar um binário de aplicativo que executa auto-atualizações como um instalador gerenciado. A revisão adequada para segurança e funcionalidade deve ser executada para o aplicativo antes de usar esse método.

  • Alguns aplicativos ou instaladores podem extrair, baixar ou gerar binários e tentar executá-los imediatamente. Os arquivos executados por esse processo podem não ser permitidos pela heurística do instalador gerenciado. Em alguns casos, talvez seja possível designar também um aplicativo binário que realiza essa operação como um instalador gerenciado. A revisão adequada para segurança e funcionalidade deve ser executada para o aplicativo antes de usar esse método.

  • A heurística do instalador gerenciado não autoriza drivers de kernel. A política do WDAC deve ter regras que permitem a execução dos drivers necessários.

Configurar o acompanhamento do instalador gerenciado com o AppLocker e o WDAC

Para ativar o rastreamento do instalador gerenciado, você deve:

  • Crie e implante uma política do AppLocker que define as regras do instalador gerenciado e permite a aplicação de serviços para executáveis e DLLs.
  • Habilite a Identidade de Aplicativo do AppLocker e os serviços AppLockerFltr.

Observação

A política do AppLocker do instalador gerenciado abaixo foi projetada para ser mesclada com segurança com quaisquer políticas pré-existentes do AppLocker e não alterará o comportamento dessas políticas. No entanto, se aplicado em um dispositivo que não tem nenhuma política do AppLocker no momento, você verá um grande aumento nos eventos de aviso gerados no log de eventos AppLocker - EXE e DLL . Se você estiver usando um serviço de encaminhamento e coleta de eventos, como LogAnalytics, talvez queira ajustar a configuração desse log de eventos para coletar apenas eventos de erro ou parar de coletar eventos desse log completamente.

Observação

O MEMCM se configurará automaticamente como um instalador gerenciado e habilitará os componentes do AppLocker necessários se você implantar uma de suas políticas WDAC de caixa de entrada. Se você estiver configurando o MEMCM como um instalador gerenciado usando qualquer outro método, será necessária uma configuração adicional. Use a opção cmdline ManagedInstaller na configuração do ccmsetup.exe. Ou você pode implantar uma das políticas de modo de auditoria de caixa de entrada do MEMCM junto com sua política personalizada.

Criar e implantar uma política do AppLocker que define as regras do instalador gerenciado e habilita a aplicação de serviços para executáveis e DLLs

A interface do usuário da política AppLocker no GPO Editor e os cmdlets do AppLocker PowerShell não podem ser usados diretamente para criar regras para a coleção de regras do Instalador Gerenciado. No entanto, você pode usar um editor de texto ou XML para converter uma política de coleção de regras EXE em uma coleção de regras ManagedInstaller.

Observação

Somente os tipos de arquivo EXE podem ser designados como instaladores gerenciados.

  1. Use New-AppLockerPolicy para criar uma regra EXE para o arquivo que você está designando como um instalador gerenciado. Este exemplo cria uma regra para a Extensão de Gerenciamento de Intune da Microsoft usando o tipo de regra Publisher, mas qualquer tipo de regra AppLocker pode ser usada. Talvez seja necessário reformatar a saída para legibilidade.

    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. Altere manualmente o tipo de coleção de regras de "Exe" para "ManagedInstaller" e defina EnforcementMode como "AuditOnly"

    Mudar:

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

    Para:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. Edite manualmente sua política appLocker e adicione as coleções de regras EXE e DLL com pelo menos uma regra para cada. Para garantir que sua política possa ser aplicada com segurança em sistemas que já podem ter uma política ativa do AppLocker, recomendamos usar uma regra DENY benigna para bloquear um binário falso e definir o EnforcementMode da coleção de regras como AuditOnly. Além disso, como muitos processos de instalação dependem de serviços, você precisa habilitar o acompanhamento de serviços para cada uma dessas coleções de regras. O exemplo a seguir mostra uma política parcial do AppLocker com a coleção de regras EXE e DLL configurada conforme recomendado.

    <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. Verifique sua política do AppLocker. O exemplo a seguir mostra uma política completa do AppLocker que define Configuration Manager e Microsoft Intune como instaladores gerenciados. Somente as coleções de regras do AppLocker que têm regras reais definidas estão incluídas no XML final. Essa inclusão baseada em condição garante que a política se mesclará com êxito em dispositivos que já podem ter uma política AppLocker em vigor.

    <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. Implante sua política de configuração do instalador gerenciado do AppLocker. Você pode importar sua política appLocker e implantar com Política de Grupo ou usar um script para implantar a política com o cmdlet Set-AppLockerPolicy, conforme mostrado no seguinte comando do PowerShell.

    Set-AppLockerPolicy -XmlPolicy <AppLocker XML FilePath> -Merge -ErrorAction SilentlyContinue
    
  6. Se implantar sua política appLocker por meio de script, use appidtel.exe para configurar o serviço AppLocker Application Identity e o driver de filtro AppLocker.

    appidtel.exe start [-mionly]
    

    Especifique "-mionly" se você não planeja usar o ISG (Intelligent Security Graph).

Observação

O acompanhamento gerenciado do instalador iniciará na próxima vez que um processo for executado que corresponda às regras do instalador gerenciado. Se um processo pretendido já estiver em execução, você deverá reiniciá-lo.

Habilitar a opção de instalador gerenciado na política do WDAC

Para habilitar a confiança para os binários estabelecidos pelos instaladores gerenciados, a opção "Habilitado: Instalador Gerenciado" deve ser especificada na política do WDAC. Essa configuração pode ser definida usando o cmdlet Set-RuleOption com a opção 13.

Abaixo estão as etapas para criar uma política WDAC que permite que o Windows inicialize e habilite a opção instalador gerenciado.

  1. Copie a política de DefaultWindows_Audit em sua pasta de trabalho de "C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"

  2. Reinicie a ID da política para garantir que ela esteja no formato de várias políticas e dê a ela um GUID diferente das políticas de exemplo. Além disso, dê-lhe um nome amigável para ajudar na identificação.

    Por exemplo:

    Set-CIPolicyIdInfo -FilePath <XML filepath> -PolicyName "<friendly name>" -ResetPolicyID
    
  3. Defina a opção 13 (Habilitado:Instalador Gerenciado).

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. Implante sua política WDAC. Consulte Implantando políticas de WDAC (Controle de Aplicativo) Windows Defender.

Observação

Sua política do WDAC deve incluir regras para todos os componentes do sistema/inicialização, drivers de kernel e quaisquer outros aplicativos autorizados que não possam ser implantados por meio de um instalador gerenciado.

Remover o recurso instalador gerenciado

Para remover o recurso instalador gerenciado do dispositivo, você precisará remover a política AppLocker do Instalador Gerenciado do dispositivo seguindo as instruções em Excluir uma regra AppLocker: Limpar políticas do AppLocker em um único sistema ou sistemas remotos.