Ejecute el analizador de cliente en Linux

Si tiene problemas con Microsoft Defender para punto de conexión en Linux y necesita soporte técnico, es posible que se le pida que proporcione la salida de la herramienta Analizador de cliente. Se trata de una herramienta de diagnóstico que ayuda a los administradores y equipos de soporte técnico a solucionar problemas con Microsoft Defender para punto de conexión. Recopila información detallada sobre la instalación, configuración, estado del servicio, registros, estado de conectividad, etc. Esta herramienta se usa principalmente para comprobar el estado del sistema, validar configuraciones y ayudar a solucionar posibles problemas.

Puedes recopilar diagnósticos de Client Analyzer de cualquiera de estas formas:

  1. Línea de comandos: Ejecutar el Analizador de clientes localmente en el propio dispositivo. Consulta ejecutar la versión binaria del analizador de cliente o ejecutar el analizador de cliente basado en Python.

  2. Respuesta activa: ejecute Client Analyzer de forma remota durante una sesión de respuesta activa. Ver use-live-response-to-collect-diagnostics-log

  3. Paquete de investigación: Recopila un paquete de investigación desde la página del dispositivo en el portal de Microsoft Defender. En Linux, el paquete incluye diagnósticos del Client Analyzer. Consulte collect-investigation-package-from-devices

Sugerencia

Vea este vídeo para obtener información general sobre el analizador de cliente: Información general del analizador de cliente de Defender para punto de conexión

Ejecución de la versión binaria del analizador de cliente

La versión binaria del analizador de cliente está disponible de dos maneras:

  • Se incluye con Microsoft Defender para Linux
  • Se suministra como una herramienta independiente

Ejecute el archivo binario de Client Analyzer incluido con Microsoft Defender para Linux:

Nota:

A partir de la versión 101.25082.0000 de Microsoft Defender para punto de conexión, el Analizador de clientes se distribuye con un agente. Se puede encontrar en la siguiente ubicación: /opt/microsoft/mdatp/tools/client_analyzer/binary

La ejecución de esta herramienta genera un paquete de diagnóstico como un .zip archivo en el /tmp directorio.

Para ejecutar el Analizador de cliente, siga estos pasos:

  1. Vaya al directorio /opt/microsoft/mdatp/tools/client_analyzer/binary:

    cd /opt/microsoft/mdatp/tools/client_analyzer/binary
    
  2. Ejecute la herramienta con privilegios raíz para generar un paquete de diagnóstico:

    sudo ./MDESupportTool -d
    

Descarga y ejecución de la herramienta binaria independiente de Client Analyzer

Para usar el binario ClientAnalyzer independiente, complete los pasos siguientes.

  1. Descargue la herramienta XMDE Client Analyzer Binary en la máquina Linux que necesita examinar. Si usa un terminal, descargue la herramienta escribiendo el siguiente comando:

    wget --quiet -O XMDEClientAnalyzerBinary.zip "https://go.microsoft.com/fwlink/?linkid=2336125"
    
  2. Compruebe la descarga:

    echo '5F906591D33D675F14D73D5B658A796CEC7480B023B18D45C5D687713A4D4FBB XMDEClientAnalyzerBinary.zip' | sha256sum -c
    
  3. Extraiga el contenido de XMDEClientAnalyzerBinary.zip en la máquina.

    unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
    
  4. Cambie el directorio:

    cd XMDEClientAnalyzerBinary
    
  5. Se generan dos nuevos archivos ZIP:

    • SupportToolLinuxamd64Binary.zip: para dispositivos Linux x86
    • SupportToolLinuxarm64Binary.zip: para dispositivos arm Linux
  6. Descomprima el archivo ZIP específico en función de la arquitectura del sistema operativo Linux. Por ejemplo, usamos aquí el SupportToolLinuxamd64Binary.zip archivo .

    unzip -q SupportToolLinuxamd64Binary.zip
    
  7. Ejecute la herramienta con privilegios raíz para generar un paquete de diagnóstico:

    sudo ./MDESupportTool -d
    

Ejecución del analizador de cliente basado en Python

