Permitir aplicativos Win32 de linha de negócios em dispositivos Intune-Managed modo S

Aplica-se a:

  • Windows 10
  • Windows 11

Observação

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

A partir da atualização de Windows 10 de novembro de 2019 (build 18363), o Microsoft Intune permite que os clientes implantem e executem aplicativos Win32 críticos para os negócios e componentes do Windows que normalmente são bloqueados no modo S (por exemplo, PowerShell.exe) em seus Intune Windows gerenciados por Intune em dispositivos no modo S.

Com o Intune, os profissionais de TI agora podem configurar seus dispositivos de modo S gerenciado usando uma política complementar do WDAC (controle de aplicativo) do Windows Defender que expande a política base do modo S para autorizar os aplicativos que seus negócios usam. Esse recurso altera a postura de segurança do modo S de "cada aplicativo é verificado pela Microsoft" para "cada aplicativo é verificado pela Microsoft ou pela sua organização".

Consulte o vídeo abaixo para obter uma visão geral e uma breve demonstração.

Processo de autorização de política

Autorização de Política. As etapas gerais para expandir a política base do modo S em seus dispositivos gerenciados pelo Intune são gerar uma política complementar, assinar essa política e, em seguida, carregar a política assinada no Intune e atribuí-la a grupos de usuários ou dispositivos. Como você precisa de acesso aos cmdlets do PowerShell do WDAC para gerar sua política complementar, crie e gerencie suas políticas em um dispositivo de modo não S. Depois que a política tiver sido carregada no Intune, é recomendável atribuí-la a um único dispositivo de teste no modo S para verificar o funcionamento esperado antes de implantar a política mais amplamente.

  1. Gerar uma política complementar com ferramentas Windows Defender Controle de Aplicativos

    Essa política expandirá a política base do modo S para autorizar mais aplicativos. Qualquer coisa autorizada pela política base do modo S ou sua política complementar terá permissão para ser executada. Suas políticas complementares podem especificar regras de caminho de arquivo, editores confiáveis e muito mais.

    Consulte Implantar várias Políticas de Controle de Aplicativo Windows Defender para obter diretrizes sobre como criar políticas complementares e implantar regras de política e regras de arquivo do controle de aplicativo do Windows Defender para escolher o tipo certo de regras a serem criadas para sua política.

    Abaixo estão um conjunto básico de instruções para criar uma política complementar do modo S:

    • Criar uma nova política base usando New-CIPolicy

      New-CIPolicy -MultiplePolicyFormat -ScanPath <path> -UserPEs -FilePath "<path>\SupplementalPolicy.xml" -Level Publisher -Fallback Hash
      
    • Altere-o para uma política complementar usando Set-CIPolicyIdInfo

      Set-CIPolicyIdInfo -SupplementsBasePolicyID 5951A96A-E0B5-4D3D-8FB8-3E5B61030784 -FilePath "<path>\SupplementalPolicy.xml"
      

      As políticas que complementam a política base do modo S devem usar -SupplementsBasePolicyID 5951A96A-E0B5-4D3D-8FB8-3E5B61030784, pois essa ID é a ID da política do modo S.

    • Colocar a política no modo de imposição usando Set-RuleOption

      Set-RuleOption -FilePath "<path>\SupplementalPolicy.xml>" -Option 3 –Delete
      

      Esse comando exclui o qualificador 'modo de auditoria'.

    • Como você assinará sua política, deverá autorizar o certificado de assinatura que usará para assinar a política e, opcionalmente, um ou mais signaários extras que podem ser usados para assinar atualizações para a política no futuro. Para obter mais informações, consulte a Seção 2, Política de assinatura. Use Add-SignerRule para adicionar o certificado de autenticação à política Windows Defender controle de aplicativo:

      Add-SignerRule -FilePath <policypath> -CertificatePath <certpath> -User -Update
      
    • Converter em .bin usando ConvertFrom-CIPolicy

      ConvertFrom-CIPolicy -XmlFilePath "<path>\SupplementalPolicy.xml" -BinaryFilePath "<path>\SupplementalPolicy.bin>
      
  2. Política de assinatura

    As políticas complementares do modo S devem ser assinadas digitalmente. Para assinar sua política, você pode optar por usar o DGSS (Serviço de Assinatura do Device Guard) ou a PKI (Infraestrutura de Chave Pública) personalizada da sua organização. Consulte Usar o Portal de Assinatura do Device Guard no Microsoft Store para Empresas para obter diretrizes sobre como usar o DGSS e criar um certificado de assinatura de código para o Controle de Aplicativos do Windows Defender para obter diretrizes sobre como assinar usando uma AC interna.

    Renomeie sua política como "{PolicyID}.p7b" depois que você a tiver assinado. PolicyID pode ser encontrado inspecionando o XML de Política Complementar.

  3. Implantar a política complementar assinada usando Microsoft Intune

    Vá para o portal do Azure online e navegue até a página Microsoft Intune, vá para a folha Aplicativos cliente e selecione 'Políticas complementares do modo S'. Carregue a política assinada para Intune e atribua-a a grupos de usuários ou dispositivos. Intune gerará tokens de autorização específicos do locatário e do dispositivo. Intune implanta o token de autorização correspondente e a política complementar em cada dispositivo no grupo atribuído. Juntos, esses tokens e políticas expandem a política base do modo S no dispositivo.

