Partager via


Résoudre les problèmes de performances pour Microsoft Defender pour point de terminaison sur Linux

Vous voulez découvrir Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.

Ce document fournit des instructions sur la façon de limiter les problèmes de performances liés à Defender pour point de terminaison sur Linux à l’aide des outils de diagnostic disponibles pour comprendre et atténuer les pénuries de ressources existantes et les processus qui rendent le système dans de telles situations. Les problèmes de performances sont principalement causés par des goulots d’étranglement dans un ou plusieurs sous-systèmes matériels, en fonction du profil d’utilisation des ressources sur le système. Parfois, les applications sont sensibles aux ressources d’E/S disque et peuvent nécessiter davantage de capacité processeur, et parfois certaines configurations ne sont pas durables et peuvent déclencher trop de nouveaux processus et ouvrir trop de descripteurs de fichiers.

Selon les applications que vous exécutez et les caractéristiques de votre appareil, vous pouvez rencontrer des performances non optimales lors de l’exécution de Defender pour point de terminaison sur Linux. En particulier, les applications ou les processus système qui accèdent à de nombreuses ressources telles que le processeur, le disque et la mémoire sur une courte période peuvent entraîner des problèmes de performances dans Defender pour point de terminaison sur Linux.

Avertissement

Avant de commencer, vérifiez que les autres produits de sécurité ne sont pas en cours d’exécution sur l’appareil. Plusieurs produits de sécurité peuvent entrer en conflit et avoir un impact sur les performances de l’hôte.

Résoudre les problèmes de performances à l’aide des statistiques de protection en temps réel

S’applique à :

  • Seuls les problèmes de performances liés à l’antivirus

La protection en temps réel (RTP) est une fonctionnalité de Defender pour point de terminaison sur Linux qui surveille et protège en permanence votre appareil contre les menaces. Il se compose de la surveillance des fichiers et des processus et d’autres heuristiques.

Les étapes suivantes peuvent être utilisées pour résoudre et atténuer ces problèmes :

  1. Désactivez la protection en temps réel à l’aide de l’une des méthodes suivantes et observez si les performances s’améliorent. Cette approche permet de déterminer si Defender pour point de terminaison sur Linux contribue aux problèmes de performances. Si votre appareil n’est pas géré par votre organization, la protection en temps réel peut être désactivée à partir de la ligne de commande :

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

    Si votre appareil est géré par votre organization, la protection en temps réel peut être désactivée par votre administrateur à l’aide des instructions fournies dans Définir les préférences pour Defender pour point de terminaison sur Linux.

    Remarque

    Si le problème de performances persiste alors que la protection en temps réel est désactivée, l’origine du problème peut être le composant EDR (Endpoint Detection and Response). Dans ce cas, suivez les étapes de la section Résoudre les problèmes de performances à l’aide de Microsoft Defender pour point de terminaison Analyseur client de cet article.

  2. Pour trouver les applications qui déclenchent le plus d’analyses, vous pouvez utiliser les statistiques en temps réel collectées par Defender pour point de terminaison sur Linux.

    Remarque

    Cette fonctionnalité est disponible dans la version 100.90.70 ou ultérieure.

    Cette fonctionnalité est activée par défaut sur les Dogfood canaux et InsiderFast . Si vous utilisez un autre canal de mise à jour, cette fonctionnalité peut être activée à partir de la ligne de commande :

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

    Cette fonctionnalité nécessite l’activation de la protection en temps réel. Pour case activée la status de la protection en temps réel, exécutez la commande suivante :

    mdatp health --field real_time_protection_enabled
    

    Vérifiez que l’entrée real_time_protection_enabled est true. Sinon, exécutez la commande suivante pour l’activer :

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

    Pour collecter les statistiques actuelles, exécutez :

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

    Remarque

    L’utilisation --output json de (notez le tiret double) garantit que le format de sortie est prêt pour l’analyse.

    La sortie de cette commande affiche tous les processus et l’activité d’analyse associée.

  3. Sur votre système Linux, téléchargez l’exemple d’analyseur Python high_cpu_parser.py à l’aide de la commande :

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

    La sortie de cette commande doit ressembler à ce qui suit :

    --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. Tapez les commandes suivantes :

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

    La sortie de ce qui précède est une liste des principaux contributeurs aux problèmes de performances. La première colonne est l’identificateur de processus (PID), la deuxième colonne est le nom du processus et la dernière colonne correspond au nombre de fichiers analysés, triés par impact. Par exemple, la sortie de la commande ressemble à ce qui suit :

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

    Pour améliorer les performances de Defender pour point de terminaison sur Linux, localisez celui dont le nombre est le plus élevé sous la Total files scanned ligne et ajoutez une exclusion pour celui-ci. Pour plus d’informations, consultez Configurer et valider des exclusions pour Defender pour point de terminaison sur Linux.

    Remarque

    L’application stocke les statistiques en mémoire et effectue uniquement le suivi de l’activité des fichiers depuis son démarrage et l’activation de la protection en temps réel. Les processus lancés avant ou pendant les périodes où la protection en temps réel était désactivée ne sont pas pris en compte. En outre, seuls les événements qui ont déclenché des analyses sont comptabilisés.

