Configurar proteção contra violações para Microsoft Defender para Endpoint no macOS

A proteção contra adulterações no Microsoft Defender para Endpoint ajuda a prevenir alterações não autorizadas nas definições de segurança, ficheiros e processos em dispositivos macOS. Também ajuda a evitar que utilizadores não autorizados removam o Defender for Endpoint.

Use este artigo para configurar a proteção contra adulterações com Microsoft Intune, Jamf ou a mdatp ferramenta de linha de comandos. Também pode verificar a configuração eficaz, proteção de testes, configurar exclusões para processos de gestão confiáveis e resolver problemas de configuração. Para uma explicação sobre proteção contra violações e as definições que esta protege, consulte Visão geral da proteção contra violações.

O Microsoft Intune é a ferramenta recomendada para configurar e distribuir funcionalidades do Defender for Endpoint para dispositivos. No entanto, o Intune é um produto separado que não faz parte do Defender for Endpoint, e não está incluído em todas as subscrições. Para usar o Intune, precisa de uma subscrição que o inclua, ou pode comprá-lo separadamente como subscrição autónoma ou complemento. Se não tiver o Intune, pode usar qualquer um dos outros métodos mencionados neste artigo. Para obter mais informações, veja licenciamento Microsoft Intune.

Importante

O Microsoft Defender para Endpoint no macOS utiliza a definição de proteção contra manipulações configurada no portal Microsoft Defender como valor predefinido. Pode aplicar proteção contra adulteração configurando a definição através de uma solução de gestão de dispositivos móveis (MDM), como Microsoft Intune ou Jamf.

Quando uma política de MDM é aplicada, tem precedência sobre a definição do portal e qualquer configuração local.

Se o MDM não aplicar a definição de proteção contra violações, um administrador local pode alterar a definição usando o método de configuração local .

Nos dispositivos macOS, pode configurar o nível de aplicação como Desabilitado, Auditar ou Bloquear. Para uma descrição de cada modo, veja Modos de proteção contra violações em dispositivos macOS.

Note

  • As mudanças de modo aplicam-se imediatamente.
  • Se usou Jamf para a configuração inicial, atualize a configuração usando Jamf.

A captura de ecrã seguinte mostra uma mensagem do sistema macOS relativa a uma operação que a proteção contra adulteração bloqueou:

Captura de ecrã de uma mensagem do sistema macOS a indicar que a proteção contra violações bloqueou uma operação.

Antes de começares

Antes de configurar a proteção contra violações, cumpra estes requisitos:

  • O dispositivo corre macOS Big Sur (11) ou versões posteriores.
  • O dispositivo executa a versão 101.70.19 Defender for Endpoint (junho de 2022) ou posterior.
  • A sua conta tem as permissões exigidas pela sua ferramenta de gestão. Para requisitos de permissões para portais Microsoft Intune e Microsoft Defender, veja Permissões necessárias para proteção contra violações.

Para uma proteção mais forte:

  • Ativar a Proteção de Integridade do Sistema (SIP). Para obter mais informações, veja Desativar e Ativar a Proteção da Integridade do Sistema.

  • Use uma solução MDM para configurar o Defender para o Endpoint.

  • Conceda ao Defender for Endpoint a autorização Acesso total ao disco.

    Note

    A configuração SIP e MDM não é necessária para que a proteção contra adulteração funcione. No entanto, ambos são necessários para garantir a segurança total do dispositivo. Sem estas definições, um administrador local pode alterar as definições geridas pelo macOS. Por exemplo, conceder Acesso Total ao Disco através de Transparência, Consentimento e Controlo (TCC) através de uma solução MDM como o Microsoft Intune impede que um administrador local revoge a autorização.

Ordem de precedência para métodos de configuração de proteção contra violações em dispositivos macOS

