Permitir automaticamente aplicações implementadas por um instalador gerido com o Controlo de Aplicações para Empresas

Observação

Algumas capacidades do Controlo de Aplicações para Empresas só estão disponíveis em versões específicas do Windows. Saiba mais sobre a disponibilidade das funcionalidades do Controlo de Aplicações.

O Controlo de Aplicações para Empresas inclui uma opção denominada instalador gerido que ajuda a equilibrar a segurança e a capacidade de gestão ao impor políticas de Controlo de Aplicações. Esta opção permite-lhe permitir automaticamente aplicações instaladas 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 gerido utiliza uma coleção de regras especiais no AppLocker para designar binários considerados fidedignos pela sua organização como uma origem autorizada para a instalação da aplicação. Quando um destes binários fidedignos é executado, o Windows monitoriza o processo do binário (e todos os processos subordinados que inicia) e observa os ficheiros que estão a ser escritos no disco. À medida que os ficheiros são escritos, são identificados como provenientes de um instalador gerido.

Em seguida, pode configurar o Controlo de Aplicações para confiar em ficheiros que são instalados por um instalador gerido ao adicionar a opção "Ativado:Instalador Gerido" à política de Controlo de Aplicações. Quando essa opção estiver definida, o Controlo de Aplicações marcar para informações de origem do instalador gerido ao determinar se deve ou não permitir a execução de um binário. Desde que não existam regras de negação para o binário, o Controlo de Aplicações permitirá que seja executado apenas com base na origem do instalador gerido.

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

Uma vez que o instalador gerido é um mecanismo baseado em heurística, não fornece as mesmas garantias de segurança que as regras explícitas de permissão ou negação. O instalador gerido é mais adequado para o local onde os utilizadores operam como utilizador padrão e onde todo o software é implementado e instalado por uma solução de distribuição de software, como o MEMCM.

Os utilizadores com privilégios de administrador ou software maligno em execução como um utilizador administrador no sistema poderão conseguir contornar a intenção das políticas de Controlo de Aplicações quando a opção do instalador gerido é permitida.

Se um processo de instalador gerido for executado no contexto de um utilizador com privilégios padrão, é possível que os utilizadores padrão ou software maligno em execução como utilizador padrão possam contornar a intenção das suas políticas de Controlo de Aplicações.

Alguns instaladores de aplicações podem executar automaticamente a aplicação no final do processo de instalação. Se a aplicação for executada automaticamente e o instalador tiver sido executado por um instalador gerido, o controlo heurístico e a autorização do instalador gerido serão expandidos para todos os ficheiros criados durante a primeira execução da aplicação. Esta extensão pode resultar numa autorização não intencional de um executável. Para evitar isso, certifique-se de que o método de implementação de aplicações utilizado como um instalador gerido limita a execução de aplicações como parte da instalação.

Limitações conhecidas com instalador gerenciado

  • O Controlo de Aplicações, com base no instalador gerido, não suporta aplicações que se auto-atualizam. Se uma aplicação que foi implementada por um instalador gerido se atualizar posteriormente, os ficheiros da aplicação atualizados não incluirão as informações de origem do instalador gerido e poderão não ser executados. Quando depende de instaladores geridos, tem de implementar e instalar todas as atualizações de aplicações com um instalador gerido ou incluir regras para autorizar a aplicação na política de Controlo de Aplicações. Em alguns casos, pode também designar um binário de aplicação que efetua atualizações automáticas como um instalador gerido. A revisão adequada para segurança e funcionalidade deve ser executada para o aplicativo antes de usar esse método.

  • Algumas aplicações ou instaladores podem extrair, transferir ou gerar binários e tentar executá-los imediatamente. Os ficheiros executados por esse processo podem não ser permitidos pelo instalador gerido heurístico. 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 gerido não autoriza controladores de kernel. A política de Controlo de Aplicações tem de ter regras que permitam a execução dos controladores necessários.

Configurar o controlo do instalador gerido com o AppLocker e o Controlo de Aplicações

Para ativar o controlo do instalador gerido, tem de:

  • Crie e implemente uma política appLocker que defina as regras do instalador gerido e permita a imposição de serviços para executáveis e DLLs.
  • Ative a Identidade da Aplicação do AppLocker e os serviços AppLockerFltr.

Observação

A política appLocker do instalador gerido abaixo foi concebida para ser intercalada com segurança com quaisquer políticas do AppLocker pré-existentes e não irá alterar o comportamento dessas políticas. No entanto, se aplicado a um dispositivo que não tem atualmente nenhuma política do AppLocker, verá um grande aumento nos eventos de aviso gerados no registo de eventos AppLocker – EXE e DLL . Se estiver a utilizar um serviço de reencaminhamento e recolha de eventos, como o LogAnalytics, poderá querer ajustar a configuração desse registo de eventos para recolher apenas eventos de Erro ou parar de recolher eventos desse registo.

