Risolvere i problemi di prestazioni per Microsoft Defender per endpoint in Linux
Si applica a:
- Server di Microsoft Defender per endpoint.
- Microsoft Defender per server
Si desidera provare Microsoft Defender per endpoint? iscriversi a una versione di valutazione gratuita.
Questo documento fornisce istruzioni su come limitare i problemi di prestazioni relativi a Defender per endpoint in Linux usando gli strumenti di diagnostica disponibili per comprendere e attenuare le carenze di risorse esistenti e i processi che stanno trasformando il sistema in tali situazioni. I problemi di prestazioni sono causati principalmente da colli di bottiglia in uno o più sottosistemi hardware, a seconda del profilo di utilizzo delle risorse nel sistema. A volte le applicazioni sono sensibili alle risorse di I/O su disco e possono richiedere una maggiore capacità della CPU, a volte alcune configurazioni non sono sostenibili e possono attivare troppi nuovi processi e aprire troppi descrittori di file.
A seconda delle applicazioni in esecuzione e delle caratteristiche del dispositivo, è possibile che si verifichino prestazioni non ottimali durante l'esecuzione di Defender per endpoint in Linux. In particolare, le applicazioni o i processi di sistema che accedono a molte risorse, ad esempio CPU, disco e memoria in un breve intervallo di tempo, possono causare problemi di prestazioni in Defender per endpoint in Linux.
Avviso
Prima di iniziare, assicurarsi che altri prodotti di sicurezza non siano attualmente in esecuzione nel dispositivo. Più prodotti di sicurezza possono essere in conflitto e influire sulle prestazioni dell'host.
Risolvere i problemi di prestazioni usando statistiche di protezione in tempo reale
Si applica a:
- Solo problemi di prestazioni correlati all'antivirus
La protezione in tempo reale (RTP) è una funzionalità di Defender per endpoint in Linux che monitora e protegge continuamente il dispositivo dalle minacce. È costituito dal monitoraggio di file e processi e da altre euristiche.
I passaggi seguenti possono essere usati per risolvere e attenuare questi problemi:
Disabilitare la protezione in tempo reale usando uno dei metodi seguenti e osservare se le prestazioni migliorano. Questo approccio consente di limitare se Defender per endpoint in Linux contribuisce ai problemi di prestazioni. Se il dispositivo non è gestito dall'organizzazione, la protezione in tempo reale può essere disabilitata dalla riga di comando:
mdatp config real-time-protection --value disabled
Configuration property updated
Se il dispositivo è gestito dall'organizzazione, la protezione in tempo reale può essere disabilitata dall'amministratore usando le istruzioni in Impostare le preferenze per Defender per endpoint in Linux.
Nota
Se il problema di prestazioni persiste mentre la protezione in tempo reale è disattivata, l'origine del problema potrebbe essere il componente di rilevamento e risposta degli endpoint (EDR). In questo caso, seguire la procedura descritta nella sezione Risolvere i problemi di prestazioni usando Microsoft Defender per endpoint Analizzatore client di questo articolo.
Per trovare le applicazioni che attivano il maggior numero di analisi, è possibile usare le statistiche in tempo reale raccolte da Defender per endpoint in Linux.
Nota
Questa funzionalità è disponibile nella versione 100.90.70 o successiva.
Questa funzionalità è abilitata per impostazione predefinita nei
Dogfood
canali eInsiderFast
. Se si usa un canale di aggiornamento diverso, questa funzionalità può essere abilitata dalla riga di comando:mdatp config real-time-protection-statistics --value enabled
Questa funzionalità richiede l'abilitazione della protezione in tempo reale. Per controllare lo stato della protezione in tempo reale, eseguire il comando seguente:
mdatp health --field real_time_protection_enabled
Verificare che la
real_time_protection_enabled
voce siatrue
. In caso contrario, eseguire il comando seguente per abilitarlo:mdatp config real-time-protection --value enabled
Configuration property updated
Per raccogliere le statistiche correnti, eseguire:
mdatp diagnostic real-time-protection-statistics --output json
Nota
L'uso
--output json
di (si noti il doppio trattino) garantisce che il formato di output sia pronto per l'analisi.L'output di questo comando mostra tutti i processi e l'attività di analisi associata.
Nel sistema Linux scaricare il parser Python di esempio high_cpu_parser.py usando il comando :
wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
L'output di questo comando deve essere simile al seguente:
--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
Digitare i comandi seguenti:
mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
L'output di quanto sopra è un elenco dei principali collaboratori ai problemi di prestazioni. La prima colonna è l'identificatore di processo (PID), la seconda colonna è il nome del processo e l'ultima colonna è il numero di file analizzati, ordinati in base all'impatto. Ad esempio, l'output del comando sarà simile al seguente:
... > 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
Per migliorare le prestazioni di Defender per endpoint in Linux, individuare quello con il numero più alto sotto la
Total files scanned
riga e aggiungervi un'esclusione. Per altre informazioni, vedere Configurare e convalidare le esclusioni per Defender per endpoint in Linux.Nota
L'applicazione archivia le statistiche in memoria e tiene traccia solo dell'attività dei file dall'avvio e la protezione in tempo reale è stata abilitata. I processi avviati prima o durante i periodi in cui la protezione in tempo reale era disattivata non vengono conteggiati. Vengono inoltre conteggiati solo gli eventi che hanno attivato le analisi.
Risolvere i problemi di prestazioni usando Microsoft Defender per endpoint Analizzatore client
Si applica a:
- Problemi di prestazioni di tutti i componenti disponibili di Defender per endpoint, ad esempio AV ed EDR
L'analizzatore client Microsoft Defender per endpoint (MDECA) può raccogliere tracce, log e informazioni di diagnostica per risolvere i problemi di prestazioni nei dispositivi di cui è stato eseguito l'onboarding in Linux.
Nota
- Lo strumento analizzatore client Microsoft Defender per endpoint viene usato regolarmente dal Servizio Supporto Tecnico Clienti Microsoft (CSS) per raccogliere informazioni quali indirizzi IP (ma non solo), nomi di PC che consentono di risolvere i problemi che potrebbero verificarsi con Microsoft Defender per endpoint. Per altre informazioni sull'informativa sulla privacy, vedere Informativa sulla privacy di Microsoft.
- Come procedura consigliata generale, è consigliabile aggiornare l'agente Microsoft Defender per endpoint alla versione più recente disponibile e confermare che il problema persiste ancora prima di analizzare ulteriormente.
Per eseguire l'analizzatore client per la risoluzione dei problemi di prestazioni, vedere Eseguire l'analizzatore client in macOS e Linux.
Configurare le esclusioni globali per migliorare le prestazioni
Configurare Microsoft Defender per endpoint in Linux con esclusioni per i processi o i percorsi del disco che contribuiscono ai problemi di prestazioni. Per ulteriori informazioni, vedere Configurare e convalidare le esclusioni per Microsoft Defender per endpoint su Linux. Se si verificano ancora problemi di prestazioni, contattare il supporto tecnico per ulteriori istruzioni e mitigazione.
Risolvere i problemi di prestazioni di AuditD
Sfondo:
Microsoft Defender per endpoint nelle distribuzioni del sistema operativo Linux usa il framework AuditD per raccogliere determinati tipi di eventi di telemetria.
Gli eventi di sistema acquisiti dalle regole aggiunte a
/etc/audit/rules.d/
verranno aggiunti a audit.log e potrebbero influire sul controllo host e sulla raccolta upstream.Gli eventi aggiunti da Microsoft Defender per endpoint in Linux verranno contrassegnati con
mdatp
la chiave.Se il servizio AuditD non è configurato correttamente o è offline, alcuni eventi potrebbero non essere presenti. Per risolvere un problema di questo tipo, vedere: Risolvere gli eventi mancanti o i problemi di avvisi per Microsoft Defender per endpoint in Linux.
In alcuni carichi di lavoro del server potrebbero essere osservati due problemi:
High CPU
consumo di risorse dalmdatp_audisp_plugin
processo./var/log/audit/audit.log
diventando grande o rotazione frequente.
Questi problemi possono verificarsi nei server con molti eventi che inondano AuditD. Tali problemi possono verificarsi se sono presenti più consumer per AuditD o un numero eccessivo di regole con la combinazione di Microsoft Defender per endpoint e consumer di terze parti o un carico di lavoro elevato che genera molti eventi. Per risolvere questi problemi, iniziare raccogliendo i log MDEClientAnalyzer nel server interessato di esempio.
Come procedura consigliata, è consigliabile configurare i log AuditD per ruotare quando viene raggiunto il limite massimo di dimensioni dei file. Questa configurazione impedisce l'accumulo di log AuditD in un singolo file e i file di log ruotati possono essere spostati per risparmiare spazio su disco. A tale scopo, è possibile impostare il valore per su max_log_file_action
rotate
nel file auditd.conf .
Nota
Come procedura consigliata generale, è consigliabile aggiornare l'agente Microsoft Defender per endpoint alla versione più recente disponibile e confermare che il problema persiste ancora prima di analizzare ulteriormente. Che sono presenti configurazioni aggiuntive che possono influire sul affaticamento della CPU del sottosistema AuditD. In particolare, in auditd.conf, il valore di può essere impostato su lossy
per disp_qos
ridurre l'elevato consumo di CPU. Ciò significa tuttavia che alcuni eventi possono essere eliminati durante il consumo massimo di CPU.
XMDEClientAnalyzer
Quando si usa XMDEClientAnalyzer, nei file seguenti viene visualizzato l'output che fornisce informazioni dettagliate che consentono di risolvere i problemi.
auditd_info.txt
auditd_log_analysis.txt
auditd_info.txt
Contiene la configurazione auditD generale e visualizza le informazioni seguenti:
Quali processi sono registrati come consumer AuditD.
Auditctl -s
output conenabled=2
(suggerisce che il controllo è in modalità non modificabile (è necessario riavviare per rendere effettive le modifiche della configurazione).Auditctl -l
output (mostra le regole attualmente caricate nel kernel, che potrebbero essere diverse da quelle esistenti sul disco in/etc/auditd/rules.d/mdatp.rules
. Mostra anche quali regole sono correlate a Microsoft Defender per endpoint.
auditd_log_analysis.txt
Contiene informazioni aggregate importanti utili per l'analisi dei problemi di prestazioni auditD.
Quale componente è proprietario degli eventi più segnalati (Microsoft Defender per endpoint eventi verranno contrassegnati con
key=mdatp
).Iniziatori di report principali.
Le chiamate di sistema più comuni (eventi di rete o file system e altre).
Quali percorsi del file system sono i più rumorosi.
Per attenuare la maggior parte dei problemi di prestazioni auditD, è possibile implementare l'esclusione AuditD. Se le esclusioni date non migliorano le prestazioni, è possibile usare l'opzione del limitatore di frequenza. In questo modo si ridurrà completamente il numero di eventi generati da AuditD.
Nota
Le esclusioni devono essere effettuate solo per gli iniziatori o i percorsi a bassa minaccia e ad alto rumore. Ad esempio, non escludere /bin/bash che rischia di creare un punto cieco di grandi dimensioni. Errori comuni da evitare durante la definizione delle esclusioni.
Tipi di esclusione
Lo strumento di supporto di XMDEClientAnalyzer contiene una sintassi che può essere usata per aggiungere regole di configurazione di esclusione AuditD.
Esclusione auditD: guida alla sintassi degli strumenti di supporto:
Per iniziatore
-
-e/ -exe
percorso > binario completo Rimuove tutti gli eventi da questo iniziatore
Per percorso
-
-d / -dir
percorso completo di una directory > Rimuove gli eventi del file system destinati a questa directory
Esempi:
Se /opt/app/bin/app
scrive in /opt/app/cfg/logs/1234.log
, è possibile usare lo strumento di supporto per escludere con varie opzioni:
-e /opt/app/bin/app
-d /opt/app/cfg
-x /usr/bin/python /etc/usercfg
-d /usr/app/bin/
Altri esempi:
./mde_support_tool.sh exclude -p <process id>
./mde_support_tool.sh exclude -e <process name>
Per escludere più di un elemento, concatenare le esclusioni in una riga:
./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>
Il flag -x viene usato per escludere l'accesso alle sottodirectory da iniziatori specifici, ad esempio:
./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp
Quanto sopra escluderà il monitoraggio della sottocartella /tmp, se accessibile dal processo mv.
Limitatore di frequenza
Lo strumento di supporto di XMDEClientAnalyzer contiene una sintassi che può essere usata per limitare il numero di eventi segnalati dal plug-in auditD. Questa opzione imposterà il limite di frequenza a livello globale per AuditD causando un calo di tutti gli eventi di controllo.
Nota
Questa funzionalità deve essere usata con attenzione in quanto limita il numero di eventi segnalati dal sottosistema controllato nel suo complesso. Ciò potrebbe ridurre anche il numero di eventi per altri sottoscrittori.
L'opzione ratelimit può essere usata per abilitare o disabilitare questo limite di frequenza.
Abilitare: ./mde_support_tool.sh ratelimit -e true
Disabilitare: ./mde_support_tool.sh ratelimit -e false
Quando il limite di frequenza è abilitato, verrà aggiunta una regola in AuditD per gestire 2500 eventi al secondo.
Nota
Contattare il supporto tecnico Microsoft se è necessaria assistenza per l'analisi e la mitigazione dei problemi di prestazioni correlati a AuditD o per la distribuzione di esclusioni AuditD su larga scala.
Vedere anche
Consiglio
Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.