Partilhar via


Resolver problemas de desempenho de Microsoft Defender para Endpoint no Linux

Quer experimentar o Defender para Ponto Final? Inscrever-se para uma avaliação gratuita.

Este documento fornece instruções sobre como reduzir os problemas de desempenho relacionados com o Defender para Endpoint no Linux através das ferramentas de diagnóstico disponíveis para conseguir compreender e mitigar a escassez de recursos existentes e os processos que estão a tornar o sistema nessas situações. Os problemas de desempenho são causados principalmente por estrangulamentos num ou mais subsistemas de hardware, consoante o perfil de utilização de recursos no sistema. Por vezes, as aplicações são sensíveis aos recursos de E/S do disco e podem precisar de mais capacidade de CPU e, por vezes, algumas configurações não são sustentáveis e podem acionar demasiados processos novos e abrir demasiados descritores de ficheiros.

Consoante as aplicações que está a executar e as características do dispositivo, poderá ter um desempenho inferior ao otimizar a execução do Defender para Endpoint no Linux. Em particular, as aplicações ou processos de sistema que acedem a muitos recursos, como CPU, Disco e Memória num curto período de tempo, podem levar a problemas de desempenho no Defender para Endpoint no Linux.

Aviso

Antes de começar, certifique-se de que outros produtos de segurança não estão atualmente em execução no dispositivo. Vários produtos de segurança podem entrar em conflito e afetar o desempenho do anfitrião.

Resolver problemas de desempenho com estatísticas de proteção em tempo real

Aplica-se a:

  • Apenas problemas de desempenho relacionados com o antivírus

A proteção em tempo real (RTP) é uma funcionalidade do Defender para Endpoint no Linux que monitoriza e protege continuamente o seu dispositivo contra ameaças. Consiste em monitorização de ficheiros e processos e outras heurísticas.

Os passos seguintes podem ser utilizados para resolver e mitigar estes problemas:

  1. Desative a proteção em tempo real com um dos seguintes métodos e observe se o desempenho melhora. Esta abordagem ajuda a restringir se o Defender para Endpoint no Linux está a contribuir para os problemas de desempenho. Se o seu dispositivo não for gerido pela sua organização, a proteção em tempo real pode ser desativada a partir da linha de comandos:

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    Se o seu dispositivo for gerido pela sua organização, a proteção em tempo real pode ser desativada pelo administrador através das instruções em Definir preferências do Defender para Endpoint no Linux.

    Nota

    Se o problema de desempenho persistir enquanto a proteção em tempo real estiver desativada, a origem do problema poderá ser o componente de deteção e resposta de pontos finais (EDR). Neste caso, siga os passos da secção Resolver problemas de desempenho com o Microsoft Defender para Endpoint Client Analyzer deste artigo.

  2. Para localizar as aplicações que estão a acionar a maioria das análises, pode utilizar estatísticas em tempo real recolhidas pelo Defender para Endpoint no Linux.

    Nota

    Esta funcionalidade está disponível na versão 100.90.70 ou mais recente.

    Esta funcionalidade está ativada por predefinição nos Dogfood canais e InsiderFast . Se estiver a utilizar um canal de atualização diferente, esta funcionalidade pode ser ativada a partir da linha de comandos:

    mdatp config real-time-protection-statistics --value enabled
    

    Esta funcionalidade requer a ativação da proteção em tempo real. Para verificar o estado da proteção em tempo real, execute o seguinte comando:

    mdatp health --field real_time_protection_enabled
    

    Verifique se a real_time_protection_enabled entrada é true. Caso contrário, execute o seguinte comando para ativá-lo:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

    Para recolher estatísticas atuais, execute:

    mdatp diagnostic real-time-protection-statistics --output json
    

    Nota

    Utilizar --output json (anote o traço duplo) garante que o formato de saída está pronto para análise.

    O resultado deste comando mostra todos os processos e a respetiva atividade de análise associada.

  3. No seu sistema Linux, transfira o analisador python de exemplo high_cpu_parser.py com o comando :

    wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
    

    O resultado deste comando deve ser semelhante ao seguinte:

    --2020-11-14 11:27:27-- https://raw.githubusercontent.com/microsoft.mdatp-xplat/master/linus/diagnostic/high_cpu_parser.py
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.xxx.xxx
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)| 151.101.xxx.xxx| :443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1020 [text/plain]
    Saving to: 'high_cpu_parser.py'
    100%[===========================================>] 1,020    --.-K/s   in 0s
    
  4. Escreva os seguintes comandos:

    mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
    

    O resultado acima é uma lista dos principais contribuidores para problemas de desempenho. A primeira coluna é o identificador do processo (PID), a segunda coluna é o nome do processo e a última coluna é o número de ficheiros analisados, ordenados por impacto. Por exemplo, o resultado do comando será algo semelhante ao seguinte:

    ... > mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py | head
    27432 None 76703
    73467 actool    1249
    73914 xcodebuild 1081
    73873 bash 1050
    27475 None 836
    1    launchd     407
    73468 ibtool     344
    549  telemetryd_v1   325
    4764 None 228
    125  CrashPlanService 164
    

    Para melhorar o desempenho do Defender para Endpoint no Linux, localize aquele com o número mais alto abaixo da linha e adicione uma exclusão para o Total files scanned mesmo. Para obter mais informações, veja Configurar e validar exclusões do Defender para Endpoint no Linux.

    Nota

    A aplicação armazena estatísticas na memória e só controla a atividade dos ficheiros desde que foi iniciada e a proteção em tempo real foi ativada. Os processos que foram iniciados antes ou durante períodos em que a proteção em tempo real estava desativada não são contabilizados. Além disso, apenas são contados os eventos que acionaram análises.

