Delen via


EBPF-sensor gebruiken voor Microsoft Defender voor Eindpunt in Linux

Van toepassing op:

Opmerking

Vanaf Defender voor Eindpunt op Linux, versie 101.2408.0000, wordt AuditD niet meer ondersteund als een aanvullende gebeurtenisprovider. Zie de veelgestelde vragen aan het einde van dit artikel voor meer informatie.

Het uitgebreide Berkeley Packet Filter (eBPF) voor Microsoft Defender voor Eindpunt op Linux biedt aanvullende gebeurtenisgegevens voor Linux-besturingssystemen. eBPF helpt bij het oplossen van verschillende klassen van problemen die worden gezien met de AuditD-gebeurtenisprovider en is nuttig op het gebied van prestaties en systeemstabiliteit.

Belangrijke voordelen zijn:

  • Minder systeembrede AuditD-gerelateerde logboekruis
  • Geoptimaliseerde systeembrede gebeurtenisregels die anders een conflict tussen toepassingen veroorzaken
  • Minder overhead voor bewaking van bestandsgebeurtenissen (bestand lezen/openen)
  • Verbeterde doorvoer van gebeurtenissnelheid en verminderde geheugenvoetafdruk
  • Geoptimaliseerde prestaties voor specifieke configuraties

Hoe eBPF werkt

Met eBPF stromen gebeurtenissen die eerder zijn verkregen van de AuditD-gebeurtenisprovider nu van de eBPF-sensor. Dit helpt bij de stabiliteit van het systeem, verbetert het CPU- en geheugengebruik en vermindert het schijfgebruik. eBPF helpt de kans op conflicten tussen toepassingen te verminderen omdat er geen aangepaste regels zijn vereist. Gegevens met betrekking tot eBPF worden aangemeld in het bestand /var/log/microsoft/mdatp/microsoft_defender_core.log.

Bovendien maakt de eBPF-sensor gebruik van de mogelijkheden van de Linux-kernel zonder het gebruik van een kernelmodule die helpt de stabiliteit van het systeem te verbeteren.

Systeemvereisten

De eBPF-sensor voor Microsoft Defender voor Eindpunt in Linux wordt ondersteund op de volgende minimale distributie- en kernelversies:

Linux-distributie Distributieversie Kernelversie
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

Opmerking

Oracle Linux 8.8 met kernelversie 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 leidt ertoe dat de kernel vastloopt wanneer eBPF is ingeschakeld als aanvullende subsysteemprovider. Deze kernelversie mag niet worden gebruikt voor de eBPF-modus. Raadpleeg de sectie Probleemoplossing en diagnostische gegevens voor risicobeperkingsstappen.

eBPF gebruiken

De eBPF-sensor wordt standaard automatisch ingeschakeld voor alle klanten voor agentversies 101.23082.0006 en hoger. Klanten moeten bijwerken naar een ondersteunde versie om de functie te kunnen ervaren. Wanneer de eBPF-sensor is ingeschakeld op een eindpunt, wordt Defender voor Eindpunt op Linux bijgewerkt supplementary_events_subsystem naar ebpf.

Ebpf-subsysteemmarkering in de opdracht mdatp-status

Als u eBPF handmatig wilt uitschakelen, kunt u de volgende opdracht uitvoeren:

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

U kunt ook het mdatp_managed.json-bestand bijwerken:

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

Raadpleeg de koppeling voor een gedetailleerd json-voorbeeldbestand- Voorkeuren instellen voor Microsoft Defender voor Eindpunt in Linux.

Belangrijk

Als u eBPF uitschakelt of als eBPF niet wordt ondersteund op een specifieke kernel, schakelt de aanvullende gebeurtenisprovider over naar Netlink. Alle procesbewerkingen blijven naadloos verlopen, maar u mist mogelijk specifieke bestands- en socketgerelateerde gebeurtenissen die anders met eBPF zouden worden vastgelegd.

U kunt ook de status van eBPF (ingeschakeld/uitgeschakeld) op uw Linux-eindpunten controleren met behulp van geavanceerde opsporing in de Microsoft Defender Portal. De stappen zijn als volgt:

  1. Ga naar de Microsoft Defender-portal en meld u aan.

  2. Ga in het navigatiedeelvenster naar Opsporing>geavanceerde opsporing.

  3. Ga onder Geavanceerde opsporing naar Defender Vulnerability Management.

  4. Voer de volgende query uit: DeviceTvmInfoGathering.

  5. Selecteer in de uitvoer in de kolom Extra velden de optie Meer weergeven en zoek vervolgens naar EBPF-STATUS: true.

Onveranderbare modus van AuditD

