Partilhar via


Executar o analisador de cliente no macOS e Linux

O XMDEClientAnalyzer é utilizado para diagnosticar problemas de Microsoft Defender para Endpoint estado de funcionamento ou fiabilidade em dispositivos integrados com Linux ou macOS.

Existem duas formas de executar a ferramenta de analisador de cliente:

  1. Utilizar uma versão binária (sem dependência externa do Python)
  2. Utilizar uma solução baseada em Python

Executar a versão binária do analisador de cliente

  1. Transfira a ferramenta Binária do Analisador de Cliente XMDE para o computador macOS ou Linux que precisa de investigar.
    Se estiver a utilizar um terminal, transfira a ferramenta ao introduzir o seguinte comando:

    wget --quiet -O XMDEClientAnalyzerBinary.zip https://go.microsoft.com/fwlink/?linkid=2297517
    
  2. Verifique a transferência.

    • Linux
    echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97 XMDEClientAnalyzerBinary.zip' | sha256sum -c
    
    • macOS
    echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97  XMDEClientAnalyzerBinary.zip' | shasum -a 256 -c
    
  3. Extraia o conteúdo de XMDEClientAnalyzerBinary.zip no computador. Se estiver a utilizar um terminal, extraia os ficheiros ao introduzir o seguinte comando:

    unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
    
  4. Altere para o diretório da ferramenta ao introduzir o seguinte comando:

    cd XMDEClientAnalyzerBinary
    
  5. São produzidos dois novos ficheiros zip:

    • SupportToolLinuxBinary.zip : para todos os dispositivos Linux
    • SupportToolMacOSBinary.zip : para dispositivos Mac
  6. Deszipe um dos dois ficheiros zip acima com base no computador que precisa de investigar. Ao utilizar um terminal, deszipe o ficheiro ao introduzir um dos seguintes comandos com base no tipo de SO:

    • Linux

      unzip -q SupportToolLinuxBinary.zip
      
    • Mac

      unzip -q SupportToolMacOSBinary.zip
      
  7. Execute a ferramenta como raiz para gerar o pacote de diagnóstico:

    sudo ./MDESupportTool -d
    

Executar o analisador de cliente baseado em Python

Nota

  • O analisador depende de poucos pacotes PIP adicionais (decorator, sh, distro, lxmle psutil) que são instalados no sistema operativo quando estão na raiz para produzir o resultado. Se não estiver instalado, o analisador tenta ocorrê-lo a partir do repositório oficial dos pacotes Python.
  • Além disso, a ferramenta requer atualmente a instalação da versão 3 ou posterior do Python no seu dispositivo.
  • Se o dispositivo estiver protegido por um proxy, pode passar o servidor proxy como uma variável de ambiente para o mde_support_tool.sh script. Por exemplo: https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh".

Aviso

Executar o analisador de cliente baseado em Python requer a instalação de pacotes PIP, o que pode causar alguns problemas no seu ambiente. Para evitar que ocorram problemas, recomenda-se que instale os pacotes num ambiente PIP de utilizador.

  1. Transfira a ferramenta XMDE Client Analyzer para o computador macOS ou Linux que precisa de investigar. Se estiver a utilizar um terminal, transfira a ferramenta ao executar o seguinte comando:

    wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
    
  2. Verifique a transferência.

    • Linux
    echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11 XMDEClientAnalyzer.zip' | sha256sum -c
    
    • macOS
    echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11  XMDEClientAnalyzer.zip' | shasum -a 256 -c
    
  3. Extraia os conteúdos de XMDEClientAnalyzer.zip no computador. Se estiver a utilizar um terminal, extraia os ficheiros com o seguinte comando:

    unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
    
  4. Altere o diretório para a localização extraída.

    cd XMDEClientAnalyzer
    
  5. Conceder permissão executável à ferramenta.

    chmod a+x mde_support_tool.sh
    
  6. Execute como um utilizador não raiz para instalar as dependências necessárias.

    ./mde_support_tool.sh
    
  7. Para recolher o pacote de diagnóstico real e gerar o ficheiro de arquivo de resultados, execute novamente como raiz.

    sudo ./mde_support_tool.sh -d
    

Opções da linha de comandos

Todas as opções da linha de comandos


