Delen via


EBPF-sensor gebruiken voor Microsoft Defender voor Eindpunt in Linux

Van toepassing op:

Het uitgebreide Berkeley Packet Filter (eBPF) voor Microsoft Defender voor Eindpunt op Linux biedt aanvullende gebeurtenisgegevens voor Linux-besturingssystemen. eBPF kan worden gebruikt als een alternatieve technologie om te controleren, omdat eBPF helpt bij het oplossen van verschillende klassen van problemen die worden gezien met de gecontroleerde gebeurtenisprovider en gunstig is op het gebied van prestaties en systeemstabiliteit.

Belangrijke voordelen zijn:

  • Minder systeembrede audit-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 gecontroleerde gebeurtenisprovider nu van de eBPF-sensor. Dit helpt bij de stabiliteit van het systeem, verbetert het CPU- en geheugengebruik en vermindert het schijfgebruik. Wanneer eBPF is ingeschakeld, worden bovendien alle gecontroleerde aangepaste regels geƫlimineerd, waardoor de kans op conflicten tussen toepassingen wordt verminderd. 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.

Opmerking

eBPF wordt gebruikt in combinatie met auditd, terwijl auditd alleen wordt gebruikt voor aanmeldingsgebeurtenissen van gebruikers en deze gebeurtenissen vastlegt zonder aangepaste regels en ze automatisch doorsturen. Houd er rekening mee dat gecontroleerd in toekomstige versies geleidelijk wordt verwijderd.

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

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 de hierboven genoemde ondersteunde versies om de functie te 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, schakelt de aanvullende gebeurtenisprovider terug naar gecontroleerd. In het geval dat eBPF niet wordt ingeschakeld of niet wordt ondersteund op een specifieke kernel, wordt automatisch teruggeschakeld naar gecontroleerd en blijven alle gecontroleerde aangepaste regels behouden.

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 Gecontroleerd

Voor klanten die gecontroleerde 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. Dit is een beperking in onveranderbare modus van controle, waardoor het regelbestand wordt geblokkeerd en bewerken/overschrijven wordt verboden. Dit probleem wordt opgelost met het opnieuw opstarten. Voer na het opnieuw opstarten de onderstaande opdracht uit om te controleren of controleregels zijn gewist.

% sudo auditctl -l

In de uitvoer van de bovenstaande 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. Overschakelen naar ebpf-modus
  2. Het bestand /etc/audit/rules.d/mdatp.rules verwijderen
  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. Houd er rekening mee dat de minimale kernelversie voor Oracle Linux RHCK 3.10.0 is en Oracle Linux UEK 5.4.
    • Schakel over naar de controlemodus als u dezelfde kernelversie moet 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 toename van het resourceverbruik door Microsoft Defender op uw eindpunten ziet, is het belangrijk om het proces/koppelpunt/bestanden te identificeren dat het meeste CPU-/geheugengebruik verbruikt en vervolgens de benodigde uitsluitingen toe te passen. Als wdavdaemon (bovenliggend proces) na het toepassen van mogelijke AV-uitsluitingen nog steeds de resources verbruikt, gebruikt u de opdracht ebpf-statistics om het hoogste aantal systeemaanroepen 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 bovenstaande 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 gecontroleerde 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.

Zie ook