Esegui l'analizzatore del client su Linux

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. Si tratta di uno strumento di diagnostica che consente agli amministratori e ai team di supporto di risolvere i problemi relativi alle Microsoft Defender per endpoint. Raccoglie informazioni dettagliate sull'installazione, la configurazione, l'integrità del servizio, i log, lo stato della connettività e così via. Questo strumento viene usato principalmente per il controllo dell'integrità del sistema, la convalida delle configurazioni e la risoluzione dei potenziali problemi.

È possibile acquisire i dati diagnostici di Client Analyzer in uno dei seguenti modi:

  1. Riga di comando: eseguire il Client Analyzer localmente sul dispositivo. Vedere run-the-binary-version-of-the-client-analyzer o run-the-the-based-client-analyzer.

  2. Risposta in diretta:eseguire il Client Analyzer da remoto durante una sessione di risposta in diretta. Vedere use-live-response-to-collect-diagnostics-log

  3. Pacchetto di indagine: Raccogliere un pacchetto di indagine dalla pagina del dispositivo nel portale Microsoft Defender. In Linux, il pacchetto comprende gli strumenti diagnostici di Client Analyzer. Vedere collect-investigation-package-from-devices

Consiglio

Guardare questo video per ottenere una panoramica dell'analizzatore client: Panoramica dell'analizzatore client di Defender per endpoint

Eseguire la versione binaria dell'analizzatore client

La versione binaria dell'analizzatore client viene resa disponibile in due modi:

  • Fornito con Microsoft Defender per Linux
  • Fornito come strumento autonomo

Eseguire il file binario dell'analizzatore client fornito con Microsoft Defender per Linux:

Nota

A partire dalla versione 101.25082.0000 di Microsoft Defender per endpoint, Client Analyzer viene distribuito con un agente. È possibile trovarlo nella posizione seguente: /opt/microsoft/mdatp/tools/client_analyzer/binary

L'esecuzione di questo strumento genera un pacchetto di diagnostica come .zip file nella /tmp directory.

Per eseguire l'analizzatore client, seguire questa procedura:

  1. Passare alla directory /opt/microsoft/mdatp/tools/client_analyzer/binary:

    cd /opt/microsoft/mdatp/tools/client_analyzer/binary
    
  2. Esegui lo strumento con privilegi di root per generare un pacchetto diagnostico:

    sudo ./MDESupportTool -d
    

Scarica ed esegui lo strumento binario standalone Client Analyzer

Per utilizzare il file binario ClientAnalyzer indipendente, completa i passaggi seguenti.

  1. Scaricare lo strumento XMDE Client Analyzer Binary nel computer Linux che è necessario analizzare. Se si usa un terminale, scaricare lo strumento immettendo il comando seguente:

    wget --quiet -O XMDEClientAnalyzerBinary.zip "https://go.microsoft.com/fwlink/?linkid=2336125"
    
  2. Verificare il download:

    echo '5F906591D33D675F14D73D5B658A796CEC7480B023B18D45C5D687713A4D4FBB XMDEClientAnalyzerBinary.zip' | sha256sum -c
    
  3. Estrarre il contenuto di XMDEClientAnalyzerBinary.zip nel computer.

    unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
    
  4. Modifica la directory:

    cd XMDEClientAnalyzerBinary
    
  5. Vengono prodotti due nuovi file ZIP:

    • SupportToolLinuxamd64Binary.zip: per i dispositivi Linux x86
    • SupportToolLinuxarm64Binary.zip: per i dispositivi arm Linux
  6. Decomprimere lo zip specifico in base all'architettura del sistema operativo Linux. Ad esempio, usiamo qui il file SupportToolLinuxamd64Binary.zip.

    unzip -q SupportToolLinuxamd64Binary.zip
    
  7. Esegui lo strumento con privilegi di root per generare un pacchetto diagnostico:

    sudo ./MDESupportTool -d
    

Eseguire l'analizzatore client basato su Python

La versione python dell'analizzatore client viene resa disponibile in due modi:

  • Fornito con Microsoft Defender per Linux
  • Fornito come strumento autonomo

Nota

  • L'analizzatore dipende da alcuni pacchetti PIP aggiuntivi (decorator, , shdistro, lxmle psutil) 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.
  • A partire da Analizzatore client per MDE Linux versione 1.7.0, è disponibile il supporto per l'esecuzione dell'analizzatore client basato su Python in un ambiente virtuale Python (venv). L'uso di un ambiente virtuale è facoltativo e non obbligatorio.
  • 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.

Eseguire la versione python di Analizzatore client fornita con Microsoft Defender per Linux

Nota

A partire dalla versione 101.25082.0000 di Defender per endpoint, l'analizzatore client include un agente. È possibile trovarlo nella posizione seguente: /opt/microsoft/mdatp/tools/client_analyzer/python

Per eseguire questo analizzatore client, seguire questa procedura:

  1. Passare alla directory /opt/microsoft/mdatp/tools/client_analyzer/python:

    cd /opt/microsoft/mdatp/tools/client_analyzer/python
    
  2. Eseguire con privilegi di root per installare le dipendenze necessarie.

    sudo ./mde_support_tool.sh
    
  3. Per raccogliere il pacchetto di diagnostica e generare il file di archivio dei risultati, eseguire di nuovo con privilegi di root.

    sudo ./mde_support_tool.sh -d
    

Scaricare ed eseguire la versione autonoma di Python di Analizzatore client

  1. Scarica lo strumento Client Analyzer XMDE sul computer Linux che devi analizzare. Se si usa un terminale, scaricare lo strumento immettendo il comando seguente:

    wget --quiet -O XMDEClientAnalyzerPython.zip "https://go.microsoft.com/fwlink/?linkid=2336046"
    
  2. Verificare il download:

    echo '0B7C350A1C19E049416B1C8FB7ED857569DDCC32FB90453A3FCCD083487C0B4E XMDEClientAnalyzerPython.zip' | sha256sum -c
    
  3. Estrarre il contenuto di XMDEClientAnalyzer.zip nel computer:

    unzip -q XMDEClientAnalyzerPython.zip -d XMDEClientAnalyzerPython
    
  4. Modifica la directory:

    cd XMDEClientAnalyzerPython
    
  5. Concedi l'autorizzazione di esecuzione allo strumento:

    chmod a+x mde_support_tool.sh
    
  6. Eseguire come utente nonroot per installare le dipendenze necessarie:

    ./mde_support_tool.sh
    
  7. Per raccogliere il pacchetto diagnostico e generare il file di archivio dei risultati, eseguire nuovamente con privilegi di root:

    sudo ./mde_support_tool.sh -d
    

Consiglio

Guardare questo video per saperne di più sui problemi di onboarding: Problemi di onboarding dell'analizzatore client di Defender per endpoint

Opzioni della riga di comando

L'analizzatore client offre le opzioni della riga di comando seguenti:


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).

Modalità diagnostica

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 for Endpoint
health.txt Stato di integrità di Defender for 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 relativi alle cartelle di proprietà di/utilizzate da Defender for 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 Mappatura della memoria virtuale dei processi di Defender for Endpoint
(Presente solo quando è installato Defender per endpoint)
auditd_info.txt Regole, log, integrità Auditd
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 Tracciamento degli eventi relativi alle chiamate di sistema grezze
ebpf_maps_info.txt Informazioni sull'ID e sulle dimensioni delle mappe eBPF
syslog.zip I file sotto /var/log/syslog
messages.zip I file sotto /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 delle definizioni di Defender per endpoint
service_status.txt Stato del servizio Defender for 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 sui namespace 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 for 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 della protezione in tempo reale (RTP) di Defender per Endpoint
(Presente solo quando è installato Defender per endpoint)
libc_info.txt Informazioni sulla libreria libc
uptime_info.txt Tempo 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 iptables 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 for Endpoint
(Presente solo quando è installato Defender per endpoint)
mde_ebpf_statistics.txt Statistiche eBPF di Defender for Endpoint
(Presente solo quando è installato Defender per endpoint)
kernel_logs.zip Registri kernel
mdc_log.zip Log di Microsoft Defender per il 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

Argomenti facoltativi per Analizzatore client

Analizzatore client fornisce gli argomenti facoltativi seguenti per la raccolta dati aggiuntiva:

Raccogliere informazioni sulle prestazioni

Raccogli una traccia dettagliata delle prestazioni del computer relativa ai processi di Defender for Endpoint per analizzare uno scenario relativo alle prestazioni che può essere riprodotto all'occorrenza.

-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

Questa modalità genera il file seguente:

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

Eseguire il test di connettività

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.

Raccogliere report distinti di installazione e configurazione iniziale

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
  -m, --min-requirement     Check for the system info against offical minimum requirements
  -e, --external-dep        Check for externel package dependency
  -c, --connectivity        Check for connectivity for services used by MDE
  -a, --all                 Run all checks
  -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 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 sul ring
stato del supporto MDE è supportato con le configurazioni di sistema correnti.
distro La distribuzione in cui è installato l'agente è supportata o meno.
connectivitytest Lo stato dei test di connettività.
requisito_minimo Vengono soddisfatti i requisiti minimi per CPU e memoria.
dipendenza esterna Le dipendenze esterne sono soddisfatte oppure no.
mde_health Stato di integrità dell'agente MDE
folder_perm Le autorizzazioni necessarie per le cartelle vengono soddisfatte o meno.

Modalità di esclusione

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`

Usare la risposta in tempo reale in Defender per endpoint per raccogliere i log di supporto

Il Client Analyzer può essere eseguito durante una sessione Live Response utilizzando la versione già inclusa con Microsoft Defender per endpoint su Linux, oppure scaricando il Client Analyzer come pacchetto binario o Python ed estraendolo sul dispositivo.

  • Per l'installazione, il unzip pacchetto è obbligatorio.
  • Per l'esecuzione, il acl pacchetto è obbligatorio.

Importante

Windows usa i caratteri invisibili di ritorno a capo e avanzamento riga per rappresentare la fine di una riga e l'inizio di una nuova riga in un file. I sistemi Linux usano solo il carattere invisibile Line Feed alla fine delle righe dei file. Quando si utilizzano i seguenti script, se l’operazione viene eseguita in Windows, questa differenza può causare errori e impedire l’esecuzione degli script. Una possibile soluzione consiste nell'usare il sottosistema Windows per Linux (WSL) e il dos2unix pacchetto per riformattare lo script in modo che sia allineato allo standard di formato Unix e Linux.

Documenti sulla risoluzione dei problemi di Defender per endpoint in Linux