usage: MDESupportTool [-h] [--output OUTPUT] [--outdir OUTDIR] [--no-zip]
                      [--force] [--diagnostic] [--skip-mdatp]
                      [--bypass-disclaimer] [--interactive] [--delay DELAY]
                      [--mdatp-log {trace,info,warning,error,debug,verbose}]
                      [--max-log-size MAX_LOG_SIZE]
                      {certinfocollection,performance,installation,exclude,ratelimit,skipfaultyrules,trace,observespikes,connectivitytest}
                      ...

MDE Diagnostics Tool

positional arguments:
  {certinfocollection,performance,installation,exclude,ratelimit,skipfaultyrules,trace,observespikes,connectivitytest}
    certinfocollection  Collect cert information: Subject name and Hashes
    performance         Collect extensive machine performance tracing for
                        analysis of a performance scenario that can be
                        reproduced on demand
    installation        Collect different installation/onboarding reports
    exclude             Exclude specific process(es) from audit-d monitoring.
    ratelimit           Set the rate limit for auditd events. Rate limit will
                        update the limits for auditd events for all the
                        applications using auditd, which could impact
                        applications other than MDE.
    skipfaultyrules     Continue loading rules in spite of an error. This
                        summarizes the results of loading the rules. The exit
                        code will not be success if any rule fails to load.
    trace               Use OS tracing facilities to record Defender
                        performance traces.
    observespikes       Collect the process logs in case of spike or mdatp
                        crash
    connectivitytest    Perform connectivity test for MDE

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT, -o OUTPUT
                        Output path to export report
  --outdir OUTDIR       Directory where diagnostics file will be generated.
  --no-zip, -nz         If set a directory will be created instead of an
                        archive file.
  --force, -f           Will overwrite if output directory exists.
  --diagnostic, -d      Collect extensive machine diagnostic information.
  --skip-mdatp          Skip any mdatp command. Use this when the mdatp
                        command is unresponsive.
  --bypass-disclaimer   Do not display disclaimer banner.
  --interactive, -i     Interactive diagnostic,
  --delay DELAY, -dd DELAY
                        Delay diagnostic by how many minutes (0~2880), use
                        this to wait for more debug logs before it collects.
  --mdatp-log {trace,info,warning,error,debug,verbose}
                        Set MDATP log level. If you use interactive or delay
                        mode, the log level will set to debug automatically,
                        and reset after 48h.
  --max-log-size MAX_LOG_SIZE
                        Maximum log file size in MB before rotating(Will
                        restart mdatp).

Modo de diagnóstico

O modo de diagnóstico é utilizado para recolher um vasto conjunto de informações do computador, como memória, disco, registos MDATP, etc. Este conjunto de ficheiros fornece-nos o conjunto primário de informações necessárias para depurar qualquer problema relacionado com MDE.

As opções suportadas são as seguintes:


optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT, -o OUTPUT
                        Output path to export report
  --outdir OUTDIR       Directory where diagnostics file will be generated.
  --no-zip, -nz         If set a directory will be created instead of an
                        archive file.
  --force, -f           Will overwrite if output directory exists.
  --diagnostic, -d      Collect extensive machine diagnostic information.
  --skip-mdatp          Skip any mdatp command. Use this when the mdatp
                        command is unresponsive.
  --bypass-disclaimer   Do not display disclaimer banner.
  --interactive, -i     Interactive diagnostic,
  --delay DELAY, -dd DELAY
                        Delay diagnostic by how many minutes (0~2880), use
                        this to wait for more debug logs before it collects.
  --mdatp-log {trace,info,warning,error,debug,verbose}
                        Set MDATP log level. If you use interactive or delay
                        mode, the log level will set to debug automatically,
                        and reset after 48h.
  --max-log-size MAX_LOG_SIZE
                        Maximum log file size in MB before rotating(Will
                        restart mdatp).

Exemplo de utilização: sudo ./MDESupportTool -d

Nota

A funcionalidade autoreset de nível de registo só está disponível na versão 2405 ou mais recente do cliente.

Os ficheiros gerados ao utilizar este modo são resumidos na seguinte tabela:

Ficheiro Observações
mde_diagnostic.zip Registos e configurações do Defender para Endpoint
health.txt O estado de funcionamento do Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
health_details_features.txt O estado de funcionamento de outras funcionalidades do Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
permissions.txt Problemas de permissão com as pastas pertencentes/utilizadas pelo Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
crashes Informações de falha de sistema geradas pelo Defender para Endpoint
process_information.txt Processo em execução no computador quando a ferramenta foi executada
proc_directory_info.txt Mapeamento da memória virtual dos processos do Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
auditd_info.txt Estado de funcionamento auditado, regras, registos
auditd_log_analysis.txt Resumo dos eventos processados por auditoria
auditd_logs.zip Ficheiros de registo auditados
ebpf_kernel_config.txt Configuração do Kernel do Linux atualmente carregada
ebpf_enabled_func.txt Lista de todas as funções de kernel que estão atualmente ativadas para rastreio
ebpf_syscalls.zip Informações sobre o rastreio de chamadas do sistema
ebpf_raw_syscalls.zip Rastreio de eventos relacionados com chamadas de sistema não processadas
ebpf_maps_info.txt ID e tamanho dos mapas eBPF
syslog.zip Os ficheiros em /var/log/syslog
messages.zip Os ficheiros em /var/log/messages
conflicting_processes_information.txt Processos em Conflito do Defender para Ponto Final
exclusions.txt Lista de exclusões de Antivírus
definitions.txt Informações de definição de antivírus
mde_directories.txt Lista de ficheiros nos diretórios do Defender para Endpoint
disk_usage.txt Detalhes de utilização do disco
mde_user.txt Informações do Utilizador do Defender para Ponto Final
mde_definitions_mount.txt Ponto de Montagem do Defender para Definições de Ponto Final
service_status.txt Estado do Serviço do Defender para Endpoint
service_file.txt Ficheiro de Serviço do Defender para Endpoint
hardware_info.txt Informações de Hardware
mount.txt Informações do ponto de montagem
uname.txt Informações do kernel
memory.txt Informações de memória do sistema
meminfo.txt Informações detalhadas sobre a utilização da memória do sistema
cpuinfo.txt Informações da CPU
lsns_info.txt Informações do espaço de nomes do Linux
lsof.txt Informações do Defender para Endpoint Open File Descriptors
(consulte a nota após esta tabela)
sestatus.txt Informações do Defender para Endpoint Open File Descriptors
lsmod.txt Estado dos módulos no kernel do Linux
dmesg.txt Mensagens da memória intermédia do anel de kernel
kernel_lockdown.txt informações de bloqueio de kernel
rtp_statistics.txt Estatísticas do Defender para Endpoint Real Time Protection (RTP)
(Presente apenas quando o Defender para Endpoint está instalado)
libc_info.txt informações da biblioteca libc
uptime_info.txt Tempo desde o último reinício
last_info.txt Listagem dos últimos utilizadores com sessão iniciada
locale_info.txt Mostrar região atual
tmp_files_owned_by_mdatp.txt /tmp files owned by group:mdatp
(Presente apenas quando o Defender para Endpoint está instalado)
mdatp_config.txt Todas as configurações do Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
mpenginedb.db
mpenginedb.db-wal
mpenginedb.db-shm
Ficheiro de definições de antivírus
(Presente apenas quando o Defender para Endpoint está instalado)
iptables_rules.txt Regras de iptables do Linux
network_info.txt Informações de rede
sysctl_info.txt informações das definições de kernel
hostname_diagnostics.txt Informações de diagnóstico do nome do anfitrião
mde_event_statistics.txt Estatísticas do Evento do Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
mde_ebpf_statistics.txt Estatísticas do Defender para Endpoint eBPF
(Presente apenas quando o Defender para Endpoint está instalado)
kernel_logs.zip Registos de kernel
mdc_log.zip Microsoft Defender para registos na Cloud
netext_config.txt
threat_list.txt Lista de ameaças detetadas pelo Defender para Endpoint
(Presente apenas quando o Defender para Endpoint está instalado)
top_output.txt Processo em execução no computador quando a ferramenta foi executada
top_summary.txt Análise de utilização da memória e da CPU do processo em execução

Argumentos posicionais

Recolher informações de desempenho

Recolha o rastreio extensivo de desempenho do computador dos processos do Defender para Endpoint para análise de um cenário de desempenho que pode ser reproduzido a pedido.

-h, --help            show this help message and exit
--frequency FREQUENCY
                      profile at this frequency
--length LENGTH       length of time to collect (in seconds)

Exemplo de utilização: sudo ./MDESupportTool performance --frequency 500

Os ficheiros gerados ao utilizar este modo:

Ficheiro Observações
perf_benchmark.tar.gz O Defender para Endpoint processa dados de desempenho

Nota

Os ficheiros correspondentes ao modo de diagnóstico também são gerados.