Resolver problemas de desempenho com o Microsoft Defender para Endpoint Client Analyzer

Aplica-se a:

  • Problemas de desempenho de todos os componentes disponíveis do Defender para Ponto Final, como AV e EDR

O Microsoft Defender para Endpoint Client Analyzer (MDECA) pode recolher rastreios, registos e informações de diagnóstico para resolver problemas de desempenho em dispositivos integrados no Linux.

Nota

  • A ferramenta Microsoft Defender para Endpoint Client Analyzer é utilizada regularmente pelos Serviços de Suporte ao Cliente da Microsoft (CSS) para recolher informações como (mas não limitado a) endereços IP, nomes de PC que ajudarão a resolver problemas que possa estar a ter com Microsoft Defender para Endpoint. Para obter mais informações sobre a nossa declaração de privacidade, consulte Declaração de Privacidade da Microsoft.
  • Como melhor prática geral, recomendamos que atualize o agente Microsoft Defender para Endpoint para a versão mais recente disponível e confirme que o problema ainda persiste antes de investigar mais.

Para executar o analisador de cliente para resolver problemas de desempenho, veja Executar o analisador de cliente no macOS e Linux.

Configurar Exclusões Globais para um melhor desempenho

Configure Microsoft Defender para Endpoint no Linux com exclusões para os processos ou localizações do disco que contribuem para os problemas de desempenho. Para obter mais informações, consulte Configurar e validar exclusões do Microsoft Defender para Endpoint no Linux. Se ainda tiver problemas de desempenho, contacte o suporte para obter mais instruções e mitigação.

Resolver problemas de desempenho AuditD

Fundo:

  • Microsoft Defender para Endpoint nas distribuições de SO Linux utiliza a arquitetura AuditD para recolher determinados tipos de eventos de telemetria.

  • Os eventos de sistema capturados por regras adicionadas a /etc/audit/rules.d/ serão adicionados a audit.log(s) e poderão afetar a auditoria do anfitrião e a recolha a montante.

  • Os eventos adicionados por Microsoft Defender para Endpoint no Linux serão marcados com mdatp chave.

  • Se o serviço AuditD estiver configurado incorretamente ou offline, alguns eventos poderão estar em falta. Para resolver este problema, veja: Resolver problemas de eventos ou alertas em falta para Microsoft Defender para Endpoint no Linux.

Em determinadas cargas de trabalho do servidor, podem ser observados dois problemas:

  • High CPU consumo de recursos do mdatp_audisp_plugin processo.

  • /var/log/audit/audit.log tornando-se grande ou frequentemente rotativo.

Estes problemas podem ocorrer em servidores com muitos eventos a inundar AuditD. Estes problemas podem surgir se existirem vários consumidores para o AuditD ou demasiadas regras com a combinação de consumidores Microsoft Defender para Endpoint e de terceiros ou cargas de trabalho elevadas que geram muitos eventos. Para resolver estes problemas, comece por recolher registos MDEClientAnalyzer no servidor afetado de exemplo.

Como melhor prática, recomendamos que configure os registos AuditD para rodar quando o limite máximo de tamanho de ficheiro for atingido. Esta configuração impede que os registos AuditD se acumulem num único ficheiro e os ficheiros de registo rodados podem ser movidos para poupar espaço em disco. Para tal, pode definir o valor para para max_log_file_actionrotate no ficheiro auditd.conf .

Nota