Observação

O MEMCM irá configurar-se automaticamente como um instalador gerido e ativar os componentes do AppLocker necessários, se implementar uma das políticas de Controlo de Aplicações da caixa de entrada. Se estiver a configurar o MEMCM como um instalador gerido com qualquer outro método, é necessária uma configuração adicional. Utilize o comutador de cmdline ManagedInstaller na configuração do ccmsetup.exe. Em alternativa, pode implementar uma das políticas do modo de auditoria da caixa de entrada MEMCM juntamente com a sua política personalizada.

Criar e implementar uma política appLocker que define as regras do instalador gerido e permite a imposição de serviços para executáveis e DLLs

A IU de criação de políticas do AppLocker no GPO Editor e os cmdlets do PowerShell do AppLocker não podem ser utilizados diretamente para criar regras para a coleção de regras do Instalador Gerido. No entanto, pode utilizar um editor de texto ou XML para converter uma política de coleção de regras EXE numa coleção de regras do ManagedInstaller.

Observação

Apenas os tipos de ficheiro EXE podem ser designados como instaladores geridos.

  1. Utilize New-AppLockerPolicy para criar uma regra EXE para o ficheiro que está a designar como instalador gerido. Este exemplo cria uma regra para a Extensão de Gestão de Intune da Microsoft com o tipo de regra do Publisher, mas qualquer tipo de regra do AppLocker pode ser utilizado. Poderá ter de reformatar a saída para fins de 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"

    Alterar:

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

    Para:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. Edite manualmente a política do AppLocker e adicione as coleções de regras EXE e DLL com, pelo menos, uma regra para cada uma. Para garantir que a política pode ser aplicada em segurança em sistemas que podem já ter uma política do AppLocker ativa, recomendamos que utilize uma regra DENY benigna para bloquear um binário falso e definir o EnforcementMode da coleção de regras como AuditOnly. Além disso, uma vez que muitos processos de instalação dependem de serviços, tem de ativar o controlo de serviços para cada uma dessas coleções de regras. O exemplo seguinte mostra uma política appLocker parcial 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 a política do AppLocker. O exemplo seguinte mostra uma política appLocker completa que define Configuration Manager e Microsoft Intune como instaladores geridos. Apenas as coleções de regras do AppLocker que têm regras reais definidas estão incluídas no XML final. Esta inclusão baseada em condições garante que a política será intercalada com êxito em dispositivos que podem já ter uma política appLocker implementada.

    <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&reg; INTUNE&trade; 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. Implemente a política de configuração do instalador gerido do AppLocker. Pode importar a política do AppLocker e implementar com Política de Grupo ou utilizar um script para implementar 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 implementar a política do AppLocker através de script, utilize appidtel.exe para configurar o serviço de Identidade de Aplicação do AppLocker e o controlador de filtro appLocker.

    appidtel.exe start [-mionly]
    

    Especifique "-mionly" se não planear utilizar o Gráfico de Segurança Inteligente (ISG).

Observação

O controlo do instalador gerido será iniciado da próxima vez que um processo for executado que corresponda às regras do instalador gerido. Se um processo pretendido já estiver em execução, tem de reiniciá-lo.

Ativar a opção do instalador gerido na política de Controlo de Aplicações

Para ativar a confiança para os binários estabelecidos pelos instaladores geridos, a opção "Ativado: Instalador Gerido" tem de ser especificada na política de Controlo de Aplicações. Esta definição pode ser definida com o cmdlet Set-RuleOption com a Opção 13.

Seguem-se os passos para criar uma política de Controlo de Aplicações que permite ao Windows arrancar e ativa a opção de instalador gerido.

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

  2. Reponha o ID da política para garantir que está no formato de várias políticas e atribua-lhe um GUID diferente das políticas de exemplo. Além disso, atribua-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 (Ativado:Instalador Gerido).

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. Implemente a política de Controlo de Aplicações. Veja Implementar políticas do Controlo de Aplicações para Empresas.

Observação

A política de Controlo de Aplicações tem de incluir regras para todos os componentes de sistema/arranque, controladores de kernel e quaisquer outras aplicações autorizadas que não possam ser implementadas através de um instalador gerido.

Remover funcionalidade do Instalador Gerido

Para remover a funcionalidade Instalador Gerido do dispositivo, terá de remover a política appLocker do Instalador Gerido do dispositivo ao seguir as instruções em Eliminar uma regra do AppLocker: Limpar políticas do AppLocker num único sistema ou sistemas remotos.