Executar o analisador de cliente no Linux
Aplica-se a:
Quer experimentar o Defender para Ponto Final? Inscrever-se para uma avaliação gratuita.
Se tiver problemas com Microsoft Defender para Endpoint no Linux e precisar de suporte, poderá ser-lhe pedido para fornecer o resultado da ferramenta Client Analyzer. Este artigo explica como utilizar a ferramenta no seu dispositivo ou com resposta em direto. Pode utilizar uma solução baseada em Python ou uma versão binária que não precisa do Python.
Executar a versão binária do analisador de cliente
Transfira a ferramenta Binária do Analisador de Cliente XMDE para o computador Linux que está a investigar. Se estiver a utilizar um terminal, transfira a ferramenta ao introduzir o seguinte comando:
wget --quiet -O XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary
Verifique a transferência.
echo '4E96E75B16244BB25BDBF34CBB3EB596BC2E9CE368BC4E532E8AE12DF2A1E19D XMDEClientAnalyzerBinary.zip' | sha256sum -c
Extraia o conteúdo de
XMDEClientAnalyzerBinary.zip
no computador.unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
Alterar o diretório:
cd XMDEClientAnalyzerBinary
São produzidos dois novos ficheiros zip:
- SupportToolLinuxBinary.zip: para todos os dispositivos Linux
- SupportToolMacOSBinary.zip: para dispositivos Mac
Deszipe o
SupportToolLinuxBinary.zip
ficheiro.unzip -q SupportToolLinuxBinary.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 alguns 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, recomendamos que instale os pacotes num ambiente PIP de utilizador.
Transfira a ferramenta XMDE Client Analyzer no computador Linux que precisa de investigar. Se estiver a utilizar um terminal, transfira a ferramenta ao introduzir o seguinte comando:
wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
Verifique a transferência.
echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 XMDEClientAnalyzer.zip' | sha256sum -c
Extraia o conteúdo de
XMDEClientAnalyzer.zip
no computador.unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
Altere o diretório.
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 e gerar o ficheiro de arquivo de resultados, execute novamente como raiz.
sudo ./mde_support_tool.sh -d
Opções da linha de comandos
Seguem-se as opções da linha de comandos fornecidas pelo analisador de cliente
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 processes 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 registos de memória, disco e MDATP. Este conjunto de ficheiros fornece o conjunto primário de informações necessárias para depurar qualquer problema relacionado com o Defender para Endpoint.
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 101.24052.0002 ou superior do agente.
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 |
Informações de tamanho e ID 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 opcionais para o Analisador de Cliente
O Client Analyzer fornece os seguintes argumentos opcionais para a recolha de dados extra:
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
Segue-se o ficheiro gerado 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.
O 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
Este modo testa 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ã mostra se os URLs estão acessíveis ou não.
Recolher relatórios de instalação/inclusão diferentes
Este modo recolhe informações relacionadas com a instalação, como a distribuição e os requisitos de sistema.
-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 |
Modo de exclusão
Este modo adiciona exclusões para audit-d
monitorização.
-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
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, os eventos auditados estão limitados a 2500 eventos/seg. Esta opção pode ser utilizada nos casos em que vemos uma utilização elevada da CPU do lado AuditD.
-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, uma vez que limita o número de eventos que o subsistema auditado comunica como um todo. Isto também pode reduzir o número de eventos para outros subscritores.
AuditD ignorar regras com falhas
Esta opção permite-lhe ignorar as regras com falhas adicionadas no ficheiro de regras auditadas ao carregá-las. Permite que o subsistema auditado continue a carregar regras, mesmo que exista uma regra com falhas.
-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 as regras com falhas. As regras com falhas têm de ser identificadas e corrigidas.
Utilizar a resposta em direto no Defender para Endpoint para recolher registos de suporte
A ferramenta XMDE Client Analyzer pode ser transferida como um pacote binário ou Python que pode ser extraído e executado em computadores Linux. Ambas as versões do Analisador de Cliente XMDE podem ser executadas durante uma sessão de Resposta em Direto.
- Para a instalação, o
unzip
pacote é necessário. - Para a execução, o
acl
pacote é necessário.
Importante
A Janela utiliza os carateres invisíveis Símbolo de Retorno e Avanço de Linha para representar o fim de uma linha e o início de uma nova linha num ficheiro, mas os sistemas Linux utilizam apenas o caráter invisível Feed de Linhas no final das linhas de ficheiro. Quando utiliza os seguintes scripts, se for feito no Windows, esta diferença pode resultar em erros e falhas dos scripts a executar. Uma solução potencial para isto é utilizar o Subsistema Windows para Linux e o dos2unix
pacote para reformatar o script para que se alinhe com o formato Unix e Linux padrão.
Instalar o Analisador de Cliente XMDE
Transfira e extraia o Analisador de Clientes XMDE. Pode utilizar a versão binária ou Python da seguinte forma:
Devido aos comandos limitados disponíveis na resposta em direto, os passos detalhados têm de ser executados num script bash. Ao dividir a parte de instalação e execução destes comandos, é possível executar o script de instalação uma vez e executar o script de execução várias vezes.
Importante
Os scripts de exemplo partem do princípio de que o computador tem acesso direto à Internet e pode obter o Analisador de Cliente XMDE da Microsoft. Se o computador não tiver acesso direto à Internet, os scripts de instalação têm de ser atualizados para obter o Analisador de Cliente XMDE a partir de uma localização à qual os computadores podem aceder com êxito.
Script de instalação do analisador de cliente binário
O script seguinte executa os primeiros seis passos da versão Binária do Analisador de Cliente em Execução. Quando terminar, o binário do Analisador de Cliente XMDE está disponível no /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer
diretório.
Crie um ficheiro
InstallXMDEClientAnalyzer.sh
bash e cole o seguinte conteúdo no mesmo.#! /usr/bin/bash echo "Starting Client Analyzer Script. Running As:" whoami echo "Getting XMDEClientAnalyzerBinary" wget --quiet -O /tmp/XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary echo '4E96E75B16244BB25BDBF34CBB3EB596BC2E9CE368BC4E532E8AE12DF2A1E19D /tmp/XMDEClientAnalyzerBinary.zip' | sha256sum -c echo "Unzipping XMDEClientAnalyzerBinary.zip" unzip -q /tmp/XMDEClientAnalyzerBinary.zip -d /tmp/XMDEClientAnalyzerBinary echo "Unzipping SupportToolLinuxBinary.zip" unzip -q /tmp/XMDEClientAnalyzerBinary/SupportToolLinuxBinary.zip -d /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer echo "MDESupportTool installed at /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer"
Script de instalação do analisador de cliente Python
O script seguinte executa os primeiros seis passos da versão Executar o Python do Client Analyzer. Quando terminar, os scripts python do Analisador de Clientes XMDE estão disponíveis no /tmp/XMDEClientAnalyzer
diretório .
Crie um ficheiro
InstallXMDEClientAnalyzer.sh
bash e cole o seguinte conteúdo no mesmo.#! /usr/bin/bash echo "Starting Client Analyzer Install Script. Running As:" whoami echo "Getting XMDEClientAnalyzer.zip" wget --quiet -O /tmp/XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 /tmp/XMDEClientAnalyzer.zip' | sha256sum -c echo "Unzipping XMDEClientAnalyzer.zip" unzip -q /tmp/XMDEClientAnalyzer.zip -d /tmp/XMDEClientAnalyzer echo "Setting execute permissions on mde_support_tool.sh script" cd /tmp/XMDEClientAnalyzer chmod a+x mde_support_tool.sh echo "Performing final support tool setup" ./mde_support_tool.sh
Executar os scripts de instalação do analisador de cliente
Inicie uma sessão de Resposta em Direto no computador que pretende investigar.
Selecione Carregar ficheiro para a biblioteca.
Selecione Escolher ficheiro.
Selecione o ficheiro transferido com o nome
InstallXMDEClientAnalyzer.sh
e, em seguida, selecione Confirmar.Ainda na sessão LiveResponse, utilize os seguintes comandos para instalar o analisador:
run InstallXMDEClientAnalyzer.sh
Executar o analisador de cliente XMDE
A resposta em direto não suporta a execução direta do Analisador de Cliente XMDE ou Python, pelo que é necessário um script de execução.
Importante
Os scripts seguintes partem do princípio de que o Analisador de Cliente XMDE foi instalado com as mesmas localizações dos scripts mencionados anteriormente. Se a sua organização optar por instalar os scripts numa localização diferente, os scripts têm de ser atualizados para se alinharem com a localização de instalação escolhida pela sua organização.
Script para executar o analisador de cliente binário
A versão binária do analisador de cliente aceita parâmetros de linha de comandos para realizar testes de análise diferentes. Para fornecer capacidades semelhantes durante a resposta em direto, o script de execução tira partido da $@
variável bash para transmitir todos os parâmetros de entrada fornecidos ao script para o Analisador de Cliente XMDE.
Crie um ficheiro
MDESupportTool.sh
bash e cole o seguinte conteúdo no mesmo.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer" cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer echo "Running MDESupportTool" ./MDESupportTool $@
Script para executar o analisador de cliente Python
A versão python do analisador de cliente aceita parâmetros de linha de comandos para realizar testes de análise diferentes. Para fornecer capacidades semelhantes durante a resposta em direto, o script de execução tira partido da $@
variável bash para transmitir todos os parâmetros de entrada fornecidos ao script para o Analisador de Cliente XMDE.
Crie um ficheiro
MDESupportTool.sh
bash e cole o seguinte conteúdo no mesmo.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzer" cd /tmp/XMDEClientAnalyzer echo "Running mde_support_tool" ./mde_support_tool.sh $@
Executar o script do analisador de cliente
Nota
Se tiver uma sessão de resposta ativa em direto, pode ignorar o Passo 1.
Inicie uma sessão de Resposta em Direto no computador que pretende investigar.
Selecione Carregar ficheiro para a biblioteca.
Selecione Escolher ficheiro.
Selecione o ficheiro transferido com o nome
MDESupportTool.sh
e, em seguida, selecione Confirmar.Ainda na sessão de resposta em direto, utilize os seguintes comandos para executar o analisador e recolher o ficheiro resultante:
run MDESupportTool.sh -parameters "--bypass-disclaimer -d" GetFile "/tmp/your_archive_file_name_here.zip"
Consulte também
Documentos de resolução de problemas do Defender para Endpoint no Linux
Resolver problemas de instalação do Microsoft Defender para Endpoint no Linux
Resolver problemas de conectividade da cloud para Microsoft Defender para Endpoint no Linux
Resolver problemas de desempenho de Microsoft Defender para Endpoint no Linux
Resolver problemas de eventos ou alertas em falta para Microsoft Defender para Endpoint no Linux
Resolver falsos positivos/negativos no Microsoft Defender para Endpoint
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.