Använda eBPF-baserad sensor för Microsoft Defender för Endpoint i Linux
Gäller för:
- Microsoft Defender för Endpoint för Linux
- Microsoft Defender för Endpoint Abonnemang 1
- Microsoft Defender för Endpoint Abonnemang 2
Det utökade Berkeley-paketfiltret (eBPF) för Microsoft Defender för Endpoint i 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 en version som stöds 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.
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:
Gå till Microsoft Defender-portalen och logga in.
I navigeringsfönstret går du till Jakt>Avancerad jakt.
Under Avancerad jakt går du till Sårbarhetshantering i Defender.
Kör följande fråga:
DeviceTvmInfoGathering
.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 aktivering av eBPF för att rensa granskningsreglerna som lagts till av Microsoft Defender för Endpoint. Det här kravet ä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.
Kör följande kommando efter omstarten för att kontrollera om granskningsreglerna har rensats:
% sudo auditctl -l
Utdata från föregående kommando bör inte visa några regler eller några regler som lagts till av användaren. Om reglerna inte har tagits bort gör du följande för att rensa filen med granskningsregler:
- Växla till ebpf-läge.
- Ta bort filen
/etc/audit/rules.d/mdatp.rules
. - 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
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.
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. 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.
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.
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 ökad resursförbrukning av Microsoft Defender på dina slutpunkter är det viktigt att identifiera processen/monteringspunkten/filerna som orsakar det mesta av processor-/minnesanvändningen. Du kan sedan tillämpa de nödvändiga undantagen. 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 föregå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
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för