Résoudre les problèmes de performances à l’aide de Microsoft Defender pour point de terminaison Client Analyzer

S’applique à :

  • Problèmes de performances de tous les composants Defender pour point de terminaison disponibles tels que AV et EDR

L’analyseur client Microsoft Defender pour point de terminaison (MDECA) peut collecter des traces, des journaux et des informations de diagnostic afin de résoudre les problèmes de performances sur les appareils intégrés sur Linux.

Remarque

  • L’outil analyseur client Microsoft Defender pour point de terminaison est régulièrement utilisé par les services de support technique Microsoft (CSS) pour collecter des informations telles que (mais sans s’y limiter) des adresses IP et des noms de PC qui vous aideront à résoudre les problèmes que vous pouvez rencontrer avec Microsoft Defender pour point de terminaison. Pour plus d’informations sur notre déclaration de confidentialité, consultez Déclaration de confidentialité Microsoft.
  • En règle générale, il est recommandé de mettre à jour l’agent Microsoft Defender pour point de terminaison vers la dernière version disponible et de confirmer que le problème persiste avant de poursuivre l’examen.

Pour exécuter l’analyseur client afin de résoudre les problèmes de performances, consultez Exécuter l’analyseur client sur macOS et Linux.

Configurer des exclusions globales pour de meilleures performances

Configurez Microsoft Defender pour point de terminaison sur Linux avec des exclusions pour les processus ou les emplacements de disque qui contribuent aux problèmes de performances. Pour plus d’informations, consultez Configurer et valider les exclusions pour Microsoft Defender pour point de terminaison sur Linux. Si vous rencontrez toujours des problèmes de performances, contactez le support pour obtenir des instructions supplémentaires et des mesures d’atténuation.

Résoudre les problèmes de performances AuditD

Arrière-plan:

  • Microsoft Defender pour point de terminaison sur les distributions de système d’exploitation Linux utilise l’infrastructure AuditD pour collecter certains types d’événements de télémétrie.

  • Les événements système capturés par les règles ajoutées à /etc/audit/rules.d/ s’ajoutent à audit.log et peuvent affecter l’audit de l’hôte et la collecte amont.

  • Les événements ajoutés par Microsoft Defender pour point de terminaison sur Linux seront marqués avec mdatp la clé.

  • Si le service AuditD est mal configuré ou hors connexion, certains événements peuvent être manquants. Pour résoudre ce problème, reportez-vous à : Résoudre les problèmes d’événements ou d’alertes manquants pour Microsoft Defender pour point de terminaison sur Linux.

Dans certaines charges de travail de serveur, deux problèmes peuvent être observés :

  • High CPU consommation de ressources à partir du mdatp_audisp_plugin processus.

  • /var/log/audit/audit.log devenir volumineux ou pivoter fréquemment.

Ces problèmes peuvent se produire sur les serveurs avec de nombreux événements qui inondent AuditD. De tels problèmes peuvent survenir s’il existe plusieurs consommateurs pour AuditD, ou un trop grand nombre de règles avec la combinaison de Microsoft Defender pour point de terminaison et de consommateurs tiers, ou une charge de travail élevée qui génère un grand nombre d’événements. Pour résoudre ces problèmes, commencez par collecter les journaux MDEClientAnalyzer sur l’exemple de serveur affecté.

Nous vous recommandons de configurer les journaux AuditD pour qu’ils effectuent une rotation lorsque la limite de taille de fichier maximale est atteinte. Cette configuration empêche l’accumulation des journaux AuditD dans un seul fichier, et les fichiers journaux pivotés peuvent être déplacés pour économiser de l’espace disque. Pour ce faire, vous pouvez définir la valeur de sur max_log_file_actionrotate dans le fichier auditd.conf .

Remarque

