Del via


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

Gjelder for:

Det utvidede Berkeley-pakkefilteret (eBPF) for Microsoft Defender for endepunkt på Linux gir supplerende hendelsesdata for Linux-operativsystemer. eBPF kan brukes som en alternativ teknologi som skal overvåkes fordi eBPF bidrar til å løse flere klasser av problemer sett med den reviderte hendelsesleverandøren og er gunstig 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 ble hentet fra leverandøren av den reviderte hendelsen, nå fra eBPF-sensoren. Dette hjelper med systemstabilitet, forbedrer prosessor- og minneutnyttelsen og reduserer diskbruken. Når eBPF er aktivert, elimineres også alle overvåkede egendefinerte regler, noe som bidrar til å redusere muligheten for konflikter mellom programmer. 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.

Obs!

eBPF brukes sammen med overvåket, mens overvåket brukes bare for brukerpåloggingshendelser og registrerer disse hendelsene uten egendefinerte regler og flyter dem automatisk. Vær oppmerksom på at revidert vil bli gradvis fjernet i fremtidige versjoner.

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

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 agentversjonene «101.23082.0006» og høyere. Kunder må oppdatere til de ovennevnte støttede versjonene 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, bytter den supplerende hendelsesleverandøren tilbake til overvåket. Hvis eBPF ikke aktiveres eller ikke støttes på en bestemt kjerne, vil den automatisk bytte tilbake til overvåket og beholde alle overvåkede egendefinerte regler.

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 revidert

For kunder som bruker revidert i uforanderlig modus, kreves en omstart etter aktivering av eBPF for å fjerne overvåkingsreglene som er lagt til av Microsoft Defender for endepunkt. Dette er en begrensning i uforanderlig modus for overvåket modus, som fryser regelfilen og forbyr redigering/overskriving. Dette problemet er løst med omstarten. Kjør kommandoen nedenfor for å kontrollere om overvåkingsreglene ble fjernet etter omstart.

% sudo auditctl -l

Utdataene fra kommandoen ovenfor skal ikke vise noen regler eller regler som er lagt til av brukeren. I tilfelle reglene ikke ble fjernet, utfører du følgende trinn 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 må 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. Vær oppmerksom på at 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 en økning i ressursforbruket ved å Microsoft Defender på endepunktene, er det viktig å identifisere prosessen/monteringspunktet/filene som bruker mest prosessor/minneutnyttelse, og deretter bruke nødvendige utelatelser. Når du har brukt mulige AV-utelatelser, bruker du ressursene hvis wdavdaemon (overordnet prosess) fremdeles bruker ressursene, og deretter bruker du kommandoen ebpf-statistics 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 utdataene ovenfor 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å overvåkede, 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.

Se også