Del via


Bruk eBPF-basert sensor for Microsoft Defender for endepunkt på Linux

Obs!

Fra og med Defender for Endpoint på Linux, versjon 101.2408.0000, støttes ikke revisjonsd lenger som en supplerende hendelsesleverandør. Hvis du vil ha mer informasjon, kan du se vanlige spørsmål på slutten av denne artikkelen.

Det utvidede Berkeley-pakkefilteret (eBPF) for Microsoft Defender for endepunkt på Linux gir supplerende hendelsesdata for Linux-operativsystemer. eBPF bidrar til å løse flere klasser med problemer sett med leverandøren av overvåkingshendelser, og er nyttig på områdene ytelse og systemstabilitet.

Viktige fordeler inkluderer:

  • Redusert systemomfattende overvåkingsrelatert loggstøy
  • Optimaliserte systemomfattende hendelsesregler forårsaker ellers konflikt mellom programmer
  • Redusert administrasjon for overvåking av filhendelse (fil lest/åpen)
  • Forbedret gjennomstrømming av hendelsesfrekvens og redusert minneavtrykk
  • Optimalisert ytelse for bestemte konfigurasjoner

Slik fungerer eBPF

Med eBPF flyter hendelser som tidligere er hentet fra leverandøren av auditd-hendelser, nå fra eBPF-sensoren. Dette hjelper med systemstabilitet, forbedrer prosessor- og minneutnyttelsen og reduserer diskbruken. eBPF bidrar til å redusere muligheten for konflikter mellom programmer fordi ingen egendefinerte regler kreves. Data relatert til eBPF blir logget på filen /var/log/microsoft/mdatp/microsoft_defender_core.log.

I tillegg bruker eBPF-sensoren egenskapene til Linux-kjernen uten å kreve bruk av en kjernemodul som bidrar til å øke systemstabiliteten.

Forutsetninger for systemet

eBPF-sensoren for Microsoft Defender for endepunkt på Linux støttes på følgende minimumsdistribusjons- og kjerneversjoner:

Linux-distribusjon Distribusjonsversjon Kjerneversjon
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

Obs!

Oracle Linux 8.8 med kjerneversjon 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 vil resultere i kjernehenging når eBPF er aktivert som ekstra delsystemleverandør. Denne kjerneversjonen bør ikke brukes i eBPF-modus. Se feilsøkings- og diagnosedelen for å finne ut hvordan du gjennomfører begrensninger.

Bruk eBPF

eBPF-sensoren aktiveres automatisk for alle kunder som standard for agentversjoner 101.23082.0006 og nyere. Kunder må oppdatere til en støttet versjon for å oppleve funksjonen. Når eBPF-sensoren er aktivert på et endepunkt, oppdaterer Defender for Endpoint på Linux supplementary_events_subsystem til ebpf.

utheving av ebpf-delsystem i mdatp-tilstandskommandoen

Hvis du vil deaktivere eBPF manuelt, kan du kjøre følgende kommando:

sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]

Du kan også oppdatere mdatp_managed.json-filen:

{
    "features": {
        "ebpfSupplementaryEventProvider": "disabled"
    }
}

Se koblingen for detaljert eksempel-json-fil – Angi innstillinger for Microsoft Defender for endepunkt på Linux.

Viktig

Hvis du deaktiverer eBPF eller hvis eBPF ikke støttes på en bestemt kjerne, bytter tilleggsleverandør av hendelser til Netlink. Alle prosessoperasjoner vil fortsette å flyte sømløst, men du kan gå glipp av bestemte fil- og socket-relaterte hendelser som eBPF ellers ville tatt opp.

Du kan også kontrollere statusen for eBPF (aktivert/deaktivert) på linux-endepunktene ved hjelp av avansert jakt i Microsoft Defender Portal. Fremgangsmåten er som følger:

  1. Gå til Microsoft Defender-portalen, og logg på.

  2. Gå til Jakt> avansertjakt i navigasjonsruten.

  3. Gå til Defender Vulnerability Management under Avansert jakt.

  4. Kjør følgende spørring: DeviceTvmInfoGathering.

  5. Velg Vis flere i kolonnen Flere felt i utdataene, og se deretter etter EBPF-STATUS: sann.

Uforanderlig modus for AuditD