La versión de Python del analizador de cliente está disponible de dos maneras:

  • Se incluye con Microsoft Defender para Linux
  • Se suministra como una herramienta independiente

Nota:

  • El analizador depende de algunos paquetes PIP adicionales (decorator, sh, distro, lxmly psutil) que se instalan en el sistema operativo cuando están en la raíz para generar la salida del resultado. Si no está instalado, el analizador intenta capturarlo del repositorio oficial de paquetes de Python.
  • Además, la herramienta requiere actualmente la versión 3 de Python o posterior para instalarse en el dispositivo.
  • A partir de Client Analyzer para MDE Linux versión 1.7.0, está disponible la compatibilidad con la ejecución del analizador de cliente basado en Python en un entorno virtual de Python (venv). El uso de un entorno virtual es opcional y no es necesario.
  • Si el dispositivo está detrás de un proxy, puede pasar el servidor proxy como variable de entorno al script mde_support_tool.sh. Por ejemplo: https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh".

Advertencia

La ejecución del analizador de cliente basado en Python requiere la instalación de paquetes PIP, lo que podría causar algunos problemas en el entorno. Para evitar que se produzcan problemas, se recomienda instalar los paquetes en un entorno PIP de usuario.

Ejecución de la versión de Python del Analizador de clientes que se incluye con Microsoft Defender para Linux

Nota:

A partir de la versión 101.25082.0000 de Defender para punto de conexión, el Analizador de clientes se distribuye con un agente. Se puede encontrar en la siguiente ubicación: /opt/microsoft/mdatp/tools/client_analyzer/python

Para ejecutar este analizador de cliente, siga estos pasos:

  1. Vaya al directorio /opt/microsoft/mdatp/tools/client_analyzer/python:

    cd /opt/microsoft/mdatp/tools/client_analyzer/python
    
  2. Ejecute con privilegios raíz para instalar las dependencias necesarias.

    sudo ./mde_support_tool.sh
    
  3. Para recopilar el paquete de diagnóstico y generar el archivo comprimido de resultados, vuelva a ejecutar el comando con privilegios de superusuario.

    sudo ./mde_support_tool.sh -d
    

Descarga y ejecución de la versión de Python independiente de Client Analyzer

  1. Descargue la herramienta XMDE Client Analyzer en la máquina Linux que necesita investigar. Si usa un terminal, descargue la herramienta escribiendo el siguiente comando:

    wget --quiet -O XMDEClientAnalyzerPython.zip "https://go.microsoft.com/fwlink/?linkid=2336046"
    
  2. Compruebe la descarga:

    echo '0B7C350A1C19E049416B1C8FB7ED857569DDCC32FB90453A3FCCD083487C0B4E XMDEClientAnalyzerPython.zip' | sha256sum -c
    
  3. Extraiga los contenidos de XMDEClientAnalyzer.zip en la máquina:

    unzip -q XMDEClientAnalyzerPython.zip -d XMDEClientAnalyzerPython
    
  4. Cambie el directorio:

    cd XMDEClientAnalyzerPython
    
  5. Conceda al ejecutable de la herramienta permiso:

    chmod a+x mde_support_tool.sh
    
  6. Ejecute como un usuario no raíz para instalar las dependencias necesarias:

    ./mde_support_tool.sh
    
  7. Para recoger el paquete de diagnóstico y generar el archivo comprimido de resultados, vuelva a ejecutarlo con privilegios de root:

    sudo ./mde_support_tool.sh -d
    

Sugerencia

Vea este vídeo para obtener más información sobre los problemas de incorporación: Problemas de incorporación del analizador de clientes de Defender para Endpoint

Opciones de línea de comandos

El analizador de cliente proporciona las siguientes opciones de línea 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 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

El modo de diagnóstico se usa para recopilar un amplio conjunto de información de la máquina, como registros de memoria, disco y MDATP. Este conjunto de archivos proporciona el conjunto principal de información necesaria para depurar cualquier problema relacionado con Defender para punto de conexión.

Las opciones admitidas son las siguientes:


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

Ejemplo de uso: sudo ./MDESupportTool -d

Nota:

La función de restablecimiento automático del nivel de registro solo está disponible en la versión 101.24052.0002 o posteriores del agente.

Los archivos generados al usar este modo se resumen en la tabla siguiente:

Archivo Observaciones
mde_diagnostic.zip Registros y configuraciones de Defender for Endpoint
health.txt El estado de salud de Defender para punto de conexión
(Presente solo cuando Defender for Endpoint está instalado)
health_details_features.txt Estado de otras funcionalidades de Defender for Endpoint
(Presente solo cuando Defender for Endpoint está instalado)
permissions.txt Problemas de permisos con las carpetas que pertenecen a Defender for Endpoint o que este usa
(Presente solo cuando Defender for Endpoint está instalado)
crashes Volcados de memoria tras un bloqueo generados por Defender para punto de conexión
process_information.txt Proceso que se ejecuta en la máquina cuando se ejecutó la herramienta
proc_directory_info.txt Mapa de la memoria virtual de los procesos de Defender for Endpoint
(Presente solo cuando Defender for Endpoint está instalado)
auditd_info.txt Estado de Auditd, reglas, registros
auditd_log_analysis.txt Resumen de eventos procesados por auditd
auditd_logs.zip Archivos de registro auditados
ebpf_kernel_config.txt Configuración del kernel Linux cargada actualmente
ebpf_enabled_func.txt Lista de todas las funciones de kernel que están habilitadas actualmente para el seguimiento
ebpf_syscalls.zip Información sobre el seguimiento de llamadas del sistema
ebpf_raw_syscalls.zip Seguimiento de eventos relacionados con llamadas al sistema sin procesar
ebpf_maps_info.txt Información sobre el identificador y el tamaño de los mapas eBPF
syslog.zip Los archivos de /var/log/syslog
messages.zip Los archivos de /var/log/messages
conflicting_processes_information.txt Procesos en conflicto de Defender para punto de conexión
exclusions.txt Lista de exclusiones de antivirus
definitions.txt Información de definición de antivirus
mde_directories.txt Lista de archivos en los directorios de Defender para punto de conexión
disk_usage.txt Detalles de uso del disco
mde_user.txt Información de usuario de Defender para punto de conexión
mde_definitions_mount.txt Punto de montaje de definiciones de Defender para punto de conexión
service_status.txt Estado del servicio Defender para punto de conexión
service_file.txt Archivo del servicio de Defender para punto de conexión
hardware_info.txt Información de hardware
mount.txt Información del punto de montaje
uname.txt Información del kernel
memory.txt Información de memoria del sistema
meminfo.txt Información detallada sobre el uso de memoria del sistema
cpuinfo.txt Información de CPU
lsns_info.txt Información del espacio de nombres de Linux
lsof.txt Información sobre descriptores de archivos abiertos de Defender for Endpoint
(vea la nota después de esta tabla)
sestatus.txt Información sobre descriptores de archivo abiertos de Defender for Endpoint
lsmod.txt Estado de los módulos en el kernel de Linux
dmesg.txt Mensajes del búfer circular del kernel
kernel_lockdown.txt Información sobre el bloqueo del núcleo
rtp_statistics.txt Estadísticas de la protección en tiempo real (RTP) de Defender for Endpoint
(Presente solo cuando Defender for Endpoint está instalado)
libc_info.txt información de biblioteca libc
uptime_info.txt Hora desde el último reinicio
last_info.txt Lista de los últimos usuarios que han iniciado sesión
locale_info.txt Mostrar configuración regional actual
tmp_files_owned_by_mdatp.txt Archivos /tmp propiedad del grupo: mdatp
(Presente solo cuando Defender for Endpoint está instalado)
mdatp_config.txt Todas las configuraciones de Defender for Endpoint
(Presente solo cuando Defender for Endpoint está instalado)
mpenginedb.db
mpenginedb.db-wal
mpenginedb.db-shm
Archivo de definiciones de antivirus
(Presente solo cuando Defender for Endpoint está instalado)
iptables_rules.txt Reglas de iptables en Linux
network_info.txt Información de red
sysctl_info.txt información de configuración del kernel
hostname_diagnostics.txt Información de diagnóstico del nombre de host
mde_event_statistics.txt Estadísticas de eventos de Defender para punto de conexión
(Presente solo cuando Defender for Endpoint está instalado)
mde_ebpf_statistics.txt Estadísticas de eBPF de Defender para punto de conexión
(Presente solo cuando Defender for Endpoint está instalado)
kernel_logs.zip Registros del núcleo
mdc_log.zip Microsoft Defender para registros en la nube
netext_config.txt
threat_list.txt Lista de amenazas detectadas por Defender para punto de conexión
(Presente solo cuando Defender for Endpoint está instalado)
top_output.txt Proceso que se ejecuta en la máquina cuando se ejecutó la herramienta
top_summary.txt Análisis de uso de cpu y memoria del proceso en ejecución