Como melhor prática geral, é recomendado atualizar o agente Microsoft Defender para Endpoint para a versão mais recente disponível e confirmar que o problema ainda persiste antes de investigar mais. Que existem configurações adicionais que podem afetar o esforço da CPU do subsistema AuditD. Especificamente, em auditd.conf, o valor para disp_qos pode ser definido para lossy reduzir o consumo elevado da CPU. No entanto, isto significa que alguns eventos podem ser removidos durante o pico do consumo da CPU.

XMDEClientAnalyzer

Quando utiliza XMDEClientAnalyzer, os seguintes ficheiros apresentarão a saída que fornece informações para o ajudar a resolver problemas.

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

Contém a configuração AuditD geral e apresenta as seguintes informações:

  • Que processos estão registados como consumidores de AuditD.

  • Auditctl -s output with enabled=2 (Suggests auditd is in immutable mode (requires restart for any config changes to take effect.)

  • Auditctl -loutput (Mostra que regras são atualmente carregadas para o kernel, que podem diferir do que existe no disco em /etc/auditd/rules.d/mdatp.rules. Também mostra que regras estão relacionadas com Microsoft Defender para Endpoint.)

auditd_log_analysis.txt

Contém informações agregadas importantes que são úteis para investigar problemas de desempenho de AuditD.

  • Que componente detém os eventos mais reportados (Microsoft Defender para Endpoint eventos serão marcados com key=mdatp).

  • Os principais iniciadores de relatórios.

  • As chamadas de sistema mais comuns (eventos de rede ou sistema de ficheiros, entre outros).

  • Que caminhos do sistema de ficheiros são os mais ruidosos.

Para mitigar a maioria dos problemas de desempenho auditD, pode implementar a exclusão auditD. Se as exclusões especificadas não melhorarem o desempenho, podemos utilizar a opção de limitador de taxa. Isto reduzirá completamente o número de eventos gerados pelo AuditD.

Nota

As exclusões devem ser efetuadas apenas para caminhos ou iniciadores de ruído baixos e elevados. Por exemplo, não exclua /bin/bash que corre o risco de criar um ponto cego grande. Erros comuns a evitar ao definir exclusões.

Tipos de Exclusão

A ferramenta de suporte XMDEClientAnalyzer contém sintaxe que pode ser utilizada para adicionar regras de configuração de exclusão AuditD.

Exclusão auditD – ajuda da sintaxe da ferramenta de suporte:

sintaxe que pode ser utilizada para adicionar regras de configuração de exclusão AuditD

Por iniciador

  • -e/ -exe caminho > binário completo Remove todos os eventos deste iniciador

Por caminho

  • -d / -dir caminho completo para um diretório > Remove eventos do sistema de ficheiros direcionados para este diretório

Exemplos:

Se /opt/app/bin/app escrever /opt/app/cfg/logs/1234.logno , pode utilizar a ferramenta de suporte para excluir com várias opções:

-e /opt/app/bin/app

-d /opt/app/cfg

-x /usr/bin/python /etc/usercfg

-d /usr/app/bin/

Mais exemplos:

./mde_support_tool.sh exclude -p <process id>

./mde_support_tool.sh exclude -e <process name>

Para excluir mais do que um item , concatene as exclusões numa única linha:

./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>

O sinalizador -x é utilizado para excluir o acesso a subdiretórios por iniciadores específicos, por exemplo:

./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp

As opções acima irão excluir a monitorização da subpasta /tmp, quando acedida pelo processo mv.

Limitador de Taxa

A ferramenta de suporte XMDEClientAnalyzer contém sintaxe que pode ser utilizada para limitar o número de eventos comunicados pelo plug-in auditD. Esta opção irá definir o limite de taxa globalmente para AuditD, causando uma queda em todos os eventos de auditoria.

Nota

Esta funcionalidade deve ser cuidadosamente utilizada como limita o número de eventos comunicados pelo subsistema auditado como um todo. Isto também pode reduzir o número de eventos para outros subscritores.

A opção ratelimit pode ser utilizada para ativar/desativar este limite de taxa.

Ativar: ./mde_support_tool.sh ratelimit -e true

Desativar: ./mde_support_tool.sh ratelimit -e false

Quando o ratelimit está ativado, uma regra será adicionada em AuditD para processar 2500 eventos/seg.

Nota

Contacte o suporte da Microsoft se precisar de assistência para analisar e mitigar problemas de desempenho relacionados com AuditD ou com a implementação de exclusões AuditD em escala.

Consulte também

Sugestão

Quer saber mais? Engage com a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Endpoint Tech Community.