En règle générale, il est recommandé de mettre à jour l’agent Microsoft Defender pour point de terminaison vers la dernière version disponible et de confirmer que le problème persiste avant de poursuivre l’examen. Qu’il existe des configurations supplémentaires qui peuvent affecter la contrainte du processeur du sous-système AuditD. Plus précisément, dans auditd.conf, la valeur de disp_qos peut être définie sur lossy pour réduire la consommation élevée du processeur. Toutefois, cela signifie que certains événements peuvent être supprimés pendant la consommation maximale du processeur.

XMDEClientAnalyzer

Lorsque vous utilisez XMDEClientAnalyzer, les fichiers suivants affichent une sortie qui fournit des insights pour vous aider à résoudre les problèmes.

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

Contient la configuration AuditD générale et affiche les informations suivantes :

  • Quels processus sont inscrits en tant que consommateurs AuditD.

  • Auditctl -s sortie avec enabled=2 (suggère que auditd est en mode immuable (nécessite un redémarrage pour que toutes les modifications de configuration prennent effet.)

  • Auditctl -loutput (Affiche les règles actuellement chargées dans le noyau, qui peuvent différer de ce qui existe sur le disque dans /etc/auditd/rules.d/mdatp.rules. Indique également quelles règles sont liées à Microsoft Defender pour point de terminaison.)

auditd_log_analysis.txt

Contient des informations agrégées importantes qui sont utiles lors de l’examen des problèmes de performances AuditD.

  • Quel composant possède les événements les plus signalés (Microsoft Defender pour point de terminaison événements seront marqués avec key=mdatp).

  • Principaux initiateurs de rapports.

  • Appels système les plus courants (événements réseau ou système de fichiers, etc.).

  • Quels chemins de système de fichiers sont les plus bruyants.

Pour atténuer la plupart des problèmes de performances AuditD, vous pouvez implémenter l’exclusion AuditD. Si les exclusions données n’améliorent pas les performances, nous pouvons utiliser l’option limiteur de débit. Cela réduira complètement le nombre d’événements générés par AuditD.

Remarque

Les exclusions doivent être effectuées uniquement pour les initiateurs ou les chemins à faible risque et à bruit élevé. Par exemple, n’excluez pas /bin/bash, ce qui risque de créer un grand angle mort. Erreurs courantes à éviter lors de la définition des exclusions.

Types d’exclusion

L’outil de prise en charge de XMDEClientAnalyzer contient une syntaxe qui peut être utilisée pour ajouter des règles de configuration d’exclusion AuditD.

Exclusion AuditD : aide sur la syntaxe de l’outil de support :

syntaxe qui peut être utilisée pour ajouter des règles de configuration d’exclusion AuditD

Par initiateur

  • -e/ -exe chemin > binaire complet Supprime tous les événements de cet initiateur

Par chemin d’accès

  • -d / -dir chemin d’accès complet à un répertoire > Supprime les événements de système de fichiers ciblant ce répertoire

Exemples :

Si /opt/app/bin/app écrit dans /opt/app/cfg/logs/1234.log, vous pouvez utiliser l’outil de support pour exclure avec différentes options :

-e /opt/app/bin/app

-d /opt/app/cfg

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

-d /usr/app/bin/

Autres exemples :

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

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

Pour exclure plusieurs éléments, concaténer les exclusions en une seule ligne :

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

L’indicateur -x est utilisé pour exclure l’accès aux sous-répertoires par des initiateurs spécifiques, par exemple :

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

L’option ci-dessus exclut la surveillance du sous-dossier /tmp lorsqu’elle est accessible par le processus mv.

Limiteur de débit

L’outil de prise en charge XMDEClientAnalyzer contient une syntaxe qui peut être utilisée pour limiter le nombre d’événements signalés par le plug-in auditD. Cette option définit la limite de débit globale pour AuditD, ce qui entraîne une baisse de tous les événements d’audit.

Remarque

Cette fonctionnalité doit être utilisée avec soin pour limiter le nombre d’événements signalés par le sous-système audité dans son ensemble. Cela peut également réduire le nombre d’événements pour d’autres abonnés.

L’option ratelimit peut être utilisée pour activer/désactiver cette limite de débit.

Activer: ./mde_support_tool.sh ratelimit -e true

Désactiver: ./mde_support_tool.sh ratelimit -e false

Lorsque la limite de débit est activée, une règle est ajoutée dans AuditD pour gérer 2500 événements/s.

Remarque

Contactez le support Microsoft si vous avez besoin d’aide pour analyser et atténuer les problèmes de performances liés à AuditD, ou pour déployer des exclusions AuditD à grande échelle.

Voir aussi

Conseil

Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.