Voor klanten die AuditD in onveranderbare modus gebruiken, is een herstart vereist na het inschakelen van eBPF om de controleregels te wissen die door Microsoft Defender voor Eindpunt zijn toegevoegd. Deze vereiste is een beperking in de onveranderbare modus van AuditD, waardoor het regelbestand wordt geblokkeerd en bewerken/overschrijven wordt verboden. Dit probleem wordt opgelost met het opnieuw opstarten.

Voer na het opnieuw opstarten de volgende opdracht uit om te controleren of controleregels zijn gewist:

% sudo auditctl -l

In de uitvoer van de vorige opdracht mogen geen regels of door de gebruiker toegevoegde regels worden weergegeven. Als de regels niet zijn verwijderd, voert u de volgende stappen uit om het bestand met controleregels te wissen:

  1. Schakel over naar de ebpf-modus.
  2. Verwijder het bestand /etc/audit/rules.d/mdatp.rules.
  3. Start de computer opnieuw op.

Probleemoplossing en diagnostische gegevens

U kunt de status van de agent controleren door de statusopdracht uit te mdatp voeren. Zorg ervoor dat de eBPF-sensor voor Defender voor Eindpunt in Linux wordt ondersteund door de huidige kernelversie te controleren met behulp van de volgende opdrachtregel:

uname -a

Bekende problemen

  1. Het inschakelen van eBPF op RHEL 8.1-versie met SAP kan leiden tot kernelpaniek. U kunt dit probleem oplossen door een van de volgende stappen uit te voeren:

    • Gebruik een distributieversie die hoger is dan RHEL 8.1.
    • Schakel over naar de controlemodus als u RHEL 8.1-versie wilt gebruiken.
  2. Het gebruik van Oracle Linux 8.8 met kernelversie 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 kan leiden tot kernelpaniek. U kunt dit probleem oplossen door een van de volgende stappen uit te voeren:

    • Gebruik een kernelversie hoger of lager dan 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 op Oracle Linux 8.8 als u eBPF als aanvullende subsysteemprovider wilt gebruiken. De minimale kernelversie voor Oracle Linux is RHCK 3.10.0 en Oracle Linux UEK 5.4.
    • Overschakelen naar de auditmodus als u dezelfde kernelversie wilt gebruiken
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

De volgende twee sets gegevens helpen bij het analyseren van potentiële problemen en het bepalen van de meest effectieve oplossingsopties.

  1. Verzamel een diagnostisch pakket van het clientanalyseprogramma met behulp van de volgende instructies: Prestatieproblemen oplossen voor Microsoft Defender voor Eindpunt in Linux.

  2. Verzamel een diagnostisch pakket voor foutopsporing wanneer Defender voor Eindpunt hoge resources gebruikt met behulp van de volgende instructies: Microsoft Defender voor Eindpunt op Linux-resources.

Prestatieproblemen oplossen

Als u een verhoogd resourceverbruik ziet door Microsoft Defender op uw eindpunten, is het belangrijk om het proces/koppelpunt/bestanden te identificeren die het grootste deel van het CPU-/geheugengebruik veroorzaken. Vervolgens kunt u de benodigde uitsluitingen toepassen. Als (bovenliggend proces) na het toepassen van mogelijke antivirusuitsluitingen wdavdaemon nog steeds de resources verbruikt, gebruikt u de opdracht ebpf-statistics om het hoogste aantal systeemoproepen op te halen:

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

In de vorige uitvoer ziet u dat stress-ng het belangrijkste proces is dat een groot aantal gebeurtenissen genereert, wat kan leiden tot prestatieproblemen. Waarschijnlijk genereert stress-ng de systeemoproep met id 82. U kunt een ticket maken met Microsoft om dit proces uit te sluiten. In de toekomst hebt u, als onderdeel van toekomstige verbeteringen, meer controle om dergelijke uitsluitingen aan uw kant toe te passen.

Uitsluitingen die zijn toegepast op AuditD kunnen niet worden gemigreerd of gekopieerd naar eBPF. Veelvoorkomende problemen, zoals lawaaierige logboeken, kernelpaniek, luidruchtige syscalls, worden al intern geregeld door eBPF. Als u verdere uitsluitingen wilt toevoegen, neemt u contact op met Microsoft om de benodigde uitsluitingen toe te passen.

Veelgestelde vragen - Overgang naar eBPF

1. Waarom zou u overwegen om over te stappen op eBPF?

