Share via


eBPF-pohjaisen tunnistimen käyttäminen Linux-Microsoft Defender for Endpoint varten

Koskee seuraavia:

Laajennettu Berkeley Packet Filter (eBPF) for Microsoft Defender for Endpoint on Linux tarjoaa lisätapahtumatietoja Linux-käyttöjärjestelmille. eBPF:ää voidaan käyttää vaihtoehtoisena valvontatekniikkana, koska eBPF auttaa ratkaisemaan useita valvotun tapahtuman tarjoajan ongelmia ja hyödyttää suorituskykyä ja järjestelmän vakautta.

Tärkeimpiä etuja ovat seuraavat:

  • Järjestelmänlaajuisen valvotun lokin melun vähentäminen
  • Optimoidut koko järjestelmän laajuiset tapahtumasäännöt aiheuttavat muuten ristiriitoja sovellusten välillä
  • Tiedoston tapahtumien (tiedoston luku/avaaminen) valvonnan kuormitus vähenee
  • Parannettu tapahtumanopeus ja pienennetty muistin käyttö
  • Optimoitu suorituskyky tiettyjä määrityksiä varten

Miten eBPF toimii

eBPF:n avulla aiemmin valvotun tapahtuman tarjoajalta saadut tapahtumat kulkevat nyt eBPF-tunnistimen kautta. Tämä auttaa järjestelmän vakauden kanssa, parantaa suoritinta ja muistin käyttöä ja vähentää levyn käyttöä. Lisäksi kun eBPF on käytössä, kaikki valvottuihin mukautettuihin sääntöihin liittyvät säännöt poistetaan, mikä auttaa vähentämään sovellusten välisten ristiriitojen mahdollisuutta. eBPF:ään liittyvät tiedot kirjataan tiedostoon /var/log/microsoft/mdatp/microsoft_defender_core.log.

Lisäksi eBPF-tunnistin käyttää Linux-ytimen ominaisuuksia ilman, että tarvitsee käyttää ydinmoduulia, joka parantaa järjestelmän vakautta.

Huomautus

eBPF:tä käytetään yhdessä auditoinnin kanssa, kun taas auditoitua käytetään vain käyttäjien kirjautumistapahtumiin, ja se tallentaa nämä tapahtumat ilman mukautettuja sääntöjä ja työnkulkuja ne automaattisesti. Huomaa, että tarkastettu poistetaan asteittain tulevissa versioissa.

Järjestelmän edellytykset

Linux-Microsoft Defender for Endpoint eBPF-tunnistinta tuetaan seuraavissa vähimmäisjakauma- ja ydinversioissa:

Linux-jakelu Jakeluversio Ytimen versio
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

Huomautus

Oracle Linux 8.8 ydinversiolla 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 aiheuttaa ydin jumiutumisen, kun eBPF on käytössä täydentävänä alijärjestelmän tarjoajana. Tätä ydinversiota ei saa käyttää eBPF-tilassa. Lisätietoja lievennysvaiheista on vianmääritys- ja diagnostiikkaosiossa.

eBPF:n käyttäminen

eBPF-tunnistin otetaan automaattisesti käyttöön kaikille asiakkaille oletusarvoisesti agenttiversioissa "101.23082.0006" ja sitä uudemmissa versioissa. Asiakkaiden on päivitettävä yllä mainittuihin tuettuihin versioihin, jotta he voivat kokea ominaisuuden. Kun eBPF-tunnistin on otettu käyttöön päätepisteessä, Defender for Endpoint linuxissa päivittyy supplementary_events_subsystem ebpf:ksi.

ebpf-alijärjestelmän korostus mdatp-kuntokomennossa

Jos haluat poistaa eBPF:n manuaalisesti käytöstä, voit suorittaa seuraavan komennon:

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

Voit myös päivittää mdatp_managed.json-tiedoston:

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

Katso yksityiskohtainen json-mallitiedosto linkistä – Määritä linux-Microsoft Defender for Endpoint asetukset.

Tärkeää

Jos poistat eBPF:n käytöstä, täydentävä tapahtumatoimittaja siirtyy takaisin auditoituun. Jos eBPF ei ole käytössä tai sitä ei tueta tietyssä ytimessä, se siirtyy automaattisesti takaisin valvottuun ja säilyttää kaikki valvotut mukautetut säännöt.

Voit myös tarkistaa eBPF:n tilan (käytössä /poistettu käytöstä) Linux-päätepisteissä käyttämällä kehittynyttä metsästystä Microsoft Defender Portalissa. Vaiheet ovat seuraavat:

  1. Siirry Microsoft Defender portaaliin ja kirjaudu sisään.

  2. Valitse siirtymisruudussa Metsästys>Kehittynyt metsästys.

  3. Siirry lisämetsästyksen kohdassa Defenderin haavoittuvuuden hallinta.

  4. Suorita seuraava kysely: DeviceTvmInfoGathering.

  5. Valitse tulosteen Lisäkentät-sarakkeestaNäytä lisää ja etsi sitten EBPF STATUS: true.

