Použití senzoru založeného na eBPF pro Microsoft Defender for Endpoint v Linuxu
Poznámka
Počínaje verzí Defender for Endpoint v Linuxu 101.2408.0000
se auditD už nepodporuje jako doplňkový poskytovatel událostí. Další informace najdete v nejčastějších dotazech na konci tohoto článku.
Rozšířený filtr paketů Berkeley (eBPF) pro Microsoft Defender for Endpoint v Linuxu poskytuje dodatečná data událostí pro operační systémy Linux. EBPF pomáhá řešit několik tříd problémů, ke kterým dochází u poskytovatele událostí AuditD, a je přínosný v oblasti výkonu a stability systému.
Mezi klíčové výhody patří:
- Snížení šumu protokolu souvisejícího s AuditD v celém systému
- Optimalizovaná systémová pravidla událostí jinak způsobují konflikty mezi aplikacemi
- Snížení režijních nákladů na monitorování událostí souborů (čtení/otevření souboru)
- Vyšší propustnost četnosti událostí a nižší nároky na paměť
- Optimalizovaný výkon pro konkrétní konfigurace
Jak funguje eBPF
U eBPF teď události získané od poskytovatele událostí AuditD proudí ze senzoru eBPF. To pomáhá se stabilitou systému, zlepšuje využití procesoru a paměti a snižuje využití disku. eBPF pomáhá omezit možnost konfliktů mezi aplikacemi, protože nejsou vyžadována žádná vlastní pravidla. Data související s protokolem eBPF se přihlásí do souboru /var/log/microsoft/mdatp/microsoft_defender_core.log.
Kromě toho senzor eBPF využívá funkce jádra Linuxu, aniž by bylo nutné použít modul jádra, který pomáhá zvýšit stabilitu systému.
Požadavky na systém
Senzor eBPF pro Microsoft Defender for Endpoint v Linuxu je podporován v následující minimální distribuci a verzích jádra:
Distribuce Linuxu | Distribuční verze | Verze jádra |
---|---|---|
Ubuntu | 16.04 | 4.15.0 |
Plstěný klobouk | 33 | 5.8.15 |
Centos | 7.6 | 3.10.0-957.10 |
SLES | 15 | 5.3.18-18.47 |
RHEL | 7.6 | 3.10.0-957.10 |
Debian | 9.0 | 4.19.0 |
Oracle Linux RHCK | 7.9 | 3.10.0-1160 |
Oracle Linux UEK | 7.9 | 5.4 |
Amazon Linux 2 | 2 | 5.4.261-174.360 |
Rocky Linux 8 | 8.7 | 4.18.0-425 |
Rocky Linux 9 | 9.2 | 5.14.0-284 |
Alma Linux 8 | 8.4 | 4.18.0-305 |
Alma Linux 9 | 9.2 | 5.14.0-284 |
Poznámka
Oracle Linux 8.8 s jádrem verze 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 způsobí zablokování jádra, když je povolený eBPF jako doplňkový poskytovatel subsystému. Tato verze jádra by se neměla používat pro režim eBPF. Kroky pro zmírnění rizik najdete v části Řešení potíží a diagnostika.
Použití eBPF
Senzor eBPF je automaticky povolený pro všechny zákazníky ve výchozím nastavení pro verze 101.23082.0006
agenta a novější. Aby zákazníci mohli tuto funkci používat, musí ji aktualizovat na podporovanou verzi. Pokud je v koncovém bodu povolený senzor eBPF, defender for Endpoint v Linuxu aktualizuje supplementary_events_subsystem na ebpf.
Pokud chcete ručně zakázat eBPF, můžete spustit následující příkaz:
sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]
Soubor mdatp_managed.json můžete také aktualizovat:
{
"features": {
"ebpfSupplementaryEventProvider": "disabled"
}
}
Podrobný ukázkový soubor JSON – Nastavení předvoleb pro Microsoft Defender for Endpoint v Linuxu najdete na odkazu.
Důležité
Pokud zakážete eBPF nebo v případě, že eBPF není podporován v žádném konkrétním jádru, přepne se doplňkový zprostředkovatel událostí na Netlink. Všechny operace procesu budou i nadále bez problémů postupovat, ale můžete přijít o konkrétní události související se soubory a sokety, které by jinak eBPF zachytával.
Stav eBPF (povoleno/zakázáno) na koncových bodech Linuxu můžete také zkontrolovat pomocí rozšířeného proaktivního vyhledávání na portálu Microsoft Defender. Postup je následující:
Přejděte na portál Microsoft Defender a přihlaste se.
V navigačním podokně přejděte na Rozšířené proaktivní vyhledávání>.
V části Rozšířené vyhledávání přejděte na Defender Správa zranitelností.
Spusťte následující dotaz:
DeviceTvmInfoGathering
.Ve výstupu ve sloupci Další pole vyberte Zobrazit další a vyhledejte STAV EBPF: true.
Neměnný režim AuditD
U zákazníků, kteří používají AuditD v neměnném režimu, se po povolení eBPF vyžaduje restartování, aby bylo možné vymazat pravidla auditu přidaná Microsoft Defender for Endpoint. Tento požadavek představuje omezení v neměnném režimu AuditD, který zablokuje soubor pravidel a zakazuje úpravy a přepisování. Tento problém se vyřešil restartováním.
Po restartování spusťte následující příkaz, který zkontroluje, jestli se pravidla auditu vymazali:
% sudo auditctl -l
Ve výstupu předchozího příkazu by se neměla zobrazovat žádná pravidla ani žádná pravidla přidaná uživatelem. V případě, že se pravidla neodebrala, vymažte soubor pravidel auditu následujícím postupem:
- Přepněte do režimu ebpf.
- Odeberte soubor
/etc/audit/rules.d/mdatp.rules
. - Restartujte počítač.
Řešení potíží a diagnostika
Stav agenta můžete zkontrolovat spuštěním mdatp
příkazu stavu. Zkontrolujte aktuální verzi jádra pomocí následujícího příkazového řádku a ujistěte se, že je senzor eBPF pro Defender for Endpoint v Linuxu podporovaný:
uname -a
Známé problémy
Povolení eBPF ve verzi RHEL 8.1 se SAP může způsobit paniku jádra. Pokud chcete tento problém zmírnit, můžete provést jeden z následujících kroků:
- Použijte verzi distribuce vyšší než RHEL 8.1.
- Pokud potřebujete použít RHEL verze 8.1, přepněte do režimu AuditD.
Použití Oracle Linuxu 8.8 s jádrem verze 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 může způsobit paniku jádra. Pokud chcete tento problém zmírnit, můžete provést jeden z následujících kroků:
- Pokud chcete použít eBPF jako doplňkového poskytovatele subsystému, použijte verzi jádra vyšší nebo nižší než 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 v Systému Oracle Linux 8.8. Minimální verze jádra pro Oracle Linux je RHCK 3.10.0 a Oracle Linux UEK je 5.4.
- Pokud potřebujete použít stejnou verzi jádra, přepněte do režimu AuditD.
sudo mdatp config ebpf-supplementary-event-provider --value disabled
Následující dvě sady dat pomáhají analyzovat potenciální problémy a určit nejúčinnější možnosti řešení.
Pomocí následujících pokynů shromážděte diagnostický balíček z nástroje analyzátoru klienta: Řešení potíží s výkonem pro Microsoft Defender for Endpoint v Linuxu.
Shromážděte balíček diagnostiky ladění, když Defender for Endpoint využívá vysoké využití prostředků podle následujících pokynů: Microsoft Defender for Endpoint na linuxových prostředcích.
Řešení potíží s výkonem
Pokud na koncových bodech Microsoft Defender dochází ke zvýšené spotřebě prostředků, je důležité identifikovat proces, přípojný bod nebo soubory, které způsobují většinu využití procesoru nebo paměti. Pak můžete použít potřebná vyloučení. Pokud wdavdaemon
po použití možných vyloučení antivirového softwaru (nadřazený proces) prostředky stále spotřebovává, použijte příkaz ebpf-statistics, abyste získali nejvyšší počet systémových volání:
sudo mdatp diagnostic ebpf-statistics
Output
Monitor 20 seconds
Top file paths:
/var/log/microsoft/mdatp/microsoft_defender.log : 10
/var/log/microsoft/mdatp/rotated/microsoft_defender.log00001 : 2
/var/log/microsoft/mdatp/rotated/microsoft_defender.log : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374993 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374991 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374989 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374987 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374985 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374983 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374981 : 1
Top initiator paths:
/usr/bin/stress-ng : 50000
/opt/microsoft/mdatp/sbin/wdavdaemon : 13
Top syscall ids:
82 : 1699333
90 : 10
87 : 3
V předchozím výstupu vidíte, že stress-ng je hlavní proces, který generuje velké množství událostí a může vést k problémům s výkonem. S největší pravděpodobností stres-ng generuje systémové volání s ID 82. Pokud chcete tento proces vyloučit, můžete vytvořit lístek u Microsoftu. V budoucnu v rámci chystaných vylepšení budete mít větší kontrolu nad tím, jak tato vyloučení na svém konci uplatňovat.
Vyloučení použitá na AuditD se nedají migrovat ani kopírovat do eBPF. Běžné obavy, jako jsou například hlučné protokoly, poplach jádra, hlučné volání syscall, se už stará interně eBPF. Pokud chcete přidat další vyloučení, obraťte se na Microsoft a požádejte o uplatnění potřebných vyloučení.
Nejčastější dotazy – Přechod na eBPF
1. Proč byste měli zvážit přechod na eBPF?
Rozšířený filtr paketů Berkeley (eBPF) pro Microsoft Defender for Endpoint v Linuxu slouží jako efektivní alternativa k AuditD a řeší různé výzvy spojené s poskytovatelem událostí AuditD a zároveň poskytuje významné výhody z hlediska výkonu a stability systému. Mezi klíčové výhody patří:
Výkon: EBPF výrazně zlepšuje výkon tím, že v porovnání s AuditD snižuje režijní náklady na systémové prostředky.
Efektivita prostředků: EBPF využívá méně prostředků, což pomáhá udržovat stabilitu systému i v podmínkách s velkým zatížením.
Škálovatelnost: Architektura eBPF je škálovatelnější, takže je lepší volbou pro prostředí s rostoucími nebo složitými úlohami.
Moderní technologie: eBPF představuje moderní, do budoucna vypadající technologii, která je v souladu s budoucím vývojem jádra Linuxu a zajišťuje lepší dlouhodobou podporu.
2. Jak můžu auditD dál používat?
Pokud chcete pokračovat v používání AuditD:
Podporované verze: Na Defenderu for Endpoint můžete zůstat ve verzi 101.24072.0000 Linuxu, která bude podporovat AuditD po dobu platnosti buildu, což je přibližně devět měsíců. To poskytuje dostatečné přechodné období pro naplánování přechodu na eBPF. Datum vypršení platnosti můžete zkontrolovat spuštěním příkazu
mdatp health
na serveru s Linuxem.Long-Term Plán: I když je možnost zůstat v buildu
101.24072.0000
, doporučujeme v tomto časovém rámci naplánovat přechod na eBPF, abyste měli jistotu, že budete mít prospěch z nejnovějších vylepšení zabezpečení a výkonu a také budete mít nepřetržitou podporu.
Přesto doporučujeme naplánovat přechod na použití eBPF jako primárního poskytovatele událostí.
3. Co se stane, když se v některých scénářích nepodporuje eBPF?
V případech, kdy se eBPF nepodporuje:
Náhradní služba Netlink: Systém se vrátí k použití zprostředkovatele událostí Netlink. Netlink sice dál zaznamenává události procesu (například
exec
,exit
,fork
,gid
nebotid
), ale nepodporuje události související se systémem souborů (napříkladrename
,unlink
) ani události soketů.Dopad: Vaše úlohy se nenaruší, ale můžete zmeškat konkrétní události související se soubory a sokety, které by jinak eBPF zachytával.
4. Jak můžu spravovat vyloučení pomocí aktualizovaných verzí?
Tady jsou některé běžné důvody pro umisťování vyloučení pro AuditD:
Výkon, protože některé syscall nebo procesy generují velké množství šumu
Panika jádra, existují chvíle, kdy mnoho syscall konkrétně síťových volání nebo volání systému souborů vedlo k poplachu jádra.
Hlučné protokoly, ve kterých protokoly auditu využívají místo na disku. Zákazník umístil vyloučení pro hlučné procesy, aby zmenšil velikost protokolu.
U eBPF jsou kandidáty na migraci první dva případy použití. Protokoly už nejsou problémem s eBPF. Pro první dva případy použití si můžete vybrat z následujících možností:
Kontaktujte podporu: Pokud chcete použít vyloučení z back-endu, obraťte se na Microsoft.
Globální vyloučení: V aktualizovaných verzích Defenderu for Endpoint v Linuxu je možné vyloučení spravovat pomocí globálních vyloučení. Globální vyloučení platí pro antivirový program i pro EDR a v současné době je možné je nakonfigurovat prostřednictvím spravovaného kódu JSON. Další informace najdete v tématu Konfigurace a ověření vyloučení Microsoft Defender for Endpoint v systému Linux.
5. Co mám dělat v případě problémů?
Kontaktujte podporu: Pokud během přechodu na eBPF nebo po přechodu na eBPF narazíte na nějaké problémy, požádejte o pomoc technickou podporu. Snažíme se zajistit hladký přechod a jsme vám k dispozici, abychom vám pomohli vyřešit všechny výzvy, kterým můžete čelit.
Kanály podpory: Podporu můžete kontaktovat prostřednictvím portálu Microsoft Defender. Naše znalostní báze a komunitní fóra jsou navíc cennými zdroji informací pro řešení běžných problémů.