For kunder som bruker AuditD i uforanderlig modus, kreves en omstart etter aktivering av eBPF for å fjerne overvåkingsreglene som er lagt til av Microsoft Defender for endepunkt. Dette kravet er en begrensning i uforanderlig modus for AuditD, som fryser regelfilen og forbyr redigering/overskriving. Dette problemet er løst med omstarten.

Kjør følgende kommando etter omstart for å kontrollere om overvåkingsreglene ble fjernet:

% sudo auditctl -l

Utdataene fra forrige kommando skal ikke vise noen regler eller regler som er lagt til av brukeren. I tilfeller der reglene ikke ble fjernet, gjør du følgende for å fjerne revisjonsregelfilen:

  1. Bytt til ebpf-modus.
  2. Fjern filen /etc/audit/rules.d/mdatp.rules.
  3. Start maskinen på nytt.

Feilsøking og diagnostikk

Du kan kontrollere statusen for agenttilstanden ved å kjøre tilstandskommandoen mdatp . Kontroller at eBPF-sensoren for Defender for Endpoint på Linux støttes ved å kontrollere gjeldende kjerneversjon ved hjelp av følgende kommandolinje:

uname -a

Kjente problemer

  1. Aktivering av eBPF på RHEL 8.1-versjon med SAP kan føre til kjernepanikk. Hvis du vil redusere dette problemet, kan du utføre ett av følgende trinn:

    • Bruk en distroversjon som er høyere enn RHEL 8.1.
    • Bytt til overvåkingsmodus hvis du trenger å bruke RHEL 8.1-versjonen.
  2. Bruk av Oracle Linux 8.8 med kjerneversjon 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 kan føre til kjernepanikk. Hvis du vil redusere dette problemet, kan du utføre ett av følgende trinn:

    • Bruk en kjerneversjon som er høyere eller lavere enn 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 bruke eBPF som ekstra delsystemleverandør. Minimumskjerneversjonen for Oracle Linux er RHCK 3.10.0 og Oracle Linux UEK er 5.4.
    • Bytt til overvåkingsmodus hvis du må bruke samme kjerneversjon
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

De følgende to datasettene bidrar til å analysere potensielle problemer og bestemme de mest effektive løsningsalternativene.

  1. Samle inn en diagnosepakke fra verktøyet for klientanalyse ved hjelp av følgende instruksjoner: Feilsøk ytelsesproblemer for Microsoft Defender for endepunkt på Linux.

  2. Samle inn en diagnosepakke for feilsøking når Defender for Endpoint bruker høye ressurser ved hjelp av følgende instruksjoner: Microsoft Defender for endepunkt på Linux-ressurser.

Feilsøke ytelsesproblemer

Hvis du ser økt ressursforbruk ved å Microsoft Defender på endepunktene, er det viktig å identifisere prosessen/monteringspunktet/filene som forårsaker mesteparten av prosessor-/minneutnyttelsen. Deretter kan du bruke de nødvendige utelukkelsene. Når du har brukt mulige antivirusutelukkelser, bruker du kommandoen ebpf-statistics hvis wdavdaemon (overordnet prosess) fremdeles bruker ressursene til å få det øverste antallet systemanrop:

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 forrige utdata kan du se at stress-ng er den øverste prosessen som genererer et stort antall hendelser og kan føre til ytelsesproblemer. Mest sannsynlig er stress-ng genererer systemkallet med ID 82. Du kan opprette en billett med Microsoft for å få denne prosessen utelatt. I fremtiden, som en del av kommende forbedringer, har du mer kontroll over å bruke slike utelatelser på slutten.

Utelukkelser som brukes på AuditD, kan ikke overføres eller kopieres til eBPF. Vanlige bekymringer som støyende logger, kjernepanikk, støyende syscalls er allerede tatt vare på av eBPF internt. I tilfelle du vil legge til ytterligere utelatelser, kan du ta kontakt med Microsoft for å få de nødvendige utelukkelsene tatt i bruk.

Vanlige spørsmål – Overgang til eBPF

1. Hvorfor bør du vurdere å flytte til eBPF?

