Brug eBPF-baseret sensor til Microsoft Defender for Endpoint på Linux
Gælder for:
- Microsoft Defender for Endpoint-server
- Microsoft Defender til servere
Bemærk!
Fra og med Defender for Endpoint på Linux, version 101.2408.0000
, understøttes AuditD ikke længere som en supplerende hændelsesudbyder. Du kan få flere oplysninger i Ofte stillede spørgsmål i slutningen af denne artikel.
Det udvidede Berkeley Packet Filter (eBPF) til Microsoft Defender for Endpoint på Linux leverer supplerende hændelsesdata til Linux-operativsystemer. eBPF hjælper med at håndtere flere klasser af problemer, der ses med udbyderen af AuditD-hændelser, og det er nyttigt inden for ydeevne og systemstabilitet.
De vigtigste fordele omfatter:
- Reduceret systembaseret auditD-relateret logstøj
- Optimerede hændelsesregler for hele systemet, der ellers forårsager konflikt mellem programmer
- Reducerede udgifter til filhændelse (fillæsning/-åbning) overvågning
- Forbedret gennemløbshastighed for hændelser og reduceret hukommelsesforbrug
- Optimeret ydeevne til bestemte konfigurationer
Sådan fungerer eBPF
Med eBPF flyder hændelser, der tidligere er hentet fra udbyderen af AuditD-hændelser, nu fra eBPF-sensoren. Dette hjælper med systemstabilitet, forbedrer CPU- og hukommelsesudnyttelsen og reducerer diskforbruget. eBPF hjælper med at reducere risikoen for konflikter mellem programmer, da der ikke kræves brugerdefinerede regler. Data relateret til eBPF logges på filen /var/log/microsoft/mdatp/microsoft_defender_core.log.
EBPF-sensoren bruger desuden Linux-kernens funktioner uden at kræve brug af et kernemodul, der hjælper med at øge systemets stabilitet.
Systemforudsætningerne
eBPF-sensoren til Microsoft Defender for Endpoint på Linux understøttes på følgende minimumdistributions- og kerneversioner:
Linux-distribution | Distributionsversion | Kerneversion |
---|---|---|
Ubuntu | 16.04 | 4.15.0 |
Fedora | 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 |
Bemærk!
Oracle Linux 8.8 med kerneversion 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 medfører, at kernen hænger, når eBPF aktiveres som supplerende udbyder af undersystemer. Denne kerneversion bør ikke bruges til eBPF-tilstand. Se afsnittet Fejlfinding og diagnosticering for at få oplysninger om afhjælpningstrin.
Brug eBPF
eBPF-sensoren er automatisk aktiveret for alle kunder som standard for agentversioner 101.23082.0006
og nyere. Kunderne skal opdatere til en understøttet version for at opleve funktionen. Når eBPF-sensoren er aktiveret på et slutpunkt, opdateres Defender for Endpoint på Linux supplementary_events_subsystem til ebpf.
Hvis du vil deaktivere eBPF manuelt, kan du køre følgende kommando:
sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]
Du kan også opdatere mdatp_managed.json-filen:
{
"features": {
"ebpfSupplementaryEventProvider": "disabled"
}
}
Se linket for at få en detaljeret json-eksempelfil – Angiv indstillinger for Microsoft Defender for Endpoint på Linux.
Vigtigt!
Hvis du deaktiverer eBPF eller i tilfælde af, at eBPF ikke understøttes på en bestemt kerne, skifter den supplerende hændelsesudbyder til Netlink. Alle proceshandlinger vil fortsætte med at flyde problemfrit, men du kan gå glip af specifikke fil- og socket-relaterede hændelser, som eBPF ellers ville fange.
Du kan også kontrollere status for eBPF (aktiveret/deaktiveret) på dine Linux-slutpunkter ved hjælp af avanceret jagt på Microsoft Defender Portal. Fremgangsmåden er som følger:
Gå til Microsoft Defender-portalen, og log på.
Gå til Jagt>Avanceret jagt i navigationsruden.
Gå til Administration af håndtering af sikkerhedsrisici til Defender under Avanceret jagt.
Kør følgende forespørgsel:
DeviceTvmInfoGathering
.I outputtet skal du i kolonnen Yderligere felter vælge Vis mere og derefter søge efter EBPF STATUS: true.
Uforanderlig tilstand for Overvåget
For kunder, der bruger AuditD i uforanderlig tilstand, kræves der en genstart efter aktivering af eBPF for at rydde de revisionsregler, der tilføjes af Microsoft Defender for Endpoint. Dette krav er en begrænsning i uforanderlig tilstand af AuditD, som fryser regelfilen og forbyder redigering/overskrivning. Dette problem er løst med genstarten.
Kør følgende kommando efter genstart for at kontrollere, om overvågningsregler blev ryddet:
% sudo auditctl -l
Outputtet fra den forrige kommando bør ikke vise nogen regler eller nogen brugertilsatte regler. Hvis reglerne ikke blev fjernet, skal du benytte følgende fremgangsmåde til at rydde filen med overvågningsregler:
Skift til ebpf-tilstand.
Fjern filen
/etc/audit/rules.d/mdatp.rules
.Genstart computeren.
Fejlfinding og diagnosticering
Du kan kontrollere agentens tilstandsstatus ved at køre tilstandskommandoen mdatp
. Sørg for, at eBPF-sensoren for Defender for Endpoint på Linux understøttes ved at kontrollere den aktuelle kerneversion ved hjælp af følgende kommandolinje:
uname -a
Kendte problemer
Aktivering af eBPF på RHEL 8.1-version med SAP kan resultere i kerne panik. Du kan afhjælpe dette problem ved at benytte en af følgende fremgangsmåder:
- Brug en distroversion, der er højere end RHEL 8.1.
- Skift til overvågningstilstand, hvis du har brug for at bruge RHEL 8.1-versionen.
Brug af Oracle Linux 8.8 med kerneversion 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 kan resultere i kerne panik. Du kan afhjælpe dette problem ved at benytte en af følgende fremgangsmåder:
Brug en kerneversion, der er højere eller lavere end 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 på Oracle Linux 8.8, hvis du vil bruge eBPF som supplerende udbyder af undersystemer. Den mindste kerneversion til Oracle Linux er RHCK 3.10.0, og Oracle Linux UEK er 5.4.
Skift til AuditD-tilstand, hvis du har brug for at bruge den samme kerneversion
sudo mdatp config ebpf-supplementary-event-provider --value disabled
Følgende to datasæt hjælper med at analysere potentielle problemer og finde de mest effektive løsningsmuligheder.
Indsaml en diagnosticeringspakke fra værktøjet til klientanalyse ved hjælp af følgende instruktioner: Fejlfinding af problemer med ydeevnen for Microsoft Defender for Endpoint på Linux.
Indsaml en diagnosticeringspakke til fejlfinding, når Defender for Endpoint bruger høje ressourcer ved hjælp af følgende instruktioner: Microsoft Defender for Endpoint på Linux-ressourcer.
Systemet hænger på Oracle Linux 7.9, der kører Defender til Linux, når ksplice bruges til reparation af dynamiske kerner.
- Automatisk installation af ksplice tilføjer blot et cron-job til slutpunktet.
- For at afhjælpe problemet med at hænge kan du oprette et cron-job, som først stopper mdatp-tjenesten, anvender ksplice-baseret programrettelse og derefter starter tjenesten.
- Da kernerettelse er få sekunders aktivitet, så dette vil ikke have større eksponering med hensyn til sikkerhed.
Fejlfinding af problemer med ydeevnen
Hvis du ser øget ressourceforbrug af Microsoft Defender på dine slutpunkter, er det vigtigt at identificere de proces-/tilslutningspunkt/filer, der forårsager det meste af CPU/hukommelsesudnyttelsen. Du kan derefter anvende de nødvendige undtagelser. Når du har anvendt mulige antivirusudeladelser, hvis wdavdaemon
(overordnet proces) stadig bruger ressourcerne, skal du bruge kommandoen ebpf-statistics til at få det største antal systemkald:
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
I det tidligere output kan du se, at stress-ng er den øverste proces, der genererer et stort antal hændelser og kan resultere i problemer med ydeevnen. Mest sandsynligt stress-ng genererer systemet opkald med ID 82. Du kan oprette en billet hos Microsoft for at udelade denne proces. I fremtiden som en del af kommende forbedringer har du mere kontrol over at anvende sådanne undtagelser i slutningen.
Undtagelser, der anvendes på Overvåget, kan ikke overføres eller kopieres til eBPF. Fælles bekymringer såsom støjende logge, kerne panik, støjende syscalls er allerede taget hånd om af eBPF internt. Hvis du vil tilføje yderligere undtagelser, skal du kontakte Microsoft for at få anvendt de nødvendige undtagelser.
Ofte stillede spørgsmål – overgang til eBPF
1. Hvorfor skal du overveje at flytte til eBPF?
Det udvidede Berkeley Packet Filter (eBPF) til Microsoft Defender for Endpoint på Linux fungerer som et effektivt alternativ til AuditD og løser forskellige udfordringer, der er forbundet med udbyderen af auditerede hændelser, samtidig med at det giver betydelige fordele med hensyn til ydeevne og systemstabilitet. Nogle af de vigtigste fordele omfatter -
Ydeevne: eBPF forbedrer ydeevnen væsentligt ved at reducere omkostningerne til systemressourcer sammenlignet med AuditD.
Ressourceeffektivitet: eBPF bruger færre ressourcer, hvilket hjælper med at opretholde systemstabiliteten selv under svære belastningsforhold.
Skalerbarhed: eBPF's arkitektur er mere skalerbar, hvilket gør den til et bedre valg til miljøer med voksende eller komplekse arbejdsbelastninger.
Moderne teknologi: eBPF repræsenterer en moderne, fremadrettet teknologi, der er i overensstemmelse med fremtidige Linux-kerneudviklinger, og som sikrer bedre langsigtet support.
2. Hvordan kan jeg fortsætte med at bruge Overvåget?
Hvis du foretrækker at fortsætte med at bruge AuditD:
Understøttede versioner: Du kan forblive på Defender for Endpoint på Linux version 101.24072.0000, som understøtter Overvåget under gyldigheden af buildet, som er ca. ni måneder. Dette giver en tilstrækkelig overgangsperiode til at planlægge din flytning til eBPF. Udløbsdatoen kan kontrolleres ved at køre kommandoen
mdatp health
på Linux-serveren.Long-Term plan: Mens du fortsætter
101.24072.0000
med at bygge, anbefaler vi, at du planlægger din overgang til eBPF inden for denne tidsramme for at sikre, at du drager fordel af de nyeste forbedringer af sikkerhed og ydeevne og også får fortsat support.
Når det er sagt, vil vores anbefaling være at planlægge et skridt til at bruge eBPF som den primære hændelsesudbyder.
3. Hvad sker der, hvis eBPF ikke understøttes i nogle scenarier?
I de tilfælde, hvor eBPF ikke understøttes:
Netlink Fallback: Systemet går tilbage til at bruge Netlink-hændelsesudbyderen. Mens Netlink fortsætter med at registrere proceshændelser (f.eks. , , , ,
gid
ellertid
), understøtter det ikke filsystemrelaterede hændelser (f.eksrename
. ,unlink
) eller socket-hændelser.fork
exit
exec
Effekt: Dine arbejdsbelastninger afbrydes ikke, men du kan gå glip af specifikke fil- og socket-relaterede hændelser, som eBPF ellers ville registrere.
4. Hvordan kan jeg administrere udeladelser med de opdaterede versioner?
Følgende er nogle almindelige årsager til at placere undtagelser for AuditD:
Ydeevne, da en eller anden syscall eller proces genererer meget støj
Kernel Panic, der er tidspunkter, hvor mange syscalls specifikt netværk / filsystem kald resulterede i kernen panik.
Støjende logge, hvor overvågningslogge bruger diskpladsen. Kunden har placeret udelukkelserne for de støjende processer for at reducere logstørrelsen.
Med eBPF er de første to use cases kandidaterne til migreringen. Logge er ikke længere et problem med eBPF. Du kan vælge mellem følgende indstillinger for de første to anvendelsestilfælde:
Kontakt support: Kontakt Microsoft for at anvende undtagelserne fra backend.
Globale udeladelser: I de opdaterede versioner af Defender for Endpoint på Linux kan udeladelser administreres med globale udeladelser. Globale undtagelser gælder for både antivirus og EDR og kan konfigureres via den administrerede json i øjeblikket. Du kan finde flere oplysninger under Konfigurer og valider udeladelser for Microsoft Defender for Endpoint på Linux.
5. Hvad skal jeg gøre, hvis der er problemer?
Kontakt support: Hvis du støder på problemer under eller efter din overgang til eBPF, skal du kontakte teknisk support for at få hjælp. Vi er forpligtet til at sikre en problemfri overgang og er tilgængelige for at hjælpe med at løse eventuelle udfordringer, du måtte stå overfor.
Supportkanaler: Du kan kontakte support via Microsoft Defender-portalen. Derudover er vores videnbase- og communityforummer værdifulde ressourcer til fejlfinding af almindelige problemer.