Partage via


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

S’applique à :

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

Cet article explique comment limiter les problèmes de performances liés à Defender pour point de terminaison sur Linux. Les outils de diagnostic sont disponibles pour vous aider à comprendre et à atténuer les pénuries de ressources et les processus existants qui affectent les performances. Ces outils de diagnostic peuvent également être utilisés pour améliorer la visibilité dans le portail Microsoft Defender. Les goulots d’étranglement dans un ou plusieurs sous-systèmes matériels entraînent principalement des problèmes de performances, 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 plus 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.

Il existe trois façons distinctes de résoudre les problèmes liés aux processus et répertoires bruyants à l’aide des outils de diagnostic de Microsoft Defender pour point de terminaison sur Linux :

  • Utilisation des statistiques de protection en temps réel
  • Utilisation de sources d’événements chauds
  • Utilisation des statistiques eBPF

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 organization gère votre appareil, votre administrateur peut désactiver la protection en temps réel en suivant les 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 également être le composant EDR (Endpoint Detection and Response). Dans ce cas, vous devez ajouter des exclusions globales de l’antivirus et de l’EDR. Dans ce cas, suivez les étapes de la section Résoudre les problèmes de performances à l’aide de sources d’événements à chaud.

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

    mdatp diagnostic real-time-protection-statistics --sort --top 4
    

    La sortie est une liste des quatre principaux contributeurs aux problèmes de performances. Par exemple, la sortie de la commande ressemble à ce qui suit :

    =====================================
    Process id: 560
    Name: NetworkManager
    Path: "/usr/sbin/NetworkManager"
    Total files scanned: 261
    Scan time (ns): "3070788919"
    Status: Active
    =====================================
    Process id: 1709561
    Name: snapd
    Path: "/snap/snapd/23545/usr/lib/snapd/snapd"
    Total files scanned: 247
    Scan time (ns): "19926516003"
    Status: Active
    =====================================
    Process id: 596
    Name: systemd-logind
    Path: "/usr/lib/systemd/systemd-logind"
    Total files scanned: 29
    Scan time (ns): "716836547"
    Status: Active
    =====================================
    Process id: 1977683
    Name: cupsd
    Path: "/usr/sbin/cupsd"
    Total files scanned: 20
    Scan time (ns): "985110892"
    Status: Active
    =====================================
    

    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 antivirus pour celui-ci (évaluez soigneusement s’il est sûr d’exclure). 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 qui ont été 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 sources d’événements à chaud

S’applique à :

  • Problèmes de performances dans les fichiers et les exécutables qui consomment la plupart des cycles processeur dans l’ensemble du système de fichiers.

Les sources d’événements chauds sont une fonctionnalité qui permet aux clients d’identifier quel processus ou répertoire est responsable de la consommation élevée des ressources. Pour déterminer quel processus/exécutable génère le plus de bruit, procédez comme suit.

Remarque

Ces commandes nécessitent que vous disposiez d’autorisations racine. Vérifiez que sudo peut être utilisé.

Tout d’abord, case activée le niveau de journal sur votre ordinateur.

mdatp health --field log_level

S’il n’est pas sur « débogage », vous devez le modifier pour obtenir un rapport détaillé concernant les fichiers/exécutables à chaud.

sudo mdatp log level set --level debug
Log level configured successfully

Pour collecter les statistiques actuelles (pour les fichiers),

sudo mdatp diagnostic hot-event-sources files

La sortie ressemble à ce qui suit sur la console (il s’agit simplement d’un extrait de la sortie entière). Ici, la première ligne affiche le nombre (fréquence d’occurrence) et la seconde indique le chemin du fichier.

Total Events: 11179 Time: 12s. Throughput: 75.3333 events/sec. 
=========== Top 684 Hot Event Sources ===========
count   file path
2832    /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5
632     /mnt/RamDisk/postgres_data/base/635594/2601
619     /mnt/RamDisk/postgres_data/base/635597/2601
618     /mnt/RamDisk/postgres_data/base/635596/2601
618     /mnt/RamDisk/postgres_data/base/635595/2601
616     /mnt/RamDisk/postgres_data/base/635597/635610
615     /mnt/RamDisk/postgres_data/base/635596/635602
614     /mnt/RamDisk/postgres_data/base/635595/635606
514     /mnt/RamDisk/postgres_data/base/635594/635598_fsm
496     /mnt/RamDisk/postgres_data/base/635597/635610_fsm