Observação

Ao atualizar sua política complementar, verifique se o novo número de versão é estritamente maior que o anterior. O uso do mesmo número de versão não é permitido por Intune. Consulte Set-CIPolicyVersion para obter informações sobre como definir o número de versão.

Processo Padrão para implantação de aplicativos por meio Intune

Implantando aplicativos por meio Intune. Consulte Intune gerenciamento de aplicativos Autônomo – Win32 para obter diretrizes sobre o procedimento existente de empacotamento de catálogos assinados e implantação de aplicativos.

Opcional: processo de implantação de aplicativos usando catálogos

Implantando aplicativos usando catálogos. Sua política complementar pode ser usada para relaxar significativamente a política base do modo S, mas há compensações de segurança que você deve considerar ao fazer isso. Por exemplo, você pode usar uma regra de signatário para confiar em um signatário externo, mas isso autorizará todos os aplicativos assinados por esse certificado, que podem incluir aplicativos que você não deseja permitir também.

Em vez de autorizar signatários externos à sua organização, o Intune adicionou novas funcionalidades para facilitar a autorização de aplicativos existentes (sem a necessidade de reempacoção ou acesso ao código-fonte) usando catálogos assinados. Essa funcionalidade funciona para aplicativos que podem não ser assinados ou até mesmo aplicativos assinados quando você não deseja confiar em todos os aplicativos que podem compartilhar o mesmo certificado de autenticação.

O processo básico é gerar um arquivo de catálogo para cada aplicativo usando o Package Inspector e assinar os arquivos de catálogo usando o DGSS ou uma PKI personalizada. Use o Add-SignerRule cmdlet do PowerShell conforme mostrado acima para autorizar o certificado de assinatura de catálogo na política complementar. Depois disso, os profissionais de TI podem usar o processo de implantação Intune aplicativo padrão descrito acima. Para obter mais informações sobre como gerar catálogos, consulte Implantar arquivos de catálogo para dar suporte Windows Defender Controle de Aplicativos.

Observação

Sempre que um aplicativo for atualizado, você precisará implantar um catálogo atualizado. Por isso, os profissionais de TI devem tentar evitar o uso de arquivos de catálogo para aplicativos que atualizam automaticamente e direcionam os usuários a não atualizar aplicativos por conta própria.

Política de exemplo

Veja abaixo uma política de exemplo que permite depuradores de kernel, ISE do PowerShell e Editor do Registro. Ele também demonstra como especificar os certificados de assinatura de código e de assinatura de política da sua organização.

<?xml version="1.0" encoding="utf-8"?>
<SiPolicy xmlns="urn:schemas-microsoft-com:sipolicy" PolicyType="Supplemental Policy">
  <VersionEx>10.0.0.0</VersionEx>
  <PlatformID>{2E07F7E4-194C-4D20-B7C9-6F44A6C5A234}</PlatformID>
  <!--Standard S mode GUID-->
  <BasePolicyID>{5951A96A-E0B5-4D3D-8FB8-3E5B61030784}</BasePolicyID>
  <!--Unique policy GUID-->
  <PolicyID>{52671094-ACC6-43CF-AAF1-096DC69C1345}</PolicyID>
  <!--EKUS-->
  <EKUs />
  <!--File Rules-->
  <FileRules>
    <!--Allow kernel debuggers-->
    <Allow ID="ID_ALLOW_CBD_0" FriendlyName="cdb.exe" FileName="CDB.Exe" />
    <Allow ID="ID_ALLOW_KD_0" FriendlyName="kd.exe" FileName="kd.Exe" />
    <Allow ID="ID_ALLOW_WINDBG_0" FriendlyName="windbg.exe" FileName="windbg.Exe" />
    <Allow ID="ID_ALLOW_MSBUILD_0" FriendlyName="MSBuild.exe" FileName="MSBuild.Exe" />
    <Allow ID="ID_ALLOW_NTSD_0" FriendlyName="ntsd.exe" FileName="ntsd.Exe" />
    <!--Allow PowerShell ISE and Registry Editor-->
    <Allow ID="ID_ALLOW_POWERSHELLISE_0" FriendlyName="powershell_ise.exe" FileName="powershell_ise.exe" />
    <Allow ID="ID_ALLOW_REGEDIT_0" FriendlyName="regedit.exe" FileName="regedit.exe" />
  </FileRules>
  <!--Signers-->
  <Signers>
    <!--info of the certificate you will use to do any code/catalog signing-->
    <Signer ID="EXAMPLE_ID_SIGNER_CODE" Name="Example Code Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
    
    <!--info of the certificate you will use to sign your policy-->
    <Signer ID="EXAMPLE_ID_SIGNER_POLICY" Name="Example Policy Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
  </Signers>
  <!--Driver Signing Scenarios-->
  <SigningScenarios>
    <SigningScenario Value="131" ID="ID_SIGNINGSCENARIO_KMCI" FriendlyName="Example Name">
      <ProductSigners />
    </SigningScenario>
    <SigningScenario Value="12" ID="ID_SIGNINGSCENARIO_UMCI" FriendlyName="Example Name">
      <ProductSigners>
        <AllowedSigners>
          <AllowedSigner SignerId="EXAMPLE_ID_SIGNER_CODE" />          
        </AllowedSigners>
        <FileRulesRef>
          <FileRuleRef RuleID="ID_ALLOW_CBD_0" />
          <FileRuleRef RuleID="ID_ALLOW_KD_0" />
          <FileRuleRef RuleID="ID_ALLOW_WINDBG_0" />
          <FileRuleRef RuleID="ID_ALLOW_MSBUILD_0" />
          <FileRuleRef RuleID="ID_ALLOW_NTSD_0" />
          <FileRuleRef RuleID="ID_ALLOW_POWERSHELLISE_0" />
          <FileRuleRef RuleID="ID_ALLOW_REGEDIT_0" />
        </FileRulesRef>
      </ProductSigners>
    </SigningScenario>
  </SigningScenarios>
  <!--Specify one or more certificates that can be used to sign updated policy-->
  <UpdatePolicySigners>
    <UpdatePolicySigner SignerId="EXAMPLE_ID_SIGNER_POLICY" />
  </UpdatePolicySigners>
  <!--Specify one or more codesigning certificates to trust-->
  <CiSigners>
    <CiSigner SignerId="EXAMPLE_ID_SIGNER_CODE" />
  </CiSigners>
  <!-- example remove core isolation a.k.a. Hypervisor Enforced Code Integrity (HVCI) options, consider enabling if your system supports it-->
  <HvciOptions>0</HvciOptions>
  <Settings>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Name">
      <Value>
        <String>Example Policy Name</String>
      </Value>
    </Setting>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Id">
      <Value>
        <String>Example-Policy-10.0.0.0</String>
      </Value>
    </Setting>
  </Settings>