Het uitgebreide Berkeley Packet Filter (eBPF) voor Microsoft Defender voor Eindpunt op Linux fungeert als een efficiënt alternatief voor AuditD en lost verschillende uitdagingen op met betrekking tot de AuditD-gebeurtenisprovider, terwijl het aanzienlijke voordelen biedt op het gebied van prestaties en systeemstabiliteit. Enkele van de belangrijkste voordelen zijn :

  • Prestaties: eBPF verbetert de prestaties aanzienlijk door de overhead van systeemresources te verminderen in vergelijking met AuditD.

  • Resource-efficiëntie: eBPF gebruikt minder resources, waardoor de stabiliteit van het systeem zelfs onder zware belastingsomstandigheden behouden blijft.

  • Schaalbaarheid: de architectuur van eBPF is schaalbaarder, waardoor het een betere keuze is voor omgevingen met groeiende of complexe workloads.

  • Moderne technologie: eBPF vertegenwoordigt een moderne, op de toekomst gericht technologie die aansluit bij toekomstige linux-kernelontwikkelingen, waardoor betere ondersteuning op de lange termijn wordt gegarandeerd.

2. Hoe kan ik AuditD blijven gebruiken?

Als u liever AuditD wilt blijven gebruiken:

  • Ondersteunde versies: u kunt Defender voor Eindpunt blijven gebruiken op Linux-versie 101.24072.0000, die AuditD ondersteunt tijdens de geldigheidsduur van de build, die ongeveer negen maanden duurt. Dit biedt voldoende overgangsperiode om uw overstap naar eBPF te plannen. De vervaldatum kan worden gecontroleerd door de opdracht mdatp health uit te voeren op de Linux-server.

  • Long-Term plan: Hoewel het een optie is om bij de 101.24072.0000 build te blijven, raden we u aan om binnen dit tijdsbestek uw overgang naar eBPF te plannen om ervoor te zorgen dat u profiteert van de nieuwste verbeteringen op het gebied van beveiliging en prestaties en ook doorlopende ondersteuning krijgt.

Dat gezegd hebbende, zou onze aanbeveling zijn om een overstap te plannen naar het gebruik van eBPF als de primaire gebeurtenisprovider.

3. Wat gebeurt er als eBPF in sommige scenario's niet wordt ondersteund?

In gevallen waarin eBPF niet wordt ondersteund:

  • Netlink Fallback: het systeem valt terug op het gebruik van de Netlink-gebeurtenisprovider. Hoewel Netlink procesgebeurtenissen blijft vastleggen (bijvoorbeeld exec, exit, fork, gidof tid), biedt het geen ondersteuning voor gebeurtenissen met betrekking tot het bestandssysteem (bijvoorbeeld rename, unlink) of socketgebeurtenissen.

  • Impact: uw workloads worden niet onderbroken, maar u kunt specifieke bestands- en socketgerelateerde gebeurtenissen missen die anders met eBPF zouden worden vastgelegd.

4. Hoe kan ik uitsluitingen beheren met de bijgewerkte versies?

Hier volgen enkele veelvoorkomende redenen voor het plaatsen van uitsluitingen voor AuditD:

  • Prestaties omdat een syscall of proces veel ruis genereert

  • Kernel panic, er zijn momenten dat veel syscalls specifiek netwerk/bestandssysteem aanroepen resulteerden in kernel paniek.

  • Lawaaierige logboeken, waarbij auditlogboeken de schijfruimte gebruiken. De klant heeft de uitsluitingen voor de luidruchtige processen geplaatst om de logboekgrootte te verkleinen.

Bij eBPF zijn de eerste twee use cases de kandidaten voor de migratie. Logboeken zijn geen probleem meer met eBPF. Voor de eerste twee use-cases kunt u kiezen uit de volgende opties:

  • Neem contact op met de ondersteuning: neem contact op met Microsoft om de uitsluitingen van de back-end toe te passen.

  • Algemene uitsluitingen: in de bijgewerkte versies van Defender voor Eindpunt op Linux kunnen uitsluitingen worden beheerd met globale uitsluitingen. Algemene uitsluitingen zijn van toepassing op zowel antivirus als EDR en kunnen momenteel worden geconfigureerd via de beheerde json. Zie Uitsluitingen configureren en valideren voor Microsoft Defender voor Eindpunt op Linux voor meer informatie.

5. Wat moet ik doen als er problemen zijn?

  • Neem contact op met ondersteuning: Als u problemen ondervindt tijdens of na uw overgang naar eBPF, neemt u contact op met de technische ondersteuning voor hulp. We zetten ons in om een soepele overgang te garanderen en zijn beschikbaar om eventuele uitdagingen op te lossen.

  • Ondersteuningskanalen: U kunt contact opnemen met ondersteuning via de Microsoft Defender portal. Daarnaast zijn onze Knowledge Base en communityforums waardevolle bronnen voor het oplossen van veelvoorkomende problemen.

Zie ook