A configuração de proteção contra violações nos dispositivos macOS utiliza a seguinte ordem de precedência. O Defender for Endpoint aplica a fonte configurada de maior prioridade e ignora todas as fontes de menor prioridade:

  1. Um perfil de configuração gerido com a definição tamperProtection/enforcementLevel:
  2. Configuração local no dispositivo macOS usando sudo mdatp config tamper-protection enforcement-level.
  3. Se a proteção contra adulteração estiver ativada no portal Microsoft Defender, o Defender for Endpoint usa o modo Bloqueio.
  4. Se a proteção contra violações estiver desativada no portal do Microsoft Defender:
    • Dispositivos com uma licença válida ficam por predefinição no modo Auditoria.
    • Dispositivos sem licença têm por defeito o modo Desativado .

Warning

Desativar a proteção contra adulteração reduz a proteção contra alterações não autorizadas ao Defender for Endpoint. Desative-o apenas para resolução de problemas aprovados ou alterações de políticas, e reative-o o mais rapidamente possível.

Verificar o estado do dispositivo e a licença

Para verificar se o Defender for Endpoint está saudável e corretamente licenciado no dispositivo macOS, execute o seguinte comando de verificação de saúde:

mdatp health

A saída do comando tem o seguinte aspeto:

healthy                                     : true
health_issues                               : []
licensed                                    : true
...
tamper_protection                           : "audit"
...

tamper_protection indica o nível efetivo de aplicação.

Configure proteção contra violações usando um perfil de configuração gerido com Jamf

Para configurar a proteção contra violações através do Jamf, adicione as tamperProtection definições ao seu perfil de configuração do Defender for Endpoint. Definir enforcementLevel para disabled, audit, ou block. Para uma descrição de cada modo, veja Modos de proteção contra violações em dispositivos macOS.

O exemplo seguinte configura a proteção contra violações em modo de bloqueio:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
    </dict>
  </dict>
</plist>

Note

Se já tens um perfil de configuração do Defender for Endpoint, adiciona as definições a esse perfil em vez de criares outro.

Configurar proteção contra violações no Microsoft Intune

Podes configurar a proteção contra violações no Intune usando o catálogo de definições ou um perfil personalizado. O catálogo de definições do Intune é o método preferido. Use um perfil personalizado se precisar de adicionar proteção contra adulteração a um perfil já existente no Defender for Endpoint.

Configure a proteção contra manipulações usando o catálogo de definições do Intune

Para configurar a proteção contra adulterações no Microsoft Intune, crie ou modifique uma política de catálogo de definições. Para instruções detalhadas, consulte Criar uma política usando o catálogo de definições no Microsoft Intune.

Ao criar a política, utilize estas definições específicas:

  • Plataforma: Selecione macOS.
  • Tipo de perfil: selecione Catálogo de definições.

Ao criar ou modificar a política, adicione a seguinte definição no separador de Definições de Configuração :

Configure a proteção contra violações usando um perfil personalizado Intune

Embora o catálogo de definições seja preferido, também pode configurar a proteção contra manipulações carregando um perfil de configuração personalizado para o Intune. Para instruções para criar, carregar e atribuir um perfil personalizado, consulte Adicionar definições personalizadas para dispositivos Apple no Microsoft Intune.

No perfil, defina tamperProtection/enforcementLevel para disabled, audit, ou block. Para uma descrição de cada modo, veja Modos de proteção contra violações em dispositivos macOS.

O exemplo seguinte configura a proteção contra violações em modo de bloqueio. Copie o conteúdo para um ficheiro chamado com.microsoft.wdav.mobileconfig. Para usar um modo diferente, substitua block por disabled ou audit.

Importante

Deve usar com.microsoft.wdav como nome do perfil de configuração. Se o nome estiver incorreto, o Microsoft Defender para Endpoint não reconhece as preferências.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>com.microsoft.wdav</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>tamperProtection</key>
                <dict>
                    <key>enforcementLevel</key>
                    <string>block</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Configurar a proteção contra violações localmente

Note

Use um perfil de configuração gerido implementado através de MDM em dispositivos de produção. Um administrador local pode alterar um modo de proteção contra violações configurado localmente para um modo menos restritivo a qualquer momento. Quando um perfil gerido define o modo, só um Administrador de Segurança pode alterar o perfil.