Det utvidede Berkeley-pakkefilteret (eBPF) for Microsoft Defender for endepunkt på Linux fungerer som et effektivt alternativ til AuditD og løser ulike utfordringer knyttet til leverandøren av overvåkingshendelser, samtidig som det gir betydelige fordeler når det gjelder ytelse og systemstabilitet. Noen av de viktigste fordelene inkluderer -

  • Ytelse: eBPF forbedrer ytelsen betydelig ved å redusere belastningen på systemressurser sammenlignet med AuditD.

  • Ressurseffektivitet: eBPF bruker færre ressurser, noe som bidrar til å opprettholde systemstabiliteten selv under store belastningsforhold.

  • Skalerbarhet: Arkitekturen til eBPF er mer skalerbar, noe som gjør den til et bedre valg for miljøer med voksende eller komplekse arbeidsbelastninger.

  • Moderne teknologi: eBPF representerer en moderne, fremtidsrettet teknologi som er i tråd med fremtidig utvikling av Linux-kjerner, noe som sikrer bedre langsiktig støtte.

2. Hvordan kan jeg fortsette å bruke AuditD?

Hvis du foretrekker å fortsette å bruke AuditD:

  • Støttede versjoner: Du kan forbli på Defender for Endpoint på Linux versjon 101.24072.0000, som vil støtte AuditD under gyldigheten av bygget, som er omtrent ni måneder. Dette gir en tilstrekkelig overgangsperiode til å planlegge overgangen til eBPF. Utløpsdatoen kan kontrolleres ved å kjøre kommandoen mdatp health på Linux-serveren.

  • Long-Term Plan: Mens du holder deg på 101.24072.0000 bygget er et alternativ, anbefaler vi å planlegge overgangen til eBPF innenfor denne tidsrammen for å sikre at du drar nytte av de nyeste sikkerhets- og ytelsesforbedringene, og også få fortsatt støtte.

Når det er sagt, vil vår anbefaling være å planlegge et trekk til å bruke eBPF som primær hendelsesleverandør.

3. Hva skjer hvis eBPF ikke støttes i enkelte scenarioer?

I tilfeller der eBPF ikke støttes:

  • Netlink Fallback: Systemet går tilbake til å bruke Netlink-hendelsesleverandøren. Mens Netlink fortsetter å registrere prosesshendelser (for eksempel exec, , exitfork, gid, eller tid), støtter det ikke filsystemrelaterte hendelser (for eksempel rename, ) unlinkeller socket-hendelser.

  • Innvirkning: Arbeidsbelastningene dine blir ikke forstyrret, men du kan gå glipp av bestemte fil- og socket-relaterte hendelser som eBPF ellers ville registrert.

4. Hvordan kan jeg administrere utelatelser med de oppdaterte versjonene?

Følgende er noen vanlige årsaker til å plassere utelatelser for AuditD:

  • Ytelse som noen syscall eller prosess genererer mye støy

  • Kernel Panic, det er tider hvor mange syscalls spesielt nettverk / filesystem samtaler resulterte i kjerne panikk.

  • Støyende logger, der overvåkingslogger bruker opp diskplassen. Kunden la inn utelukkelsene for støyende prosesser for å redusere loggstørrelsen.

Med eBPF er de to første brukstilfellene kandidatene for overføringen. Logger er ikke lenger et problem med eBPF. I de to første bruksområdene kan du velge blant følgende alternativer:

  • Kontakt kundestøtte: Ta kontakt med Microsoft for å ta i bruk utelukkelsene fra serverdel.

  • Globale utelatelser: I de oppdaterte versjonene av Defender for Endpoint på Linux kan utelukkelser administreres med globale utelatelser. Globale utelatelser gjelder for både antivirus og EDR og kan konfigureres via den administrerte json-en for øyeblikket. Hvis du vil ha mer informasjon, kan du se Konfigurere og bekrefte utelatelser for Microsoft Defender for endepunkt på Linux.

5. Hva bør jeg gjøre i tilfelle det oppstår problemer?

  • Kontakt kundestøtte: Hvis du støter på problemer under eller etter overgangen til eBPF, kan du kontakte teknisk støtte for å få hjelp. Vi er forpliktet til å sikre en jevn overgang og er tilgjengelige for å løse eventuelle utfordringer du måtte møte.

  • Støttekanaler: Du kan kontakte kundestøtte via Microsoft Defender-portalen. I tillegg er våre kunnskapsbase og fellesskapsfora verdifulle ressurser for feilsøking av vanlige problemer.

Se også