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:
- Utilizar uma versão binária (sem dependência externa do Python)
- Utilizar uma solução baseada em Python
Executar a versão binária do analisador de cliente
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
Verifique a transferência.
- Linux
echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97 XMDEClientAnalyzerBinary.zip' | sha256sum -c
- macOS
echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97 XMDEClientAnalyzerBinary.zip' | shasum -a 256 -c
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
Altere para o diretório da ferramenta ao introduzir o seguinte comando:
cd XMDEClientAnalyzerBinary
São produzidos dois novos ficheiros zip:
- SupportToolLinuxBinary.zip : para todos os dispositivos Linux
- SupportToolMacOSBinary.zip : para dispositivos Mac
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
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
,lxml
epsutil
) 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.
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
Verifique a transferência.
- Linux
echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11 XMDEClientAnalyzer.zip' | sha256sum -c
- macOS
echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11 XMDEClientAnalyzer.zip' | shasum -a 256 -c
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
Altere o diretório para a localização extraída.
cd XMDEClientAnalyzer
Conceder permissão executável à ferramenta.
chmod a+x mde_support_tool.sh
Execute como um utilizador não raiz para instalar as dependências necessárias.
./mde_support_tool.sh
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.