Valvonnan muuttumaton tila

Asiakkaille, jotka käyttävät valvontaa muuttumattomassa tilassa, eBPF on käynnistettävä uudelleen, jotta Microsoft Defender for Endpoint lisäämät valvontasäännöt voidaan tyhjentää. Tämä on rajoitus muuttumattomassa auditointitilassa, joka lukitsee sääntötiedoston ja estää muokkaamisen/korvaamisen. Tämä ongelma on ratkaistu uudelleenkäynnistyksen yhteydessä. Uudelleenkäynnistyksen jälkeen tarkista, tyhjennetäänkö valvontasäännöt alla olevalla komennolla.

% sudo auditctl -l

Yllä olevan komennon tuloste ei saa näyttää sääntöjä tai käyttäjän lisäämät säännöt. Jos sääntöjä ei poistettu, tyhjennä valvontasääntötiedosto suorittamalla seuraavat vaiheet.

  1. Vaihda ebpf-tilaan
  2. Poista tiedosto /etc/audit/rules.d/mdatp.rules
  3. Tietokoneen käynnistäminen uudelleen

Vianmääritys ja diagnostiikka

Voit tarkistaa agentin kuntotilan suorittamalla kuntokomennon mdatp . Varmista, että Defender for Endpointin eBPF-tunnistinta Linuxissa tuetaan tarkistamalla nykyinen ydinversio seuraavalla komentorivillä:

uname -a

Tunnetut ongelmat

  1. eBPF:n käyttöönotto RHEL 8.1 -versiossa SAP:n avulla saattaa aiheuttaa ydinpaniikkia. Voit ratkaista tämän ongelman tekemällä jonkin seuraavista toimista:

    • Käytä distroversiota, joka on suurempi kuin RHEL 8.1.
    • Vaihda valvontatilaan, jos haluat käyttää RHEL 8.1 -versiota.
  2. Oracle Linux 8.8:n käyttäminen ytimen version 5.15.0 0.30.20.el8uek.x86_64 0.30.20.1.el8uek.x86_64 kanssa saattaa johtaa ytimen paniikkiin. Voit ratkaista tämän ongelman tekemällä jonkin seuraavista toimista:

    • Käytä Oracle Linux 8.8:ssa ydinversiota, joka on suurempi tai pienempi kuin 5.15.0-0.30.20.el8uek.x86_64, 5.15.0 0.30.20.1.el8uek.x86_64 , jos haluat käyttää eBPF:ää täydentävänä osajärjestelmän tarjoajana. Huomaa, että Oracle Linuxin ydinversion vähimmäisversio on RHCK 3.10.0 ja Oracle Linux UEK on 5,4.
    • Vaihda valvontatilaan, jos haluat käyttää samaa ydinversiota
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

Seuraavat kaksi tietojoukkoa auttavat analysoimaan mahdollisia ongelmia ja määrittämään tehokkaimmat ratkaisuvaihtoehdot.

  1. Kerää diagnostiikkapaketti asiakasanalysointityökalusta seuraavien ohjeiden avulla: Microsoft Defender for Endpoint Linux-Microsoft Defender for Endpoint suorituskykyongelmien vianmääritys.

  2. Kerää virheenkorjausdiagnostiikkapaketti, kun Defender for Endpoint käyttää suuria resursseja, noudattamalla seuraavia ohjeita: Microsoft Defender for Endpoint Linux-resursseissa.

Suorituskykyongelmien vianmääritys

Jos resurssien kulutus kasvaa päätepisteiden Microsoft Defender mukaan, on tärkeää tunnistaa prosessi/käyttöönottopiste/tiedostot, jotka kuluttavat suurinta osaa suorittimen/muistin käytöstä, ja soveltaa sitten tarvittavia poissulkemisia. Kun olet soveltanut mahdollisia AV-poissulkemisia, jos wdavdaemon (pääprosessi) käyttää edelleen resursseja, käytä ebpf-statistics-komentoa saadaksesi järjestelmän parhaan kutsumäärän:

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

Yllä olevasta tulostuksesta näet, että stressi on tärkein prosessi, joka luo paljon tapahtumia, ja se voi johtaa suorituskykyongelmiin. Todennäköisesti stressi aiheuttaa järjestelmäpuhelun tunnuksella 82. Voit luoda Microsoftille palvelupyynnön, jos haluat, että tämä prosessi jätetään pois. Tulevaisuudessa osana tulevia parannuksia sinulla on enemmän kontrollia soveltaa tällaisia poissulkemisia lopussasi.

Tarkastukseen liittyviä poissulkemisia ei voi siirtää tai kopioida eBPF:ään. eBPF huolehtii jo sisäisesti yleisistä huolenaiheista, kuten meluisasta lokista, ydinpaniikista ja meluisasta syscallista. Jos haluat lisätä muita poissulkemisia, ota yhteyttä Microsoftiin saadaksesi tarvittavat poikkeukset käyttöön.

Tutustu myös seuraaviin ohjeartikkeleihin: