Dela via


Kör klientanalysen på macOS och Linux

XMDEClientAnalyzer används för att diagnostisera Microsoft Defender för Endpoint problem med hälsotillstånd eller tillförlitlighet på registrerade enheter som kör Antingen Linux eller macOS.

Det finns två sätt att köra verktyget för klientanalys:

  1. Använda en binär version (inget externt Python-beroende)
  2. Använda en Python-baserad lösning

Köra den binära versionen av klientanalysen

  1. Ladda ned verktyget XMDE Client Analyzer Binary till den macOS- eller Linux-dator som du behöver undersöka.
    Om du använder en terminal laddar du ned verktyget genom att ange följande kommando:

    wget --quiet -O XMDEClientAnalyzerBinary.zip https://go.microsoft.com/fwlink/?linkid=2297517
    
  2. Verifiera nedladdningen.

    • Linux
    echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97 XMDEClientAnalyzerBinary.zip' | sha256sum -c
    
    • macOS
    echo '2A9BF0A6183831BE43C7BCB7917A40D772D226301B4CDA8EE4F258D00B6E4E97  XMDEClientAnalyzerBinary.zip' | shasum -a 256 -c
    
  3. Extrahera innehållet XMDEClientAnalyzerBinary.zip i på datorn. Om du använder en terminal extraherar du filerna genom att ange följande kommando:

    unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
    
  4. Ändra till verktygets katalog genom att ange följande kommando:

    cd XMDEClientAnalyzerBinary
    
  5. Två nya zip-filer skapas:

    • SupportToolLinuxBinary.zip : För alla Linux-enheter
    • SupportToolMacOSBinary.zip : För Mac-enheter
  6. Packa upp en av ovanstående 2 zip-filer baserat på den dator som du behöver undersöka. När du använder en terminal packar du upp filen genom att ange något av följande kommandon baserat på operativsystemtyp:

    • Linux

      unzip -q SupportToolLinuxBinary.zip
      
    • Mac

      unzip -q SupportToolMacOSBinary.zip
      
  7. Kör verktyget som rot för att generera diagnostikpaket:

    sudo ./MDESupportTool -d
    

Köra den Python-baserade klientanalysen

Obs!

  • Analysatorn är beroende av några extra PIP-paket (decorator, , distrosh, lxmloch psutil) som installeras i operativsystemet när de är i roten för att generera resultatutdata. Om det inte är installerat försöker analysatorn hämta det från den officiella lagringsplatsen för Python-paket.
  • Dessutom kräver verktyget för närvarande att Python version 3 eller senare installeras på enheten.
  • Om enheten finns bakom en proxyserver kan du skicka proxyservern som en miljövariabel till skriptet mde_support_tool.sh . Till exempel: https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh".

Varning

För att köra den Python-baserade klientanalysen krävs installation av PIP-paket som kan orsaka vissa problem i din miljö. För att undvika problem rekommenderar vi att du installerar paketen i en ANVÄNDAR-PIP-miljö.

  1. Ladda ned verktyget XMDE Client Analyzer till den macOS- eller Linux-dator som du behöver undersöka. Om du använder en terminal laddar du ned verktyget genom att köra följande kommando:

    wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
    
  2. Verifiera nedladdningen.

    • Linux
    echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11 XMDEClientAnalyzer.zip' | sha256sum -c
    
    • macOS
    echo '84C9718FF3D29DA0EEE650FB2FC0625549A05CD1228AC253DBB92C8B1D9F1D11  XMDEClientAnalyzer.zip' | shasum -a 256 -c
    
  3. Extrahera innehållet i XMDEClientAnalyzer.zip på datorn. Om du använder en terminal extraherar du filerna med hjälp av följande kommando:

    unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
    
  4. Ändra katalogen till den extraherade platsen.

    cd XMDEClientAnalyzer
    
  5. Ge verktyget körbar behörighet.

    chmod a+x mde_support_tool.sh
    
  6. Kör som en icke-användare för att installera nödvändiga beroenden.

    ./mde_support_tool.sh
    
  7. Om du vill samla in det faktiska diagnostikpaketet och generera resultatarkivfilen kör du igen som rot.

    sudo ./mde_support_tool.sh -d
    

Kommandoradsalternativ

Alla kommandoradsalternativ


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

Diagnostikläge

Diagnostikläget används för att samla in omfattande uppsättning datorinformation, till exempel minne, disk, MDATP-loggar osv. Den här uppsättningen filer ger oss primär information som krävs för att felsöka problem som rör MDE.

Alternativen som stöds är följande:


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

Användningsexempel: sudo ./MDESupportTool -d

Obs!

Funktionen för automatisk reset på loggnivå är endast tillgänglig i 2405 eller senare klientversion.

De filer som genereras när du använder det här läget sammanfattas i följande tabell:

Fil Anmärkningar
mde_diagnostic.zip Loggar och konfigurationer för Defender för Endpoint
health.txt Hälsostatus för Defender för Endpoint
(Presentera endast när Defender för Endpoint är installerat)
health_details_features.txt Hälsostatus för andra Defender för Endpoint-funktioner
(Presentera endast när Defender för Endpoint är installerat)
permissions.txt Behörighetsproblem med mappar som ägs/används av Defender för Endpoint
(Presentera endast när Defender för Endpoint är installerat)
crashes Kraschdumpar som genererats av Defender för Endpoint
process_information.txt Process som körs på datorn när verktyget kördes
proc_directory_info.txt Mappning av det virtuella minnet för Defender för Endpoint-processer
(Presentera endast när Defender för Endpoint är installerat)
auditd_info.txt Granskad hälsa, regler, loggar
auditd_log_analysis.txt Sammanfattning av händelser som bearbetats av granskning
auditd_logs.zip Granskade loggfiler
ebpf_kernel_config.txt För närvarande inläst Linux Kernel-konfiguration
ebpf_enabled_func.txt Lista över alla kernelfunktioner som för närvarande är aktiverade för spårning
ebpf_syscalls.zip Information om systemanropsspårning
ebpf_raw_syscalls.zip Spårningshändelser relaterade till råsystemanrop
ebpf_maps_info.txt Information om id och storlek för eBPF-kartor
syslog.zip Filerna under /var/log/syslog
messages.zip Filerna under /var/log/messages
conflicting_processes_information.txt Processer i konflikt med Defender för Endpoint
exclusions.txt Lista över antivirusundantag
definitions.txt Information om antivirusdefinition
mde_directories.txt Lista över filer i Defender för Endpoint-kataloger
disk_usage.txt Information om diskanvändning
mde_user.txt Användarinformation för Defender för Endpoint
mde_definitions_mount.txt Monteringspunkt för Defender för Endpoint-definitioner
service_status.txt Tjänststatus för Defender för Endpoint
service_file.txt Defender för Endpoint Service-fil
hardware_info.txt Maskinvaruinformation
mount.txt Information om monteringspunkt
uname.txt Kernel-information
memory.txt Information om systemminne
meminfo.txt Detaljerad information om systemets minnesanvändning
cpuinfo.txt CPU-information
lsns_info.txt Information om Linux-namnområde
lsof.txt Information om öppna filbeskrivningar i Defender för Endpoint
(se anteckningen efter den här tabellen)
sestatus.txt Information om öppna filbeskrivningar i Defender för Endpoint
lsmod.txt Status för moduler i Linux-kerneln
dmesg.txt Meddelanden från kernelringsbufferten
kernel_lockdown.txt kernel lockdown Info
rtp_statistics.txt Statistik för Defender för Endpoint Real Time Protection (RTP)
(Presentera endast när Defender för Endpoint är installerat)
libc_info.txt libc-biblioteksinformation
uptime_info.txt Tid sedan den senaste omstarten
last_info.txt Lista över senast inloggade användare
locale_info.txt Visa aktuell nationella inställningar
tmp_files_owned_by_mdatp.txt /tmp-filer som ägs av group:mdatp
(Presentera endast när Defender för Endpoint är installerat)
mdatp_config.txt Alla Defender för Endpoint-konfigurationer
(Presentera endast när Defender för Endpoint är installerat)
mpenginedb.db
mpenginedb.db-wal
mpenginedb.db-shm
Antivirusdefinitionsfil
(Presentera endast när Defender för Endpoint är installerat)
iptables_rules.txt Regler för Linux-iptables
network_info.txt Nätverksinformation
sysctl_info.txt information om kernelinställningar
hostname_diagnostics.txt Diagnostikinformation för värdnamn
mde_event_statistics.txt Händelsestatistik för Defender för Endpoint
(Presentera endast när Defender för Endpoint är installerat)
mde_ebpf_statistics.txt Defender för Endpoint eBPF-statistik
(Presentera endast när Defender för Endpoint är installerat)
kernel_logs.zip Kernelloggar
mdc_log.zip Microsoft Defender för molnloggar
netext_config.txt
threat_list.txt Lista över hot som identifierats av Defender för Endpoint
(Presentera endast när Defender för Endpoint är installerat)
top_output.txt Process som körs på datorn när verktyget kördes
top_summary.txt Analys av minnes- och CPU-användning av processen som körs

Positionsargument

Samla in prestandainformation

Samla in omfattande spårning av datorprestanda för Defender för Endpoint-processer för analys av ett prestandascenario som kan återskapas på begäran.

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

Användningsexempel: sudo ./MDESupportTool performance --frequency 500

De filer som genereras när du använder det här läget:

Fil Anmärkningar
perf_benchmark.tar.gz Defender för Endpoint bearbetar prestandadata

Obs!

Filerna som motsvarar diagnostikläget genereras också.

Tar-filerna innehåller filer i formatet <pid of a MDE process>.data. Datafilen kan läsas med kommandot :

perf report -i <pid>.data

Köra anslutningstest

Det här läget testar om de molnresurser som krävs av Defender för Endpoint kan nås eller inte.


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

Användningsexempel: sudo ./MDESupportTool connectivitytest -o ~/MicrosoftDefenderATPOnboardingLinuxServer.py

Resultatet skrivs ut på skärmen.

Samla in olika installations-/registreringsrapporter

Det här läget samlar in installationsrelaterad information som distributionsinformation, systemkrav osv.


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

Användningsexempel: sudo ./MDESupportTool installation --all

En enda rapport installation_report.json genereras. Nycklarna i filen är som:

Tangent Anmärkningar
agent_version Version av Defender för Endpoint installerad
onboarding_status Registrerings- och ringinformationen

Använda OS-spårning (endast för macOS)

Använd operativsystemets spårningsanläggningar för att registrera prestandaspårningar för Defender för Endpoint.

Obs!

Den här funktionen finns endast i Python-lösningen.


-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

När du kör det här kommandot för första gången installeras en profilkonfiguration.

Mer information om hur du godkänner profilinstallation finns i Apples supportguide.

Användningsexempel ./mde_support_tool.sh trace --length 5

Exkludera läge

Lägg till undantag för gransknings-d-övervakning.

Obs!

Den här funktionen finns endast för 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

Användningsexempel: sudo ./MDESupportTool exclude -d /var/foo/bar

AuditD-hastighetsbegränsning

Syntax som kan användas för att begränsa antalet händelser som rapporteras av plugin-programmet auditD. Det här alternativet anger hastighetsbegränsningen globalt för AuditD, vilket orsakar en minskning av alla granskningshändelser. När begränsningen är aktiverad begränsas antalet granskade händelser till 2 500 händelser per sekund. Det här alternativet kan användas i fall där vi ser hög CPU-användning från AuditD-sidan.

Obs!

Den här funktionen finns endast för Linux.


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

Användningsexempel: sudo ./mde_support_tool.sh ratelimit -e true

Obs!

Den här funktionen bör användas noggrant eftersom begränsar antalet händelser som rapporteras av det granskade undersystemet som helhet. Detta kan också minska antalet händelser för andra prenumeranter.

AuditD hoppar över felaktiga regler

Med det här alternativet kan du hoppa över de felaktiga regler som lagts till i den granskade regelfilen när du läser in dem. Med det här alternativet kan det granskade undersystemet fortsätta läsa in regler även om det finns en felaktig regel. Det här alternativet sammanfattar resultatet av inläsningen av reglerna. I bakgrunden kör det här alternativet auditctl med -c alternativet .

Obs!

Den här funktionen är endast tillgänglig i 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.

Användningsexempel: sudo ./mde_support_tool.sh skipfaultyrules -e true

Obs!

Den här funktionen hoppar över felaktiga regler. Felaktiga regler måste identifieras och åtgärdas ytterligare.

Tips

Vill du veta mer? Engage med Microsofts säkerhetscommunity i vår Tech Community: Microsoft Defender för Endpoint Tech Community.