Megosztás a következőn keresztül:


EBPF-alapú érzékelő használata a Végponthoz készült Microsoft Defenderhez Linuxon

Érintett szolgáltatás:

A Végponthoz készült Microsoft Defenderhez készült kiterjesztett Berkeley csomagszűrő (eBPF) kiegészítő eseményadatokat biztosít a Linux operációs rendszerekhez. Az eBPF a naplózás alternatív technológiájaként is használható, mivel az eBPF segít a naplózott eseményszolgáltatóval kapcsolatos problémák több osztályának kezelésében, és előnyös a teljesítmény és a rendszer stabilitása terén.

A legfontosabb előnyök a következők:

  • Csökkentett rendszerszintű naplózással kapcsolatos naplózaj
  • Az optimalizált rendszerszintű eseményszabályok egyébként ütközést okoznak az alkalmazások között
  • Csökkentett terhelés a fájlesemények (fájlolvasás/megnyitás) monitorozásához
  • Továbbfejlesztett eseménysebesség és csökkentett memóriaigény
  • Optimalizált teljesítmény adott konfigurációkhoz

Az eBPF működése

Az eBPF használatával a naplózott eseményszolgáltatótól korábban beszerzett események most már az eBPF érzékelőből áramlanak. Ez segít a rendszer stabilitásában, javítja a processzor- és memóriakihasználtságot, és csökkenti a lemezhasználatot. Ha az eBPF engedélyezve van, az összes naplózott egyéni szabály megszűnik, ami segít csökkenteni az alkalmazások közötti ütközések lehetőségét. Az eBPF-hez kapcsolódó adatok a /var/log/microsoft/mdatp/microsoft_defender_core.log fájlba lesznek bejelentkezve.

Emellett az eBPF érzékelő a Linux-kernel képességeit használja anélkül, hogy olyan kernelmodult kellene használnia, amely segít a rendszer stabilitásának növelésében.

Megjegyzés:

Az eBPF a naplózással együtt használatos, míg a naplózás csak a felhasználói bejelentkezési eseményekhez használatos, és ezeket az eseményeket egyéni szabályok nélkül rögzíti, és automatikusan folyama. Vegye figyelembe, hogy a naplózás fokozatosan törlődik a jövőbeli verziókban.

Rendszer előfeltételei

A Végponthoz készült Microsoft Defender eBPF érzékelője Linux rendszeren a következő minimális terjesztési és kernelverziókban támogatott:

Linux-disztribúció Terjesztési verzió Kernelverzió
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

Megjegyzés:

Az 5.15.0-0.30.20.el8uek.x86_64,5.15.0-0.30.20.1.el8uek.x86_64 verziójú Oracle Linux 8.8 kernel lefagy, ha az eBPF kiegészítő alrendszer-szolgáltatóként van engedélyezve. Ez a kernelverzió nem használható eBPF módhoz. A hibaelhárítási lépésekért tekintse meg a Hibaelhárítás és diagnosztika szakaszt.

Az eBPF használata

Az eBPF érzékelő alapértelmezés szerint minden ügyfél számára automatikusan engedélyezve van a "101.23082.0006" és újabb ügynökverziók esetében. Az ügyfeleknek egy támogatott verzióra kell frissítenie a funkció használatához. Ha az eBPF érzékelő engedélyezve van egy végponton, a Végponthoz készült Defender Linuxon az ebpf supplementary_events_subsystem.

ebpf alrendszer kiemelése az mdatp health parancsban

Ha manuálisan szeretné letiltani az eBPF-t, futtassa a következő parancsot:

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

A mdatp_managed.json fájlt is frissítheti:

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

A részletes JSON-mintafájl – Végponthoz készült Microsoft Defender beállításainak megadása Linuxon hivatkozásra kattintva.

Fontos

Ha letiltja az eBPF-et, a kiegészítő eseményszolgáltató visszaáll a naplózásra. Abban az esetben, ha az eBPF nem válik engedélyezve, vagy nem támogatott egyetlen adott kernelen sem, automatikusan visszaáll a naplózottra, és megőrzi az összes naplózott egyéni szabályt.

Az eBPF állapotát (engedélyezve/letiltva) a Linux-végpontokon is ellenőrizheti speciális veszélyforrás-kereséssel a Microsoft Defender portálon. A lépések a következők:

  1. Nyissa meg a Microsoft Defender portált , és jelentkezzen be.

  2. A navigációs panelen válassza a Veszélyforrás-keresés speciális veszélyforrás-keresés> lehetőséget.

  3. A Speciális veszélyforrás-keresés területen lépjen a Defender biztonságirés-kezelés lapra.

  4. Futtassa a következő lekérdezést: DeviceTvmInfoGathering.

  5. A kimenet További mezők oszlopában válassza a Továbbiak megjelenítése lehetőséget, majd keresse meg az EBPF STATUS: true értéket.

