Solución de problemas de rendimiento para Microsoft Defender para punto de conexión en Linux
¿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 los problemas de rendimiento relacionados con el antivirus
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:
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.
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 yInsiderFast
. 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 estrue
. 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 muestra todos los procesos y su actividad de examen asociada.
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
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.
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.
Configuración de exclusiones globales para mejorar el rendimiento
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. Para más información, consulte Configurar y validar exclusiones de Microsoft Defender para punto de conexión en Linux. Si todavía tiene problemas de rendimiento, 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:
High CPU
consumo de recursos delmdatp_audisp_plugin
proceso./var/log/audit/audit.log
que se convierten en grandes o rotaciones frecuentes.
Estos problemas pueden producirse en servidores con muchos eventos que inundan AuditD. Estos problemas pueden surgir 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.
Como procedimiento recomendado, se recomienda configurar los registros AuditD para girar cuando se alcance el límite máximo de tamaño de archivo. Esta configuración impide que los registros AuditD se acumule en un solo archivo y los archivos de registro girados se pueden mover para ahorrar espacio en disco. Para ello, puede establecer el valor de en max_log_file_action
rotate
en en el archivo auditd.conf .
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 se puede establecer lossy
en para disp_qos
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 muestra la siguiente información:
Qué procesos se registran como consumidores auditados.
Auditctl -s
output withenabled=2
(Sugiere que auditada está en modo inmutable (requiere reiniciar para que los cambios de configuración surtan efecto).Auditctl -l
output (Muestra qué reglas se cargan actualmente en el kernel, que podrían diferir de lo que existe en el disco en/etc/auditd/rules.d/mdatp.rules
. También se muestran las reglas 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:
Por iniciador
-
-e/ -exe
ruta de acceso > binaria completa 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
Inutilizar: ./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.
Vea 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.