Cette commande génère un rapport source d’événements chauds qui est enregistré dans votre dossier local qui peut être examiné plus en détail. La sortie se présente comme suit sur le fichier json ;

{
    "startTime": "1729535104539160",
    "endTime": "1729535117570766",
    "totalEvent": "11373",
    "eventSource": [
        {
            "authCount": "2832",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5",
            "pidCount": "1",
            "teamId": ""
        },
        {
            "authCount": "632",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/base/635594/2601",
            "pidCount": "1",
            "teamId": ""
        }
    ]
}

Dans l’exemple, nous pouvons voir que le fichier /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 génère le plus d’activité. De même, pour les exécutables,

sudo mdatp diagnostic hot-event-sources executables

La sortie ressemble à ce qui suit sur la console.

Total Events: 47382 Time: 18s. Throughput: 157 events/sec.
=========== Top 23 Hot Event Sources ===========
count    executable path
8216    /usr/lib/postgresql/12/bin/psql
5721    /usr/lib/postgresql/12/bin/postgres (deleted)
3557    /usr/bin/bash
378     /usr/bin/clamscan
88      /usr/bin/sudo
70      /usr/bin/dash
30      /usr/sbin/zabbix_agent2
10      /usr/bin/grep
8       /usr/bin/gawk
6       /opt/microsoft/mdatp/sbin/wdavdaemonclient
4       /usr/bin/sleep

Il s’agit de la sortie enregistrée dans le rapport source d’événements chauds dans json ;

{
    "startTime": "1729534260988396",
    "endTime": "1729534280026883",
    "totalEvent": "48165",
    "eventSource": [
        {
            "authCount": "8126",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/psql",
            "pidCount": "2487",
            "teamId": ""
        },
        {
            "authCount": "5127",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/postgres",
            "pidCount": "2144",
            "teamId": ""
        }
    ]
}

Dans cet exemple, après 18s, la commande indique que les exécutables ; /usr/lib/postgresql/12/bin/psql et /usr/lib/postgresql/12/bin/postgres génèrent le plus d’activité.

Une fois que vous avez terminé l’examen, vous pouvez remplacer le niveau du journal par « informations ».

sudo mdatp log level set --level info
Log level configured successfully

Pour améliorer les performances de Defender pour point de terminaison sur Linux, localisez le chemin d’accès avec le nombre le plus élevé dans la ligne de comptage et ajoutez une exclusion de processus global (s’il s’agit d’un fichier exécutable) ou une exclusion globale de fichier/dossier (s’il s’agit d’un fichier) pour celui-ci (évaluez soigneusement s’il est sûr d’exclure). Pour plus d’informations, consultez Configurer et valider des exclusions pour Defender pour point de terminaison sur Linux.

Résoudre les problèmes de performances à l’aide des statistiques eBPF

S’applique à :

  • Tous les événements de fichier/processus, y compris les problèmes de performances basés sur les appels système.

La commande de statistiques eBPF (extended Berkeley Packet Filter) fournit des insights sur le principal événement/processus qui génère le plus d’événements de fichier, ainsi que leurs ID syscall. Lorsque des appels système sont effectués à partir du système, une grande quantité de charge de travail est générée sur votre système. Les statistiques eBPF peuvent être utilisées pour identifier ces problèmes.

Pour collecter les statistiques actuelles à l’aide des statistiques eBPF, exécutez :

mdatp diagnostic ebpf-statistics

La sortie est directement affichée sur la console et ressemble à ce qui suit (il ne s’agit que d’un extrait de la sortie entière) :

Top initiator paths:
/usr/lib/postgresql/12/bin/psql : 902
/usr/bin/clamscan : 349
/usr/sbin/zabbix_agent2 : 27
/usr/lib/postgresql/12/bin/postgres : 10

Top syscall ids:
80 : 9034
57 : 8932
60 : 8929
59 : 4942
112 : 4898
90 : 179
87 : 170
119 : 32
288 : 19
41 : 15

Cette commande surveille le système pendant 20 secondes et affiche les résultats. Ici, le chemin d’accès de l’initiateur principal (postgresql/12/bin/psql) montre le chemin du processus qui a généré le plus d’appels système.

Pour améliorer les performances de Defender pour point de terminaison sur Linux, localisez celui qui a le plus haut count dans la Top initiator path ligne et ajoutez une exclusion de processus globale pour celui-ci (évaluez soigneusement s’il est sûr d’exclure). Pour plus d’informations, consultez Configurer et valider des exclusions pour Defender pour point de terminaison sur 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.

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.