Para configurar a proteção contra violações localmente num dispositivo macOS, use a seguinte sintaxe:

sudo mdatp config tamper-protection enforcement-level --value <disabled | audit | block>

Execute o seguinte comando para mudar para o modo Bloco :

sudo mdatp config tamper-protection enforcement-level --value block

Verificar o estado da proteção contra violações

Execute o seguinte comando para verificar o modo eficaz de proteção contra violações:

mdatp health --field tamper_protection

A saída mostra block quando a proteção contra violação está em modo de bloqueio.

Para informações detalhadas sobre o estado, execute mdatp health --details tamper_protection.

Verificar a atividade de proteção contra violações

Utilize os seguintes cenários para gerar tentativas de adulteração. O resultado depende do modo de proteção contra adulteração configurado:

  • Experimenta métodos diferentes para desinstalar o Defender para o Endpoint. Por exemplo, arrasta a aplicação para o Lixo ou usa a linha de comandos para desinstalar o Defender for Endpoint.
  • Tenta parar o processo Defender for Endpoint.
  • Tente eliminar, renomear, modificar ou mover os seguintes ficheiros e diretórios do Defender for Endpoint:
    • /Applications/Microsoft Defender.app/
    • /Library/LaunchDaemons/com.microsoft.fresno.plist
    • /Library/LaunchDaemons/com.microsoft.fresno.uninstall.plist
    • /Library/LaunchAgents/com.microsoft.wdav.tray.plist
    • /Library/Managed Preferences/com.microsoft.wdav.ext.plist
    • /Library/Managed Preferences/mdatp_managed.json
    • /Library/Managed Preferences/com.microsoft.wdav.atp.plist
    • /Library/Managed Preferences/com.microsoft.wdav.atp.offboarding.plist
    • /usr/local/bin/mdatp

No modo Bloco , a proteção contra violações impede a operação. Se um teste gerar um alerta, procure Manipulação do sensor Microsoft Defender para Endpoint na página de Alertas do portal Defender em https://security.microsoft.com/alerts. O título do alerta pode variar consoante a atividade detetada. Para mais títulos de alerta, consulte Detetar potencial atividade de manipulação no portal Microsoft Defender.

Captura de ecrã do alerta de adulteração do sensor do Microsoft Defender para Endpoint no portal Microsoft Defender.

No modo de Auditoria , a proteção contra violações reporta a tentativa mas não a bloqueia. Para obter informações sobre a geração de alertas, a cronologia do dispositivo, a investigação de alertas e a caça avançada, consulte Ver informações sobre tentativas de manipulação.

Tanto no modo Bloco como no modo Auditoria, os eventos de manipulação aparecem nos registos locais do dispositivo. Pesquise no registo principal do Defender for Endpoint por entradas marcadas com tamperProtection:

sudo grep -F '[{tamperProtection}]' /Library/Logs/Microsoft/mdatp/microsoft_defender_core.log

Para recolher o conjunto completo de registos do Defender for Endpoint para resolução de problemas, veja Recolha de informação de diagnóstico.

Captura de ecrã de um registo do Defender for Endpoint contendo eventos de proteção contra violações.

Configurar exclusões de proteção contra adulteração

Note

Disponível na versão 101.98.71 (maio de 2023) ou posterior.

A proteção antiviolação impede que os processos do macOS alterem os componentes do Defender para Endpoint, incluindo os ficheiros de instalação e de configuração, ou interrompam os processos do Defender para Endpoint. As exclusões incorporadas permitem que processos específicos do macOS e de gestão do Jamf e Intune realizem as operações necessárias, como atualizar o Defender para o Endpoint ou substituir os seus ficheiros de configuração geridos.

Para permitir que um processo de gestão confiável de outro fornecedor MDM realize uma operação protegida, adicione uma exclusão de proteção contra adulteração a um perfil MDM. Não podes configurar exclusões localmente. Por exemplo, uma exclusão pode permitir que um script de política MDM reinicie o Defender for Endpoint enquanto a proteção contra adulteração continua a bloquear o mesmo script quando alguém o executa localmente a partir do Terminal.