Nem módosítható naplózási mód

A nem módosítható módban naplózott ügyfelek esetében az eBPF engedélyezése után újraindításra van szükség a Végponthoz készült Microsoft Defender által hozzáadott naplózási szabályok törléséhez. Ez a követelmény a nem módosítható naplózási mód korlátozása, amely lefagyja a szabályfájlt, és megtiltja a szerkesztést/felülírást. Ez a probléma az újraindítással megoldódott.

Az újraindítás után futtassa a következő parancsot annak ellenőrzéséhez, hogy a naplózási szabályok törölve lettek-e:

% sudo auditctl -l

Az előző parancs kimenetében nem jelenhet meg szabály vagy felhasználó által hozzáadott szabály. Ha a szabályok nem lettek eltávolítva, a következő lépésekkel törölheti a naplózási szabályok fájlját:

  1. Váltson ebpf módra.
  2. Távolítsa el a fájlt /etc/audit/rules.d/mdatp.rules.
  3. Indítsa újra a gépet.

Hibaelhárítás és diagnosztika

Az ügynök állapotának ellenőrzéséhez futtassa az mdatp állapotparancsot. Győződjön meg arról, hogy a Végponthoz készült Defender eBPF érzékelője támogatott a jelenlegi kernelverzió ellenőrzésével a következő parancssor használatával:

uname -a

Ismert problémák

  1. Az eBPF RHEL 8.1-es verziójának SAP-val való engedélyezése kernelpánikhoz vezethet. A probléma megoldásához hajtsa végre az alábbi lépések egyikét:

    • Használjon az RHEL 8.1-nél magasabb disztribúciós verziót.
    • Ha az RHEL 8.1-es verzióját kell használnia, váltson naplózott módra.
  2. Ha az Oracle Linux 8.8-et az 5.15.0-0.30.20.el8uek.x86_64-es kernelverzióval használja, az 5.15.0-0.30.20.1.el8uek.x86_64 kernelpánikot okozhat. A probléma megoldásához hajtsa végre az alábbi lépések egyikét:

    • Az Oracle Linux 8.8 rendszeren az 5.15.0-0.30.20.el8uek.x86_64,5.15.0-0.30.20.1.el8uek.x86_64-nál magasabb vagy annál régebbi kernelverziót használjon, ha kiegészítő alrendszer-szolgáltatóként szeretné használni az eBPF-t. Az Oracle Linux minimális kernelverziója az RHCK 3.10.0, az Oracle Linux UEK pedig 5.4.
    • Váltson naplózott módra, ha ugyanazt a kernelverziót kell használnia
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

Az alábbi két adatkészlet segít elemezni a lehetséges problémákat, és meghatározni a leghatékonyabb megoldási lehetőségeket.

  1. Gyűjtsön diagnosztikai csomagot az ügyfélelemző eszközből a következő utasítások használatával: Végponthoz készült Microsoft Defender teljesítményproblémáinak elhárítása Linuxon.

  2. Gyűjtsön hibakeresési diagnosztikai csomagot, ha a Végponthoz készült Defender magas erőforrásokat használ a következő utasítások használatával: Végponthoz készült Microsoft Defender Linux-erőforrásokon.

Teljesítményproblémák elhárítása

Ha a Végpontokon a Microsoft Defender megnövekedett erőforrás-használatot lát, fontos azonosítani azokat a folyamatokat/csatlakoztatási pontokat/fájlokat, amelyek a processzor-/memóriakihasználtság nagy részét okozzák. Ezután alkalmazhatja a szükséges kizárásokat. A lehetséges AV-kizárások alkalmazása után, ha a wdavdaemon (szülőfolyamat) még mindig használja az erőforrásokat, használja az ebpf-statistics parancsot a rendszerhívások legmagasabb számának lekéréséhez:

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

Az előző kimenetben láthatja, hogy a stress-ng a legnagyobb folyamat, amely nagy számú eseményt hoz létre, és teljesítményproblémákat okozhat. A stress-ng valószínűleg a 82-es azonosítójú rendszerhívást hozza létre. Létrehozhat egy jegyet a Microsofttal, hogy kizárja ezt a folyamatot. A jövőben a jövőbeli fejlesztések részeként jobban szabályozhatja az ilyen kizárások alkalmazását.

A naplózott kizárások nem migrálhatók és nem másolhatók át az eBPF-be. Az olyan gyakori problémákról, mint a zajos naplók, a kernelpánik, a zajos syscallok, már belsőleg kezelik az eBPF-t. Ha további kizárásokat szeretne hozzáadni, lépjen kapcsolatba a Microsoft-lal a szükséges kizárások alkalmazásához.

Lásd még