Dela via


Använda eBPF-baserad sensor för Microsoft Defender för Endpoint på Linux

Gäller för:

Det utökade Berkeley Packet Filter (eBPF) för Microsoft Defender för Endpoint på Linux tillhandahåller kompletterande händelsedata för Linux-operativsystem. eBPF kan användas som en alternativ teknik för granskning eftersom eBPF hjälper till att hantera flera typer av problem som ses med den granskade händelseleverantören och är fördelaktigt när det gäller prestanda och systemstabilitet.

Viktiga fördelar är:

  • Minskat systemomfattande granskningsrelaterat loggbrus
  • Optimerade systemomfattande händelseregler som annars orsakar konflikter mellan program
  • Lägre omkostnader för övervakning av filhändelser (filläsning/öppen)
  • Förbättrat dataflöde för händelsefrekvens och minskat fotavtryck för minne
  • Optimerad prestanda för specifika konfigurationer

Så här fungerar eBPF

Med eBPF flödar händelser som tidigare erhållits från den granskade händelseprovidern nu från eBPF-sensorn. Detta hjälper till med systemstabilitet, förbättrar processor- och minnesanvändningen och minskar diskanvändningen. När eBPF är aktiverat elimineras dessutom alla granskade anpassade regler, vilket minskar risken för konflikter mellan program. Data som rör eBPF loggas in i filen /var/log/microsoft/mdatp/microsoft_defender_core.log.

Dessutom använder eBPF-sensorn funktioner i Linux-kerneln utan att kräva användning av en kernelmodul som bidrar till att öka systemets stabilitet.

Obs!

eBPF används tillsammans med auditd, medan auditd endast används för användarinloggningshändelser och registrerar dessa händelser utan några anpassade regler och flödar dem automatiskt. Tänk på att granskning kommer att tas bort gradvis i framtida versioner.

Systemkrav

eBPF-sensorn för Microsoft Defender för Endpoint i Linux stöds på följande lägsta distributions- och kernelversioner:

Linux-distribution Distributionsversion Kernel-version
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 kernelversion 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 resulterar i kernellåsning när eBPF är aktiverat som kompletterande undersystemleverantör. Den här kernelversionen bör inte användas för eBPF-läge. Se avsnittet Felsökning och diagnostik för åtgärdssteg.

Använda eBPF

eBPF-sensorn aktiveras automatiskt för alla kunder som standard för agentversionerna "101.23082.0006" och senare. Kunder måste uppdatera till de versioner som stöds ovan för att kunna använda funktionen. När eBPF-sensorn är aktiverad på en slutpunkt uppdateras Defender för Endpoint på Linux supplementary_events_subsystem till ebpf.

ebpf-undersystemmarkering i mdatp-hälsokommandot

Om du vill inaktivera eBPF manuellt kan du köra följande kommando:

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

Du kan också uppdatera mdatp_managed.json-filen:

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

Se länken för detaljerad json-exempelfil – Ange inställningar för Microsoft Defender för Endpoint i Linux.

Viktigt

Om du inaktiverar eBPF växlar den kompletterande händelseleverantören tillbaka till granskad. Om eBPF inte aktiveras eller inte stöds på någon specifik kernel, växlar den automatiskt tillbaka till granskad och behåller alla granskade anpassade regler.

Du kan också kontrollera statusen för eBPF (aktiverad/inaktiverad) på dina Linux-slutpunkter med avancerad jakt i Microsoft Defender-portalen. Stegen är följande:

  1. Gå till Microsoft Defender-portalen och logga in.

  2. I navigeringsfönstret går du till Jakt>Avancerad jakt.

  3. Under Avancerad jakt går du till Sårbarhetshantering i Defender.

  4. Kör följande fråga: DeviceTvmInfoGathering.

  5. I utdata i kolumnen Ytterligare fält väljer du Visa mer och letar sedan efter EBPF STATUS: true.

Oföränderligt läge för Granskad

För kunder som använder granskning i oföränderligt läge krävs en omstart efter aktiveringen av eBPF för att rensa granskningsreglerna som lagts till av Microsoft Defender för Endpoint. Det här är en begränsning i oföränderligt läge för granskning, vilket låser regelfilen och förbjuder redigering/överskrivning. Det här problemet har lösts med omstarten. Efter omstarten kör du kommandot nedan för att kontrollera om granskningsreglerna har rensats.

% sudo auditctl -l

Utdata från kommandot ovan bör inte visa några regler eller några regler som lagts till av användaren. Om reglerna inte togs bort utför du följande steg för att rensa filen med granskningsregler.

  1. Växla till ebpf-läge
  2. Ta bort filen /etc/audit/rules.d/mdatp.rules
  3. Starta om datorn

Felsökning och diagnostik

Du kan kontrollera agentens hälsostatus genom att mdatp köra hälsokommandot. Kontrollera att eBPF-sensorn för Defender för Endpoint i Linux stöds genom att kontrollera den aktuella kernelversionen med hjälp av följande kommandorad:

uname -a

Kända problem

  1. Om du aktiverar eBPF på RHEL 8.1-versionen med SAP kan det leda till kernel-panik. Du kan åtgärda det här problemet genom att utföra något av följande steg:

    • Använd en distributionsversion som är högre än RHEL 8.1.
    • Växla till granskningsläge om du behöver använda RHEL 8.1-versionen.
  2. Användning av Oracle Linux 8.8 med kernelversion 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 kan leda till kernel-panik. Du kan åtgärda det här problemet genom att utföra något av följande steg:

    • Använd en kernelversion som är högre eller lägre än 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 på Oracle Linux 8.8 om du vill använda eBPF som kompletterande undersystemprovider. Observera att den lägsta kernelversionen för Oracle Linux är RHCK 3.10.0 och Oracle Linux UEK är 5.4.
    • Växla till granskningsläge om du behöver använda samma kernelversion
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

Följande två uppsättningar data hjälper till att analysera potentiella problem och fastställa de mest effektiva lösningsalternativen.

  1. Samla in ett diagnostikpaket från verktyget för klientanalys med hjälp av följande instruktioner: Felsöka prestandaproblem för Microsoft Defender för Endpoint i Linux.

  2. Samla in ett felsökningsdiagnostikpaket när Defender för Endpoint använder höga resurser med hjälp av följande instruktioner: Microsoft Defender för Endpoint på Linux-resurser.

Felsöka prestandaproblem

Om du ser en ökning av resursförbrukningen genom att Microsoft Defender på dina slutpunkter är det viktigt att identifiera processen/monteringspunkten/filerna som förbrukar mest processor-/minnesanvändning och sedan tillämpa nödvändiga undantag. När du har tillämpat möjliga AV-undantag, om wdavdaemon (överordnad process) fortfarande förbrukar resurserna, använder du kommandot ebpf-statistics för att hämta det högsta antalet 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 ovanstående utdata kan du se att stress-ng är den översta processen som genererar ett stort antal händelser och kan resultera i prestandaproblem. Troligtvis genererar stress-ng systemanropet med ID 82. Du kan skapa ett ärende med Microsoft för att undanta den här processen. I framtiden som en del av kommande förbättringar har du större kontroll över att tillämpa sådana undantag i slutet.

Undantag som tillämpas på granskade kan inte migreras eller kopieras till eBPF. Vanliga problem som bullriga loggar, kernel panik, bullriga syscalls tas redan hand om av eBPF internt. Om du vill lägga till ytterligare undantag kontaktar du Microsoft för att få de nödvändiga undantagen tillämpade.

Se även