Os ficheiros tar contêm ficheiros no formato <pid of a MDE process>.data. O ficheiro de dados pode ser lido com o comando :

perf report -i <pid>.data

Executar teste de conectividade

Estes modos testam se os recursos da cloud necessários para o Defender para Endpoint estão acessíveis ou não.


  -h, --help            show this help message and exit
  -o ONBOARDING_SCRIPT, --onboarding-script ONBOARDING_SCRIPT
                        Path to onboarding script
  -g GEO, --geo GEO     Geo string to test <US|UK|EU|AU|CH|IN>

Exemplo de utilização: sudo ./MDESupportTool connectivitytest -o ~/MicrosoftDefenderATPOnboardingLinuxServer.py

O resultado é impresso no ecrã.

Recolher relatórios de instalação/inclusão diferentes

Este modo recolhe informações relacionadas com a instalação, como informações de distribuição, requisitos de sistema, etc.


  -h, --help    show this help message and exit
  -d, --distro  Check for distro support
  -a, --all     Run all checks

Exemplo de utilização: sudo ./MDESupportTool installation --all

É gerado um único relatório installation_report.json . As chaves no ficheiro são as seguintes:

Chave Observações
agent_version Versão do Defender para Endpoint instalada
onboarding_status As informações de integração e de toque

Utilizar o rastreio do SO (apenas para macOS)

Utilize as instalações de rastreio do SO para registar rastreios de desempenho do Defender para Endpoint.

Nota

Esta funcionalidade só existe na solução Python.


-h, --help       show this help message and exit
--length LENGTH  Length of time to record the trace (in seconds).
--mask MASK      Mask to select with event to trace. Defaults to all

Ao executar este comando pela primeira vez, instala uma configuração de Perfil.

Para obter mais informações sobre como aprovar a instalação de perfis, consulte o Guia de Suporte da Apple.

Exemplo de utilização ./mde_support_tool.sh trace --length 5

Modo de exclusão

Adicione exclusões para monitorização audit-d.

Nota

Esta funcionalidade existe apenas para Linux.


  -h, --help            show this help message and exit
  -e <executable>, --exe <executable>
                        exclude by executable name, i.e: bash
  -p <process id>, --pid <process id>
                        exclude by process id, i.e: 911
  -d <directory>, --dir <directory>
                        exclude by target path, i.e: /var/foo/bar
  -x <executable> <directory>, --exe_dir <executable> <directory>
                        exclude by executable path and target path, i.e: /bin/bash /var/foo/bar
  -q <q_size>, --queue <q_size>
                        set dispatcher q_depth size
  -r, --remove          remove exclusion file
  -s, --stat            get statistics about common executables
  -l, --list            list auditd rules
  -o, --override        Override the existing auditd exclusion rules file for mdatp
  -c <syscall number>, --syscall <syscall number>
                        exclude all process of the given syscall

Exemplo de utilização: sudo ./MDESupportTool exclude -d /var/foo/bar

Limitador de taxa AuditD

Sintaxe que pode ser utilizada para limitar o número de eventos comunicados pelo plug-in auditD. Esta opção define o limite de taxa globalmente para AuditD, causando uma queda em todos os eventos de auditoria. Quando o limitador está ativado, o número de eventos auditados está limitado a 2500 eventos/seg. Esta opção pode ser utilizada nos casos em que vemos uma utilização elevada da CPU do lado AuditD.

Nota

Esta funcionalidade existe apenas para Linux.


-h, --help                                  show this help message and exit
-e <true/false>, --enable <true/false>      enable/disable the rate limit with default values

Exemplo de utilização: sudo ./mde_support_tool.sh ratelimit -e true

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.

AuditD ignora regras com falhas

Esta opção permite-lhe ignorar as regras com falhas adicionadas no ficheiro de regras auditadas ao carregá-las. Esta opção permite que o subsistema auditado continue a carregar regras, mesmo que exista uma regra com falhas. Esta opção resume os resultados do carregamento das regras. Em segundo plano, esta opção executa o auditctl com a opção -c .

Nota

Esta funcionalidade só está disponível no Linux.


-h, --help                                  show this help message and exit
-e <true/false>, --enable <true/false>      enable/disable the option to skip the faulty rules. In case no argumanet is passed, the option will be true by default.

Exemplo de utilização: sudo ./mde_support_tool.sh skipfaultyrules -e true

Nota

Esta funcionalidade ignora regras com falhas. As regras com falhas têm de ser identificadas e corrigidas.

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.