Sdílet prostřednictvím


Řešení potíží s výkonem Microsoft Defender for Endpoint v Linuxu

Platí pro:

Chcete používat Defender pro Endpoint? Zaregistrujte se a získejte bezplatnou zkušební verzi,

Tento dokument obsahuje pokyny, jak zúžit problémy s výkonem související s Defenderem for Endpoint v Linuxu pomocí dostupných diagnostických nástrojů, abyste dokázali pochopit a zmírnit stávající nedostatek prostředků a procesy, které systém do takových situací vedou. Problémy s výkonem způsobují hlavně kritické body v jednom nebo několika hardwarových subsystémech v závislosti na profilu využití prostředků v systému. Někdy jsou aplikace citlivé na vstupně-výstupní prostředky disku a můžou potřebovat větší kapacitu procesoru a někdy některé konfigurace nejsou udržitelné a můžou aktivovat příliš mnoho nových procesů a otevřít příliš mnoho popisovačů souborů.

V závislosti na spuštěných aplikacích a charakteristikách zařízení může při spuštění Defenderu for Endpoint v Linuxu docházet k neoptimálnímu výkonu. Konkrétně aplikace nebo systémové procesy, které v krátkém časovém intervalu přistupí k mnoha prostředkům, jako jsou procesor, disk a paměť, můžou vést k problémům s výkonem v Defenderu for Endpoint v Linuxu.

Upozornění

Než začnete, ujistěte se, že na zařízení nejsou aktuálně spuštěné jiné produkty zabezpečení. Více produktů zabezpečení může být v konfliktu a mít vliv na výkon hostitele.

Řešení potíží s výkonem pomocí statistik ochrany v reálném čase

Platí pro:

  • Pouze problémy s výkonem související s av

Ochrana v reálném čase (RTP) je funkce Defenderu for Endpoint v Linuxu, která nepřetržitě monitoruje a chrání vaše zařízení před hrozbami. Skládá se z monitorování souborů a procesů a dalších heuristik.

K řešení těchto problémů a jejich zmírnění můžete použít následující kroky:

  1. Zakažte ochranu v reálném čase pomocí některé z následujících metod a sledujte, jestli se výkon zlepší. Tento přístup pomáhá zúžit, jestli Defender for Endpoint v Linuxu přispívá k problémům s výkonem.

    Pokud vaše zařízení nespravuje vaše organizace, můžete ochranu v reálném čase zakázat z příkazového řádku:

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

    Pokud vaše zařízení spravuje vaše organizace, může ochranu v reálném čase zakázat správce podle pokynů v tématu Nastavení předvoleb pro Defender for Endpoint v Linuxu.

    Poznámka

    Pokud problém s výkonem přetrvává, i když je ochrana v reálném čase vypnutá, může být původcem problému komponenta detekce a odezvy koncového bodu (EDR). V takovém případě postupujte podle kroků v části Řešení potíží s výkonem pomocí analyzátoru Microsoft Defender for Endpoint klienta v tomto článku.

  2. Pokud chcete najít aplikace, které spouští nejvíce kontrol, můžete použít statistiky shromážděné defenderem for Endpoint v linuxu v reálném čase.

    Poznámka

    Tato funkce je dostupná ve verzi 100.90.70 nebo novější.

    Tato funkce je ve výchozím nastavení povolená v kanálech Dogfood a InsiderFast . Pokud používáte jiný aktualizační kanál, můžete tuto funkci povolit z příkazového řádku:

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

    Tato funkce vyžaduje povolení ochrany v reálném čase. Pokud chcete zkontrolovat stav ochrany v reálném čase, spusťte následující příkaz:

    mdatp health --field real_time_protection_enabled
    

    Ověřte, že real_time_protection_enabled položka je true. V opačném případě ho povolte spuštěním následujícího příkazu:

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

    Pokud chcete shromáždit aktuální statistiky, spusťte:

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

    Poznámka

    Použití --output json (všimněte si dvojité pomlčky) zajistí, že je výstupní formát připravený k analýze.

    Výstup tohoto příkazu zobrazí všechny procesy a jejich přidruženou aktivitu kontroly.

  3. V systému Linux si pomocí příkazu stáhněte ukázkový analyzátor Pythonu high_cpu_parser.py :

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

    Výstup tohoto příkazu by měl být podobný následujícímu:

    --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. Dále zadejte následující příkazy:

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

    Výstupem výše uvedeného je seznam hlavních přispěvatelů k problémům s výkonem. První sloupec je identifikátor procesu (PID), druhý sloupec je název procesu a poslední sloupec je počet naskenovaných souborů seřazených podle dopadu. Například výstup příkazu bude vypadat přibližně takto:

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

    Pokud chcete zvýšit výkon Defenderu for Endpoint v Linuxu, vyhledejte pod Total files scanned řádkem ten s nejvyšším číslem a přidejte pro něj vyloučení. Další informace najdete v tématu Konfigurace a ověření vyloučení pro Defender for Endpoint v Linuxu.

    Poznámka

    Aplikace ukládá statistiky do paměti a sleduje pouze aktivitu souborů od jejího spuštění a povolení ochrany v reálném čase. Nezapočítávají se procesy, které byly spuštěny před nebo během období, kdy byla ochrana v reálném čase vypnutá. Kromě toho se počítají pouze události, které aktivovaly kontroly.

  5. Nakonfigurujte Microsoft Defender for Endpoint v Linuxu s vyloučeními pro procesy nebo umístění disků, které přispívají k problémům s výkonem, a znovu povolte ochranu v reálném čase.

    Další informace najdete v tématu Konfigurace a ověření vyloučení Microsoft Defender for Endpoint v systému Linux.

