Share via


Solución de problemas de rendimiento para Microsoft Defender para punto de conexión en Linux

Se aplica a:

¿Quiere experimentar Defender para punto de conexión? Regístrese para obtener una prueba gratuita.

En este documento se proporcionan instrucciones sobre cómo reducir los problemas de rendimiento relacionados con Defender para punto de conexión en Linux mediante las herramientas de diagnóstico disponibles para poder comprender y mitigar la escasez de recursos existente y los procesos que hacen que el sistema se encuentre en tales situaciones. Los problemas de rendimiento se deben principalmente a cuellos de botella en uno o varios subsistemas de hardware, en función del perfil de uso de recursos en el sistema. A veces, las aplicaciones son sensibles a los recursos de E/S de disco y pueden necesitar más capacidad de CPU, y a veces algunas configuraciones no son sostenibles y pueden desencadenar demasiados procesos nuevos y abrir demasiados descriptores de archivo.

En función de las aplicaciones que esté ejecutando y de las características del dispositivo, puede experimentar un rendimiento poco óptimo al ejecutar Defender para punto de conexión en Linux. En concreto, las aplicaciones o los procesos del sistema que acceden a muchos recursos, como CPU, disco y memoria a través de un intervalo de tiempo corto, pueden provocar problemas de rendimiento en Defender para punto de conexión en Linux.

Advertencia

Antes de comenzar, asegúrese de que otros productos de seguridad no se ejecutan actualmente en el dispositivo. Varios productos de seguridad pueden entrar en conflicto e afectar al rendimiento del host.

Solución de problemas de rendimiento mediante estadísticas de protección en tiempo real

Se aplica a:

  • Solo problemas de rendimiento relacionados con AV

La protección en tiempo real (RTP) es una característica de Defender para punto de conexión en Linux que supervisa y protege continuamente el dispositivo frente a amenazas. Consta de supervisión de archivos y procesos y otras heurísticas.

Los pasos siguientes se pueden usar para solucionar y mitigar estos problemas:

  1. Deshabilite la protección en tiempo real mediante uno de los métodos siguientes y observe si el rendimiento mejora. Este enfoque ayuda a restringir si Defender para punto de conexión en Linux está contribuyendo a los problemas de rendimiento.

    Si su organización no administra el dispositivo, la protección en tiempo real se puede deshabilitar desde la línea de comandos:

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    Si su organización administra el dispositivo, el administrador puede deshabilitar la protección en tiempo real mediante las instrucciones de Establecimiento de preferencias para Defender para punto de conexión en Linux.

    Nota:

    Si el problema de rendimiento persiste mientras la protección en tiempo real está desactivada, el origen del problema podría ser el componente de detección y respuesta de puntos de conexión (EDR). En este caso, siga los pasos de la sección Solución de problemas de rendimiento mediante Microsoft Defender para punto de conexión Analizador de cliente de este artículo.

  2. Para buscar las aplicaciones que desencadenan la mayoría de los exámenes, puede usar estadísticas en tiempo real recopiladas por Defender para punto de conexión en Linux.

    Nota:

    Esta característica está disponible en la versión 100.90.70 o posterior.

    Esta característica está habilitada de forma predeterminada en los Dogfood canales y InsiderFast . Si usa un canal de actualización diferente, esta característica se puede habilitar desde la línea de comandos:

    mdatp config real-time-protection-statistics --value enabled
    

    Esta característica requiere que se habilite la protección en tiempo real. Para comprobar el estado de la protección en tiempo real, ejecute el siguiente comando:

    mdatp health --field real_time_protection_enabled
    

    Compruebe que la real_time_protection_enabled entrada es true. De lo contrario, ejecute el siguiente comando para habilitarlo:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

    Para recopilar estadísticas actuales, ejecute:

    mdatp diagnostic real-time-protection-statistics --output json
    

    Nota:

    El uso --output json de (tenga en cuenta el guion doble) garantiza que el formato de salida esté listo para el análisis.

    La salida de este comando mostrará todos los procesos y su actividad de examen asociada.

  3. En el sistema Linux, descargue el analizador de Python de ejemplo high_cpu_parser.py mediante el comando :

    wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
    

    La salida de este comando debe ser similar a la siguiente:

    --2020-11-14 11:27:27-- https://raw.githubusercontent.com/microsoft.mdatp-xplat/master/linus/diagnostic/high_cpu_parser.py
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.xxx.xxx
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)| 151.101.xxx.xxx| :443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1020 [text/plain]
    Saving to: 'high_cpu_parser.py'
    100%[===========================================>] 1,020    --.-K/s   in 0s
    
  4. A continuación, escriba los siguientes comandos:

    mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
    

    La salida de la anterior es una lista de los principales colaboradores de los problemas de rendimiento. La primera columna es el identificador de proceso (PID), la segunda columna es el nombre del proceso y la última columna es el número de archivos escaneados, ordenados por impacto. Por ejemplo, la salida del comando será similar a la siguiente:

    ... > mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py | head
    27432 None 76703
    73467 actool    1249
    73914 xcodebuild 1081
    73873 bash 1050
    27475 None 836
    1    launchd     407
    73468 ibtool     344
    549  telemetryd_v1   325
    4764 None 228
    125  CrashPlanService 164
    

    Para mejorar el rendimiento de Defender para punto de conexión en Linux, busque el que tenga el número más alto bajo la Total files scanned fila y agregue una exclusión para él. Para obtener más información, consulte Configuración y validación de exclusiones de Defender para punto de conexión en Linux.

    Nota:

    La aplicación almacena estadísticas en memoria y solo realiza un seguimiento de la actividad del archivo desde que se inició y se ha habilitado la protección en tiempo real. Los procesos que se iniciaron antes o durante períodos en los que la protección en tiempo real estaba desactivada no se cuentan. Además, solo se cuentan los eventos que desencadenaron exámenes.

  5. Configure Microsoft Defender para punto de conexión en Linux con exclusiones para los procesos o ubicaciones de disco que contribuyen a los problemas de rendimiento y vuelvan a habilitar la protección en tiempo real.

    Para más información, consulte Configurar y validar exclusiones de Microsoft Defender para punto de conexión en Linux.