Utilize a documentação do fornecedor de MDM para identificar o processo auxiliar que executa as políticas. Também pode executar uma política de teste que executa uma operação protegida, rever o alerta resultante no portal Microsoft Defender e identificar o processo auxiliar na árvore de processos iniciadores.

Depois de identificar o processo assistente do MDM, configure a exclusão usando um ou mais dos seguintes atributos:

  • Caminho: O caminho do processo é a opção mais simples, mas menos segura. Evitar utilizar o caminho isoladamente.
  • Identificadores de assinatura: Execute codesign -dv --verbose=4 path_to_helper e utilize o Identifier do executável, o TeamIdentifier, ou ambos. As ferramentas da Apple não têm um TeamIdentifier.
  • Atributos combinados: Combine os identificadores de caminho e assinatura para tornar a exclusão mais restritiva.

Por exemplo, para obter o identificador de assinatura e o TeamIdentifier necessários para uma exclusão da proteção contra adulteração, inspecione o executável auxiliar do MDM com codesign:

codesign -dv --verbose=4 /usr/bin/ruby

O resultado mostra os valores Identifier e TeamIdentifier que pode utilizar para configurar a exclusão no respetivo perfil MDM:

Executable=/usr/bin/ruby
Identifier=com.apple.ruby
Format=Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=583 flags=0x0(none) hashes=13+2 location=embedded
Platform identifier=14
VersionPlatform=1
VersionMin=852992
VersionSDK=852992
Hash type=sha256 size=32
CandidateCDHash sha256=335c10d40db9417d80db87f658f6565018a4c3d6
CandidateCDHashFull sha256=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
Hash choices=sha256
CMSDigest=335c10d40db9417d80db87f658f6565018a4c3d65ea3b850fc76c59e0e137e20
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
Launch Constraints:
  None
CDHash=335c10d40db9417d80db87f658f6565018a4c3d6
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=Apr 15, 2023 at 4:45:52 AM
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=64

O exemplo seguinte mostra um perfil de configuração Jamf que permite a proteção contra adulteração no modo Bloco e adiciona uma exclusão de processo. Implemente o perfil através de MDM para permitir que um processo específico realize operações que a proteção contra violações bloquearia. Para mais informações, consulte Configurar exclusões de proteção contra adulterações.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>tamperProtection</key>
    <dict>
      <key>enforcementLevel</key>
      <string>block</string>
      <key>exclusions</key>
      <array>
        <dict>
          <key>path</key>
          <string>/usr/bin/ruby</string>
          <key>teamId</key>
          <string/>
          <key>signingId</key>
          <string>com.apple.ruby</string>
          <key>args</key>
          <array>
            <string>/usr/local/bin/global_mdatp_restarted.rb</string>
          </array>
        </dict>
      </array>
    </dict>
  </dict>
</plist>

Excluir um interpretador de scripts, como Ruby no exemplo do perfil Jamf, é menos seguro do que excluir um executável compilado porque o interpretador pode executar qualquer script, não apenas o script pretendido pelo administrador.

Para reduzir este risco, use o args atributo para permitir que apenas scripts específicos sejam executados com o interpretador. No exemplo do perfil do Jamf, apenas /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb pode reiniciar o Defender for Endpoint. Comandos com um caminho de script diferente ou mais argumentos, como /usr/bin/ruby /Library/Application Support/Global Manager/global_mdatp_restarted.rb ou /usr/bin/ruby /usr/local/bin/global_mdatp_restarted.rb $USER, não são permitidos.

Warning

Use os critérios de exclusão mais restritivos possíveis para reduzir o risco de uso indevido.

Solução de problemas de configuração

Se a proteção contra adulteração não reportar o modo efetivo esperado ou a fonte de configuração, consulte Resolução de problemas com proteção contra adulteração para interpretação detalhada do estado, verificações da fonte de configuração e recolha de registos.