Řešení potíží s výkonem pomocí nástroje Microsoft Defender for Endpoint Client Analyzer

Platí pro:

  • Problémy s výkonem všech dostupných komponent Defenderu for Endpoint, jako jsou av a EDR

Nástroj Microsoft Defender for Endpoint Client Analyzer (MDECA) může shromažďovat trasování, protokoly a diagnostické informace za účelem řešení potíží s výkonem na zařízeních nasazených v Linuxu.

Poznámka

Pokud chcete spustit klientský analyzátor pro řešení potíží s výkonem, přečtěte si téma Spuštění klientského analyzátoru v macOS a Linuxu.

Poznámka

V případě, že po provedení výše uvedených kroků problém s výkonem přetrvává, požádejte prosím zákaznickou podporu o další pokyny a zmírnění rizik.

Řešení potíží s výkonem AuditD

Pozadí:

  • Microsoft Defender for Endpoint v distribucích operačního systému Linux využívá architekturu AuditD ke shromažďování určitých typů telemetrických událostí.

  • Systémové události zachycené pravidly přidanými do /etc/audit/rules.d/ se přidají do audit.log a můžou ovlivnit auditování hostitele a upstreamové shromažďování.

  • Události přidané Microsoft Defender for Endpoint v Linuxu se označí mdatp klíčem.

  • Pokud je služba AuditD chybně nakonfigurovaná nebo offline, můžou některé události chybět. Informace o řešení takového problému najdete v tématu Řešení potíží s chybějícími událostmi nebo upozorněními pro Microsoft Defender for Endpoint v Linuxu.

U některých serverových úloh se můžou vyskytovat dva problémy:

  • Vysoká spotřeba prostředků procesoruz procesu mdatp_audisp_plugin.

  • /var/log/audit/audit.log se z velkého nebo často rotujícího.

K těmto problémům může docházet na serverech s mnoha událostmi, které zahltěly AuditD.

Poznámka

Jako osvědčený postup doporučujeme nakonfigurovat protokoly AuditD tak, aby se při dosažení limitu maximální velikosti souboru obměňovaly.

Tím zabráníte tomu, aby se protokoly AuditD hromadily v jednom souboru a obměněné soubory protokolů se dají přesunout, aby se ušetřilo místo na disku.

Chcete-li toho dosáhnout, můžete nastavit hodnotu max_log_file_actionobměňovat v souboru auditd.conf .

K tomu může dojít v případě, že pro AuditD existuje více příjemců nebo příliš mnoho pravidel s kombinací Microsoft Defender for Endpoint a příjemců třetích stran nebo vysoké zatížení, které generuje velké množství událostí.

Pokud chcete tyto problémy vyřešit, začněte tím, že na ukázkovém ovlivněném serveru shromažďujte protokoly MDEClientAnalyzer .

Poznámka

Obecně se doporučuje aktualizovat agenta Microsoft Defender for Endpoint na nejnovější dostupnou verzi a potvrdit, že problém stále přetrvává, než se prošetřuje.

Že existují další konfigurace, které můžou ovlivnit zatížení procesoru podsystému AuditD.

Konkrétně v souboru auditd.conf je možné nastavit hodnotu disp_qos na "ztrátové", aby se snížila vysoká spotřeba procesoru.