Solución de problemas de rendimiento mediante Microsoft Defender para punto de conexión Analizador de cliente

Se aplica a:

  • Problemas de rendimiento de todos los componentes disponibles de Defender para punto de conexión, como AV y EDR

El analizador de cliente de Microsoft Defender para punto de conexión (MDECA) puede recopilar seguimientos, registros e información de diagnóstico para solucionar problemas de rendimiento en dispositivos incorporados en Linux.

Nota:

  • Los servicios de soporte al cliente (CSS) de Microsoft usan regularmente la herramienta Microsoft Defender para punto de conexión Client Analyzer para recopilar información como direcciones IP, nombres de PC que le ayudarán a solucionar problemas con los que puede estar experimentando. Microsoft Defender para punto de conexión. Para obtener más información sobre nuestra declaración de privacidad, consulte Declaración de privacidad de Microsoft.
  • Como procedimiento recomendado general, se recomienda actualizar el agente de Microsoft Defender para punto de conexión a la versión más reciente disponible y confirmar que el problema persiste antes de investigar más.

Para ejecutar el analizador de cliente para solucionar problemas de rendimiento, consulte Ejecución del analizador de cliente en macOS y Linux.

Nota:

En caso de que después de seguir los pasos anteriores, el problema de rendimiento persiste, póngase en contacto con el soporte técnico para obtener más instrucciones y mitigación.

Solución de problemas de rendimiento de AuditD

Fondo:

  • Microsoft Defender para punto de conexión en distribuciones del sistema operativo Linux usa el marco AuditD para recopilar determinados tipos de eventos de telemetría.

  • Los eventos del sistema capturados por reglas agregadas a /etc/audit/rules.d/ se agregarán a audit.log y podrían afectar a la auditoría del host y a la recopilación ascendente.

  • Los eventos agregados por Microsoft Defender para punto de conexión en Linux se etiquetarán con mdatp clave.

  • Si el servicio AuditD está mal configurado o sin conexión, es posible que falten algunos eventos. Para solucionar este problema, consulte: Solución de problemas de eventos o alertas que faltan para Microsoft Defender para punto de conexión en Linux.

En determinadas cargas de trabajo de servidor, se pueden observar dos problemas:

  • Consumo elevado de recursos de CPU de mdatp_audisp_plugin proceso.

  • /var/log/audit/audit.log convertirse en grande o en rotación frecuente.

Estos problemas pueden producirse en servidores con muchos eventos que inundan AuditD.

Nota:

Como procedimiento recomendado, se recomienda configurar los registros AuditD para girar cuando se alcance el límite máximo de tamaño de archivo.

Esto impedirá que los registros AuditD se acumule en un único archivo y los archivos de registro girados se pueden mover hacia fuera para ahorrar espacio en disco.

Para ello, puede establecer el valor de max_log_file_action para girar en el archivo auditd.conf .

Esto puede ocurrir si hay varios consumidores para AuditD, o demasiadas reglas con la combinación de Microsoft Defender para punto de conexión y consumidores de terceros, o una carga de trabajo alta que genera una gran cantidad de eventos.

Para solucionar estos problemas, empiece por recopilar registros MDEClientAnalyzer en el servidor afectado de ejemplo.

Nota:

Como procedimiento recomendado general, se recomienda actualizar el agente de Microsoft Defender para punto de conexión a la versión más reciente disponible y confirmar que el problema persiste antes de investigar más.

Que hay configuraciones adicionales que pueden afectar a la tensión de CPU del subsistema AuditD.

En concreto, en auditd.conf, el valor de disp_qos se puede establecer en "pérdida" para reducir el alto consumo de CPU.

Sin embargo, esto significa que algunos eventos pueden quitarse durante el consumo máximo de CPU.

XMDEClientAnalyzer

Al usar XMDEClientAnalyzer, los siguientes archivos mostrarán la salida que proporciona información para ayudarle a solucionar problemas.

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

Contiene la configuración general de AuditD y mostrará:

  • Qué procesos se registran como consumidores auditados.

  • Auditctl -s output with enabled=2

    • Sugiere que auditada está en modo inmutable (requiere reiniciar para que los cambios de configuración surtan efecto).
  • Auditctl -l output

    • Mostrará qué reglas se cargan actualmente en el kernel (que pueden ser diferentes de lo que existe en el disco en "/etc/auditd/rules.d/mdatp.rules").

    • Mostrará qué reglas están relacionadas con Microsoft Defender para punto de conexión.

auditd_log_analysis.txt

Contiene información agregada importante que resulta útil al investigar problemas de rendimiento de AuditD.

  • Qué componente posee los eventos más notificados (Microsoft Defender para punto de conexión eventos se etiquetarán con key=mdatp).

  • Los principales iniciadores de informes.

  • Las llamadas del sistema más comunes (eventos de red o sistema de archivos, entre otros).

  • Qué rutas de acceso del sistema de archivos son las más ruidosas.

Para mitigar la mayoría de los problemas de rendimiento de AuditD, puede implementar la exclusión de AuditD. Si las exclusiones dadas no mejoran el rendimiento, podemos usar la opción de limitador de velocidad. Esto reducirá por completo el número de eventos generados por AuditD.

Nota:

Las exclusiones solo se deben realizar para los iniciadores o rutas de acceso de baja amenaza y alto ruido. Por ejemplo, no excluya /bin/bash, que corre el riesgo de crear un punto ciego grande. Errores comunes que se deben evitar al definir exclusiones.

Tipos de exclusión

La herramienta de compatibilidad XMDEClientAnalyzer contiene la sintaxis que se puede usar para agregar reglas de configuración de exclusión AuditD:

Exclusión de AuditD: ayuda de la sintaxis de la herramienta de soporte técnico:

sintaxis que se puede usar para agregar reglas de configuración de exclusión auditada

Por iniciador

  • -e/ -exe full binary path > Quita todos los eventos de este iniciador

Por ruta de acceso

  • -d/ -dir ruta de acceso completa a un directorio > Quita los eventos del sistema de archivos destinados a este directorio

Ejemplos:

Si "/opt/app/bin/app" escribe en "/opt/app/cfg/logs/1234.log", puede usar la herramienta de soporte técnico para excluir con varias opciones:

-e /opt/app/bin/app

-d /opt/app/cfg

-x /usr/bin/python /etc/usercfg

-d /usr/app/bin/

Más ejemplos:

./mde_support_tool.sh exclude -p <process id>

./mde_support_tool.sh exclude -e <process name>

Para excluir más de un elemento, concatene las exclusiones en una línea:

./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>

La marca -x se usa para excluir el acceso a subdirectorios por parte de iniciadores específicos, por ejemplo:

./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp

Lo anterior excluirá la supervisión de la subcarpeta /tmp, cuando el proceso mv acceda a ella.

Limitador de velocidad

La herramienta de compatibilidad XMDEClientAnalyzer contiene la sintaxis que se puede usar para limitar el número de eventos notificados por el complemento auditD. Esta opción establecerá el límite de velocidad globalmente para AuditD, lo que provocará una caída en todos los eventos de auditoría.

Nota:

Esta funcionalidad debe usarse cuidadosamente, ya que limita el número de eventos notificados por el subsistema auditado en su conjunto. Esto también podría reducir el número de eventos para otros suscriptores.

La opción ratelimit se puede usar para habilitar o deshabilitar este límite de velocidad.

Habilitar: ./mde_support_tool.sh ratelimit -e true

Desactivar: ./mde_support_tool.sh ratelimit -e false

Cuando el límite de frecuencia está habilitado, se agregará una regla en AuditD para controlar 2500 eventos por segundo.

Nota:

Póngase en contacto con el soporte técnico de Microsoft si necesita ayuda para analizar y mitigar problemas de rendimiento relacionados con AuditD, o con la implementación de exclusiones auditadas a escala.

Consulte también

Sugerencia

¿Desea obtener más información? Engage con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.