Argumentos opcionales para el Analizador de cliente

Client Analyzer proporciona los siguientes argumentos opcionales para la recopilación de datos adicional:

Recopilación de información de rendimiento

Recopilar trazas exhaustivas del rendimiento del dispositivo de los procesos de Defender for Endpoint para analizar un escenario de rendimiento que pueda reproducirse bajo demanda.

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

Ejemplo de uso: sudo ./MDESupportTool performance --frequency 500

Este modo genera el siguiente archivo:

Archivo Observaciones
perf_benchmark.tar.gz Defender for Endpoint procesa datos de rendimiento

Nota:

También se generan los archivos correspondientes al modo de diagnóstico.

El tar contiene archivos con el formato <pid of a MDE process>.data. El archivo de datos se puede leer mediante el comando :

perf report -i <pid>.data

Ejecución de una prueba de conectividad

Este modo comprueba si los recursos en la nube necesarios para Defender for Endpoint son accesibles o no.


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

Ejemplo de uso:

sudo ./MDESupportTool connectivitytest -o ~/MicrosoftDefenderATPOnboardingLinuxServer.py`

La salida impresa en la pantalla muestra si las direcciones URL son accesibles o no.

Recopilación de diferentes informes de instalación e incorporación

Este modo recopila información relacionada con la instalación, como los requisitos de distribución y del 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>

Ejemplo de uso:

sudo ./MDESupportTool installation --all

Se genera un único informe installation_report.json . Las claves del archivo son las siguientes:

Clave Observaciones
agent_version Versión de Defender para punto de conexión instalada.
onboarding_status La configuración inicial y la información del tono
support_status MDE se admite con las configuraciones actuales del sistema.
distro La distribución en la que está instalado el agente es compatible o no.
connectivitytest El estado de las pruebas de conectividad.
min_requirement Se cumplen los requisitos mínimos de CPU y memoria.
external_depedency Las dependencias externas se cumplen o no.
mde_health Estado de salud del agente MDE
folder_perm Se cumplen o no los permisos de carpeta necesarios.

Modo de exclusión

Este modo agrega exclusiones para la audit-d supervisión.


  -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

Ejemplo de uso:

sudo ./MDESupportTool exclude -d /var/foo/bar`

Usar la respuesta en vivo en Defender para Endpoint para recopilar registros de soporte

El Client Analyzer puede ejecutarse durante una sesión de Live Response ya sea usando la versión que ya viene incluida con Microsoft Defender para punto de conexión en Linux, o descargando el Client Analyzer como un paquete binario o Python y extrayéndolo en el dispositivo.

  • Para la instalación, se requiere el unzip paquete.
  • Para la ejecución, se requiere el acl paquete.

Importante

Windows usa los caracteres invisibles de retorno de carro y avance de línea para representar el final de una línea y el principio de una nueva línea en un archivo. Los sistemas Linux usan solo el carácter invisible Line Feed al final de cada línea del archivo. Al utilizar los siguientes scripts, si esto se hace en Windows, esta diferencia puede provocar errores y fallos al ejecutar los scripts. Una posible solución a esto es usar el Subsistema de Windows para Linux (WSL) y el dos2unix paquete para volver a formatear el script de modo que se alinee con el estándar de formato unix y Linux.

Documentación de solución de problemas de Defender para Endpoint en Linux