Eseguire l'analizzatore client in Linux
Si applica a:
Si desidera provare Microsoft Defender per endpoint? iscriversi a una versione di valutazione gratuita.
Se si verificano problemi con Microsoft Defender per endpoint in Linux e è necessario il supporto, potrebbe essere richiesto di fornire l'output dallo strumento Analizzatore client. Questo articolo illustra come usare lo strumento nel dispositivo o con la risposta dinamica. È possibile usare una soluzione basata su Python o una versione binaria che non richiede Python.
Scaricare lo strumento XMDE Client Analyzer Binary nel computer Linux da analizzare. Se si usa un terminale, scaricare lo strumento immettendo il comando seguente:
wget --quiet -O XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary
Verificare il download.
echo '4E96E75B16244BB25BDBF34CBB3EB596BC2E9CE368BC4E532E8AE12DF2A1E19D XMDEClientAnalyzerBinary.zip' | sha256sum -c
Estrarre il contenuto di
XMDEClientAnalyzerBinary.zip
nel computer.unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
Modificare la directory:
cd XMDEClientAnalyzerBinary
Vengono prodotti due nuovi file ZIP:
- SupportToolLinuxBinary.zip: per tutti i dispositivi Linux
- SupportToolMacOSBinary.zip: per i dispositivi Mac
Decomprimere il
SupportToolLinuxBinary.zip
file.unzip -q SupportToolLinuxBinary.zip
Eseguire lo strumento come radice per generare il pacchetto di diagnostica:
sudo ./MDESupportTool -d
Nota
- L'analizzatore dipende da alcuni pacchetti PIP aggiuntivi (
decorator
, ,sh
distro
,lxml
epsutil
) installati nel sistema operativo quando sono nella radice per produrre l'output dei risultati. Se non è installato, l'analizzatore tenta di recuperarlo dal repository ufficiale per i pacchetti Python. - Inoltre, lo strumento richiede attualmente l'installazione di Python versione 3 o successiva nel dispositivo.
- Se il dispositivo si trova dietro un proxy, è possibile passare il server proxy come variabile di ambiente allo
mde_support_tool.sh
script. Ad esempio:https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh"
.
Avviso
L'esecuzione dell'analizzatore client basato su Python richiede l'installazione di pacchetti PIP che potrebbero causare alcuni problemi nell'ambiente. Per evitare problemi, è consigliabile installare i pacchetti in un ambiente PIP utente.
Scaricare lo strumento Analizzatore client XMDE nel computer Linux che è necessario analizzare. Se si usa un terminale, scaricare lo strumento immettendo il comando seguente:
wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
Verificare il download.
echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 XMDEClientAnalyzer.zip' | sha256sum -c
Estrarre il contenuto di
XMDEClientAnalyzer.zip
nel computer.unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
Modificare la directory.
cd XMDEClientAnalyzer
Concedere l'autorizzazione eseguibile dello strumento.
chmod a+x mde_support_tool.sh
Eseguire come utente nonroot per installare le dipendenze necessarie.
./mde_support_tool.sh
Per raccogliere il pacchetto di diagnostica e generare il file di archivio dei risultati, eseguire di nuovo come radice.
sudo ./mde_support_tool.sh -d
Di seguito sono riportate le opzioni della riga di comando fornite dall'analizzatore client
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).
La modalità diagnostica viene usata per raccogliere un set completo di informazioni sul computer, ad esempio i log di memoria, disco e MDATP. Questo set di file fornisce il set primario di informazioni necessarie per eseguire il debug di qualsiasi problema correlato a Defender For Endpoint.
Le opzioni supportate sono le seguenti:
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).
Esempio di utilizzo: sudo ./MDESupportTool -d
Nota
La funzionalità di autoreset a livello di log è disponibile solo nella versione 101.24052.0002 o successiva dell'agente.
I file generati quando si usa questa modalità sono riepilogati nella tabella seguente:
File | Osservazioni |
---|---|
mde_diagnostic.zip |
Log e configurazioni di Defender per endpoint |
health.txt |
Stato di integrità di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
health_details_features.txt |
Stato di integrità di altre funzionalità di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
permissions.txt |
Problemi di autorizzazione con le cartelle di proprietà/usate da Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
crashes |
Dump di arresto anomalo generati da Defender per endpoint |
process_information.txt |
Processo in esecuzione nel computer quando lo strumento è stato eseguito |
proc_directory_info.txt |
Mapping della memoria virtuale dei processi di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
auditd_info.txt |
Integrità, regole, log controllati |
auditd_log_analysis.txt |
Riepilogo degli eventi elaborati da auditd |
auditd_logs.zip |
File di log controllati |
ebpf_kernel_config.txt |
Configurazione del kernel Linux attualmente caricata |
ebpf_enabled_func.txt |
Elenco di tutte le funzioni del kernel attualmente abilitate per la traccia |
ebpf_syscalls.zip |
Informazioni sulla traccia delle chiamate di sistema |
ebpf_raw_syscalls.zip |
Traccia degli eventi correlati alle chiamate di sistema non elaborate |
ebpf_maps_info.txt |
Informazioni sull'ID e sulle dimensioni delle mappe eBPF |
syslog.zip |
I file in /var/log/syslog |
messages.zip |
I file in /var/log/messages |
conflicting_processes_information.txt |
Processi in conflitto con Defender per endpoint |
exclusions.txt |
Elenco di esclusioni antivirus |
definitions.txt |
Informazioni sulla definizione dell'antivirus |
mde_directories.txt |
Elenco di file nelle directory di Defender per endpoint |
disk_usage.txt |
Dettagli sull'utilizzo del disco |
mde_user.txt |
Informazioni utente di Defender per endpoint |
mde_definitions_mount.txt |
Punto di montaggio di Defender per le definizioni degli endpoint |
service_status.txt |
Stato del servizio Defender per endpoint |
service_file.txt |
File del servizio Defender per endpoint |
hardware_info.txt |
Informazioni sull'hardware |
mount.txt |
Informazioni sul punto di montaggio |
uname.txt |
Informazioni sul kernel |
memory.txt |
Informazioni sulla memoria di sistema |
meminfo.txt |
Informazioni dettagliate sull'utilizzo della memoria del sistema |
cpuinfo.txt |
Informazioni sulla CPU |
lsns_info.txt |
Informazioni sullo spazio dei nomi Linux |
lsof.txt |
Informazioni sui descrittori di file aperti di Defender per endpoint (vedere la nota dopo questa tabella) |
sestatus.txt |
Informazioni sui descrittori di file aperti di Defender per endpoint |
lsmod.txt |
Stato dei moduli nel kernel Linux |
dmesg.txt |
Messaggi dal buffer circolare del kernel |
kernel_lockdown.txt |
Informazioni sul blocco del kernel |
rtp_statistics.txt |
Statistiche di Defender per Endpoint Real Time Protection (RTP) (Presente solo quando è installato Defender per endpoint) |
libc_info.txt |
Informazioni sulla libreria libc |
uptime_info.txt |
Ora dall'ultimo riavvio |
last_info.txt |
Elenco degli ultimi utenti connessi |
locale_info.txt |
Mostra impostazioni locali correnti |
tmp_files_owned_by_mdatp.txt |
File /tmp di proprietà del gruppo: mdatp (Presente solo quando è installato Defender per endpoint) |
mdatp_config.txt |
Tutte le configurazioni di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
mpenginedb.db mpenginedb.db-wal mpenginedb.db-shm |
File di definizioni antivirus (Presente solo quando è installato Defender per endpoint) |
iptables_rules.txt |
Regole delle tabelle iptable di Linux |
network_info.txt |
Informazioni di rete |
sysctl_info.txt |
informazioni sulle impostazioni del kernel |
hostname_diagnostics.txt |
Informazioni di diagnostica del nome host |
mde_event_statistics.txt |
Statistiche degli eventi di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
mde_ebpf_statistics.txt |
Statistiche eBPF di Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
kernel_logs.zip |
Log del kernel |
mdc_log.zip |
Microsoft Defender per i log cloud |
netext_config.txt |
|
threat_list.txt |
Elenco di minacce rilevate da Defender per endpoint (Presente solo quando è installato Defender per endpoint) |
top_output.txt |
Processo in esecuzione nel computer quando lo strumento è stato eseguito |
top_summary.txt |
Analisi dell'utilizzo della memoria e della CPU del processo in esecuzione |
Analizzatore client fornisce gli argomenti facoltativi seguenti per la raccolta dati aggiuntiva:
Raccogliere un'ampia traccia delle prestazioni del computer dei processi di Defender per endpoint per l'analisi di uno scenario di prestazioni che può essere riprodotto su richiesta.
-h, --help show this help message and exit
--frequency FREQUENCY
profile at this frequency
--length LENGTH length of time to collect (in seconds)
Esempio di utilizzo: sudo ./MDESupportTool performance --frequency 500
Di seguito è riportato il file generato quando si usa questa modalità:
File | Osservazioni |
---|---|
perf_benchmark.tar.gz |
Defender per endpoint elabora i dati sulle prestazioni |
Nota
Vengono generati anche i file corrispondenti alla modalità di diagnostica.
Il tar contiene file nel formato <pid of a MDE process>.data
.
Il file di dati può essere letto usando il comando :
perf report -i <pid>.data
Questa modalità verifica se le risorse cloud necessarie per Defender per endpoint sono raggiungibili o meno.
-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>
Esempio di utilizzo:
sudo ./MDESupportTool connectivitytest -o ~/MicrosoftDefenderATPOnboardingLinuxServer.py`
L'output stampato sullo schermo mostra se gli URL sono raggiungibili o meno.
Questa modalità raccoglie informazioni correlate all'installazione, ad esempio requisiti di distribuzione e di sistema.
-h, --help show this help message and exit
-d, --distro Check for distro support
-a, --all Run all checks
Esempio di utilizzo:
sudo ./MDESupportTool installation --all
Viene generato un singolo report installation_report.json
. Le chiavi nel file sono le seguenti:
Chiave | Osservazioni |
---|---|
agent_version | Versione di Defender per endpoint installata |
onboarding_status | Informazioni sull'onboarding e sull'anello |
Questa modalità aggiunge esclusioni per il audit-d
monitoraggio.
-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
Esempio di utilizzo:
sudo ./MDESupportTool exclude -d /var/foo/bar`
Questa opzione imposta il limite di frequenza a livello globale per AuditD causando un calo di tutti gli eventi di controllo. Quando il limitatore è abilitato, gli eventi controllati sono limitati a 2500 eventi al secondo. Questa opzione può essere usata nei casi in cui viene visualizzato un utilizzo elevato della CPU dal lato AuditD.
-h, --help show this help message and exit
-e <true/false>, --enable <true/false> enable/disable the rate limit with default values
Esempio di utilizzo:
sudo ./mde_support_tool.sh ratelimit -e true
Nota
Questa funzionalità deve essere usata con attenzione perché limita il numero di eventi che il sottosistema controllato segnala nel suo complesso. Ciò potrebbe ridurre anche il numero di eventi per altri sottoscrittori.
Questa opzione consente di ignorare le regole non valide aggiunte nel file delle regole controllate durante il caricamento. Consente al sottosistema controllato di continuare a caricare le regole anche in caso di regola difettosa.It allows the auditd subsystem to continue loading rules even if there's a faulty rule.
-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.
Esempio di utilizzo:
sudo ./mde_support_tool.sh skipfaultyrules -e true
Nota
Questa funzionalità ignora le regole non valide. Le regole difettose devono essere ulteriormente identificate e corrette.
Lo strumento analizzatore client XMDE può essere scaricato come pacchetto binario o Python che può essere estratto ed eseguito nei computer Linux. Entrambe le versioni di XMDE Client Analyzer possono essere eseguite durante una sessione di Live Response.
- Per l'installazione, il
unzip
pacchetto è obbligatorio. - Per l'esecuzione, il
acl
pacchetto è obbligatorio.
Importante
Window usa i caratteri invisibili Ritorno a capo e Avanzamento riga per rappresentare la fine di una riga e l'inizio di una nuova riga in un file, ma i sistemi Linux usano solo il carattere invisibile avanzamento riga alla fine delle righe del file. Quando si usano gli script seguenti, se eseguita in Windows, questa differenza può causare errori e errori degli script da eseguire. Una possibile soluzione consiste nell'usare il sottosistema Windows per Linux e il dos2unix
pacchetto per riformattare lo script in modo che sia allineato allo standard di formato Unix e Linux.
Scaricare ed estrarre XMDE Client Analyzer. È possibile usare la versione binaria o Python, come indicato di seguito:
A causa dei comandi limitati disponibili nella risposta in tempo reale, i passaggi dettagliati devono essere eseguiti in uno script bash. Suddividendo la parte relativa all'installazione e all'esecuzione di questi comandi, è possibile eseguire lo script di installazione una sola volta ed eseguire lo script di esecuzione più volte.
Importante
Gli script di esempio presuppongono che il computer abbia accesso diretto a Internet e possa recuperare XMDE Client Analyzer da Microsoft. Se il computer non ha accesso diretto a Internet, è necessario aggiornare gli script di installazione per recuperare XMDE Client Analyzer da un percorso a cui i computer possono accedere correttamente.
Lo script seguente esegue i primi sei passaggi dell'esecuzione della versione binaria dell'analizzatore client. Al termine, il file binario dell'analizzatore client XMDE è disponibile dalla /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer
directory.
Creare un file
InstallXMDEClientAnalyzer.sh
bash e incollarvi il contenuto seguente.#! /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"
Lo script seguente esegue i primi sei passaggi dell'esecuzione della versione Python dell'analizzatore client. Al termine, gli script Python dell'analizzatore client XMDE sono disponibili dalla /tmp/XMDEClientAnalyzer
directory.
Creare un file
InstallXMDEClientAnalyzer.sh
bash e incollarvi il contenuto seguente.#! /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
Avviare una sessione live response nel computer da analizzare.
Selezionare Carica file nella raccolta.
Selezionare Scegli file.
Selezionare il file scaricato denominato
InstallXMDEClientAnalyzer.sh
e quindi selezionare Conferma.Mentre si è ancora nella sessione LiveResponse, usare i comandi seguenti per installare l'analizzatore:
run InstallXMDEClientAnalyzer.sh
La risposta dinamica non supporta l'esecuzione diretta di XMDE Client Analyzer o Python, pertanto è necessario uno script di esecuzione.
Importante
Gli script seguenti presuppongono che XMDE Client Analyzer sia stato installato usando le stesse posizioni degli script indicati in precedenza. Se l'organizzazione sceglie di installare gli script in un percorso diverso, gli script devono essere aggiornati per allinearsi al percorso di installazione scelto dall'organizzazione.
La versione binaria dell'analizzatore client accetta parametri della riga di comando per eseguire diversi test di analisi. Per fornire funzionalità simili durante la risposta in tempo reale, lo script di esecuzione sfrutta la $@
variabile bash per passare tutti i parametri di input forniti allo script all'analizzatore client XMDE.
Creare un file
MDESupportTool.sh
bash e incollarvi il contenuto seguente.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer" cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer echo "Running MDESupportTool" ./MDESupportTool $@
La versione Python dell'analizzatore client accetta parametri della riga di comando per eseguire diversi test di analisi. Per fornire funzionalità simili durante la risposta in tempo reale, lo script di esecuzione sfrutta la $@
variabile bash per passare tutti i parametri di input forniti allo script all'analizzatore client XMDE.
Creare un file
MDESupportTool.sh
bash e incollarvi il contenuto seguente.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzer" cd /tmp/XMDEClientAnalyzer echo "Running mde_support_tool" ./mde_support_tool.sh $@
Nota
Se si dispone di una sessione di risposta dinamica attiva, è possibile ignorare il passaggio 1.
Avviare una sessione live response nel computer da analizzare.
Selezionare Carica file nella raccolta.
Selezionare Scegli file.
Selezionare il file scaricato denominato
MDESupportTool.sh
e quindi selezionare Conferma.Mentre si è ancora nella sessione di risposta dinamica, usare i comandi seguenti per eseguire l'analizzatore e raccogliere il file risultante:
run MDESupportTool.sh -parameters "--bypass-disclaimer -d" GetFile "/tmp/your_archive_file_name_here.zip"
Risolvere i problemi di installazione per Microsoft Defender per endpoint in Linux
Risolvere i problemi di connettività cloud per Microsoft Defender per endpoint in Linux
Risolvere i problemi di prestazioni per Microsoft Defender per endpoint in Linux
Risolvere i problemi di avvisi o eventi mancanti per Microsoft Defender per endpoint in Linux
Indirizzare i falsi positivi/negativi in Microsoft Defender per Endpoint
Suggerimento
Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.