To ale znamená, že během špičky využití procesoru může dojít k vyřazení některých událostí.

XMDEClientAnalyzer

Při použití XMDEClientAnalyzeru se v následujících souborech zobrazí výstup, který poskytuje přehledy, které vám pomůžou při řešení problémů.

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

Obsahuje obecnou konfiguraci AuditD a zobrazí:

  • Jaké procesy se registrují jako uživatelé AuditD.

  • Auditctl -s output with enabled=2

    • Navrhuje, aby auditované bylo v neměnném režimu (vyžaduje restartování, aby se projevily všechny změny konfigurace).
  • Výstup auditctl -l

    • Zobrazí, jaká pravidla jsou aktuálně načtena do jádra (která se mohou lišit od pravidel na disku v souboru /etc/auditd/rules.d/mdatp.rules).

    • Zobrazí pravidla související s Microsoft Defender for Endpoint.

auditd_log_analysis.txt

Obsahuje důležité agregované informace, které jsou užitečné při zkoumání problémů s výkonem AuditD.

  • Která komponenta vlastní nejvíce hlášených událostí (Microsoft Defender for Endpoint události se označí pomocí key=mdatp).

  • Hlavní iniciátory generování sestav.

  • Nejběžnější systémová volání (události sítě nebo systému souborů a další).

  • Jaké cesty systému souborů jsou nejhlušnější.

Pokud chcete zmírnit většinu problémů s výkonem AuditD, můžete implementovat vyloučení AuditD. Pokud daná vyloučení nezlepší výkon, můžeme použít možnost omezovače rychlosti. Tím se úplně sníží počet událostí generovaných AuditD.

Poznámka

Vyloučení by měla být provedena pouze pro iniciátory nebo cesty s nízkou hrozbou a vysokým šumem. Nevylučujte například /bin/bash, u kterého hrozí vytvoření velkého slepého bodu. Při definování vyloučení je třeba se vyhnout běžným chybám.

Typy vyloučení

Nástroj pro podporu XMDEClientAnalyzer obsahuje syntaxi, kterou je možné použít k přidání konfiguračních pravidel vyloučení AuditD:

Vyloučení AuditD – nápověda k syntaxi nástroje podpory:

syntaxe, která se dá použít k přidání konfiguračních pravidel vyloučení AuditD

Autor: iniciátor

  • -e/ -exe úplná binární cesta > Odebere všechny události tímto iniciátorem

Podle cesty

  • -d / -dir úplná cesta k adresáři > Odebere události systému souborů, které cílí na tento adresář.

              Příklady:

Pokud "/opt/app/bin/app" zapíše do/opt/app/cfg/logs/1234.log , můžete použít nástroj podpory k vyloučení s různými možnostmi:

-e /opt/app/bin/app

-d /opt/app/cfg

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

-d /usr/app/bin/

Další příklady:

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

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

Pokud chcete vyloučit více než jednu položku, zřetězení vyloučení na jeden řádek:

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

Příznak -x se používá k vyloučení přístupu k podadresářům ze strany konkrétních iniciátorů, například:

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

Výše uvedené vyloučení monitorování podsložky /tmp při přístupu procesem mv.

Omezovač rychlosti

Nástroj pro podporu XMDEClientAnalyzer obsahuje syntaxi, kterou je možné použít k omezení počtu událostí hlášených modulem plug-in auditD. Tato možnost nastaví limit četnosti pro AuditD globálně, což způsobí pokles všech událostí auditu.

Poznámka

Tato funkce by se měla pečlivě používat, protože omezuje počet událostí hlášených auditovaným subsystémem jako celkem. To by mohlo snížit počet událostí i pro ostatní předplatitele.

K povolení nebo zakázání tohoto limitu rychlosti můžete použít možnost ratelimit.

Povolit: ./mde_support_tool.sh ratelimit -e true

Zakázat: ./mde_support_tool.sh ratelimit -e false

Když je povolený parametr ratelimit, přidá se do pole AuditD pravidlo pro zpracování 2500 událostí za sekundu.

Poznámka

Pokud potřebujete pomoc s analýzou a zmírněním problémů s výkonem souvisejících s AuditD nebo s nasazením vyloučení AuditD ve velkém měřítku, obraťte se na podporu Microsoftu.

Viz také

Tip

Chcete se dozvědět více? Engage s komunitou Microsoft Security v naší technické komunitě: Microsoft Defender for Endpoint Tech Community.