Dela via


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

Gäller för:

Obs!

Från och med Defender för Endpoint i Linux stöds inte längre version 101.2408.0000, AuditD som en kompletterande händelseprovider. Mer information finns i Vanliga frågor och svar i slutet av den här artikeln.

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 hjälper till att åtgärda flera typer av problem som ses med AuditD-händelseleverantören och är fördelaktigt när det gäller prestanda och systemstabilitet.

Viktiga fördelar är:

  • Minskat systemomfattande AuditD-relaterat 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 AuditD-händelseprovidern nu från eBPF-sensorn. Detta hjälper till med systemstabilitet, förbättrar processor- och minnesanvändningen och minskar diskanvändningen. eBPF bidrar till att minska risken för konflikter mellan program eftersom inga anpassade regler krävs. 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.

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
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 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 agentversioner 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.

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 eller om eBPF inte stöds på någon specifik kernel växlar den kompletterande händelseleverantören till Netlink. Alla processåtgärder fortsätter att flöda sömlöst, men du kan missa specifika fil- och socketrelaterade händelser som eBPF annars skulle samla in.

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 Defender – hantering av säkerhetsrisker.

  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 AuditD

För kunder som använder AuditD 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 AuditD, 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:

  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 AuditD-lä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. Den lägsta kernelversionen för Oracle Linux är RHCK 3.10.0 och Oracle Linux UEK är 5.4.
    • Växla till AuditD-lä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 ökad resursförbrukning genom att 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 antivirusundantag, om wdavdaemon (överordnad process) fortfarande använder resurserna, använder du kommandot ebpf-statistics för att få 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å AuditD 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.

Vanliga frågor och svar – Övergång till eBPF

1. Varför bör du överväga att flytta till eBPF?

Det utökade Berkeley Packet Filter (eBPF) för Microsoft Defender för Endpoint på Linux fungerar som ett effektivt alternativ till AuditD och hanterar olika utmaningar som är associerade med AuditD-händelseleverantören samtidigt som det ger betydande fördelar när det gäller prestanda och systemstabilitet. Några av de viktigaste fördelarna är -

  • Prestanda: eBPF förbättrar prestanda avsevärt genom att minska omkostnaderna för systemresurser jämfört med AuditD.

  • Resurseffektivitet: eBPF använder färre resurser, vilket bidrar till att upprätthålla systemstabilitet även under tunga belastningsförhållanden.

  • Skalbarhet: eBPF:s arkitektur är mer skalbar, vilket gör den till ett bättre val för miljöer med växande eller komplexa arbetsbelastningar.

  • Modern teknik: eBPF representerar en modern, framåtblickande teknik som överensstämmer med framtida utvecklingar av Linux-kerneln, vilket ger bättre långsiktigt stöd.

2. Hur kan jag fortsätta att använda AuditD?

Om du föredrar att fortsätta använda AuditD:

  • Versioner som stöds: Du kan vara kvar på Defender för Endpoint på Linux version 101.24072.0000, som stöder AuditD under giltigheten av versionen, vilket är ungefär nio månader. Detta ger en tillräckligt lång övergångsperiod för att planera flytten till eBPF. Förfallodatum kan kontrolleras genom att köra kommandot mdatp health på Linux-servern.

  • Long-Term Plan: Även om det är ett alternativ att stanna kvar på bygget 101.24072.0000 rekommenderar vi att du planerar övergången till eBPF inom den här tidsramen för att säkerställa att du drar nytta av de senaste säkerhets- och prestandaförbättringarna och även får fortsatt support.

Med detta sagt skulle vår rekommendation vara att planera en övergång till att använda eBPF som primär händelseleverantör.

3. Vad händer om eBPF inte stöds i vissa scenarier?

I fall där eBPF inte stöds:

  • Netlink Fallback: Systemet återgår till att använda Netlink-händelseprovidern. Netlink fortsätter att samla in processhändelser (till exempel , , , eller ), men tidstöder inte filsystemrelaterade händelser (till exempel rename, unlink) eller sockethändelser. gidforkexitexec

  • Effekt: Dina arbetsbelastningar kommer inte att störas, men du kan missa specifika fil- och socketrelaterade händelser som eBPF annars skulle samla in.

4. Hur kan jag hantera undantag med uppdaterade versioner?

Följande är några vanliga orsaker till att undanta AuditD:

  • Prestanda eftersom vissa syscall eller processer genererar mycket brus

  • Kernel Panic, det finns tillfällen då många syscalls specifikt nätverk / filsystem samtal resulterade i kernel panik.

  • Bullriga loggar, där granskningsloggar använder diskutrymmet. Kunden har placerat undantagen för bullriga processer för att minska loggstorleken.

När det gäller eBPF är de två första användningsfallen kandidater för migreringen. Loggar är inte längre ett problem med eBPF. För de första två användningsfallen kan du välja bland följande alternativ:

  • Kontakta supporten: Kontakta Microsoft för att tillämpa undantagen från serverdelen.

  • Globala undantag: I de uppdaterade versionerna av Defender för Endpoint i Linux kan undantag hanteras med globala undantag. Globala undantag gäller för både antivirus och EDR och kan konfigureras via den hanterade json för närvarande. Mer information finns i Konfigurera och validera undantag för Microsoft Defender för Endpoint på Linux.

5. Vad ska jag göra om det finns problem?

  • Kontakta supporten: Kontakta teknisk support om du stöter på problem under eller efter övergången till eBPF. Vi strävar efter att säkerställa en smidig övergång och är tillgängliga för att lösa eventuella utmaningar.

  • Supportkanaler: Du kan kontakta supporten via Microsoft Defender-portalen. Dessutom är våra kunskapsbas- och communityforum värdefulla resurser för felsökning av vanliga problem.

Se även