</SiPolicy>

Remoção de política

Para reverter os usuários para uma política de modo S não modificada, um profissional de TI pode remover um usuário ou usuários do grupo de Intune de destino que recebeu a política, o que disparará uma remoção da política e do token de autorização do dispositivo.

Os profissionais de TI também têm a opção de excluir uma política complementar por meio Intune.

<?xml version="1.0" encoding="utf-8"?>
<SiPolicy xmlns="urn:schemas-microsoft-com:sipolicy" PolicyType="Supplemental Policy">
  <VersionEx>10.0.0.1</VersionEx>
  <PlatformID>{2E07F7E4-194C-4D20-B7C9-6F44A6C5A234}</PlatformID>
  <BasePolicyID>{5951A96A-E0B5-4D3D-8FB8-3E5B61030784}</BasePolicyID>
  <PolicyID>{52671094-ACC6-43CF-AAF1-096DC69C1345}</PolicyID>
  <Rules>
  </Rules>
  <!--EKUS-->
  <EKUs />
  <!--File Rules-->

  <!--Signers-->
  <Signers>
    <!--info of the certificate you will use to sign your policy-->
    <Signer ID="EXAMPLE_ID_SIGNER_POLICY" Name="Example Policy Signing Certificate Friendly Name">
      <CertRoot Type="TBS" Value="<value>" />
    </Signer>
  </Signers>
  <!--Driver Signing Scenarios-->
  <SigningScenarios>
    <SigningScenario Value="131" ID="ID_SIGNINGSCENARIO_KMCI" FriendlyName="KMCI">
      <ProductSigners>
      </ProductSigners>
    </SigningScenario>
    <SigningScenario Value="12" ID="ID_SIGNINGSCENARIO_UMCI" FriendlyName="UMCI">
      <ProductSigners>
      </ProductSigners>
    </SigningScenario>
  </SigningScenarios>
  <UpdatePolicySigners>
    <UpdatePolicySigner SignerId="EXAMPLE_ID_SIGNER_POLICY" />
  </UpdatePolicySigners>
  <!-- example remove core isolation a.k.a. Hypervisor Enforced Code Integrity (HVCI) options, consider enabling if your system is supported-->
  <HvciOptions>0</HvciOptions>
  <Settings>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Name">
      <Value>
        <String>Example Policy Name - Empty</String>
      </Value>
    </Setting>
    <Setting Provider="PolicyInfo" Key="Information" ValueName="Id">
      <Value>
        <String>Example-Policy-Empty-10.0.0.1</String>
      </Value>
    </Setting>
  </Settings>
</SiPolicy>

Errata

Se um dispositivo de modo S com um token de autorização de política e uma política complementar for revertido da atualização 1909 para o build 1903, ele não será revertido para o modo S bloqueado até a próxima atualização da política. Para obter uma alteração imediata em um estado de modo S bloqueado, os profissionais de TI devem excluir todos os tokens em %SystemRoot%\System32\CI\Tokens\Active.