استخدام أداة الاستشعار المستندة إلى eBPF Microsoft Defender لنقطة النهاية على Linux

ينطبق على:

ملاحظة

بدءا من Defender لنقطة النهاية على Linux، لم يعد الإصدار 101.2408.0000، يتم دعم AuditD كموفر حدث إضافي. لمزيد من المعلومات، راجع الأسئلة المتداولة في نهاية هذه المقالة.

يوفر عامل تصفية حزم Berkeley الموسع (eBPF) Microsoft Defender لنقطة النهاية على Linux بيانات أحداث تكميلية لأنظمة تشغيل Linux. يساعد eBPF في معالجة عدة فئات من المشكلات التي ينظر إليها مع موفر حدث AuditD وهو مفيد في مجالات الأداء واستقرار النظام.

تشمل الفوائد الرئيسية ما يلي:

  • تقليل ضوضاء السجل ذات الصلة ب AuditD على مستوى النظام
  • قواعد الأحداث المحسنة على مستوى النظام تتسبب بخلاف ذلك في حدوث تعارض بين التطبيقات
  • تقليل الحمل لمراقبة حدث الملف (قراءة/فتح الملف)
  • معدل نقل محسن للحدث وتقليل بصمة الذاكرة
  • الأداء المحسن لتكوينات محددة

كيفية عمل eBPF

باستخدام eBPF، تتدفق الأحداث التي تم الحصول عليها مسبقا من موفر أحداث AuditD الآن من مستشعر eBPF. يساعد هذا في استقرار النظام، ويحسن استخدام وحدة المعالجة المركزية والذاكرة، ويقلل من استخدام القرص. يساعد eBPF على تقليل إمكانية التعارضات بين التطبيقات حيث لا توجد قواعد مخصصة مطلوبة. يتم تسجيل البيانات المتعلقة ب eBPF في ملف /var/log/microsoft/mdatp/microsoft_defender_core.log.

بالإضافة إلى ذلك، يستخدم مستشعر eBPF قدرات نواة Linux دون الحاجة إلى استخدام وحدة kernel التي تساعد على زيادة استقرار النظام.

المتطلبات الأساسية للنظام

يتم دعم مستشعر eBPF Microsoft Defender لنقطة النهاية على Linux على الحد الأدنى التالي من التوزيع وإصدارات النواة:

توزيع Linux إصدار التوزيع إصدار Kernel
Ubuntu 16.04 4.15.0
ف يدورا 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

ملاحظة

Oracle Linux 8.8 مع إصدار kernel 5.15.0-0.30.20.el8uek.x86_64، 5.15.0-0.30.20.1.el8uek.x86_64 سيؤدي إلى توقف النواة عند تمكين eBPF كموفر نظام فرعي تكميلي. يجب عدم استخدام إصدار kernel هذا لوضع eBPF. راجع قسم استكشاف الأخطاء وإصلاحها والتشخيص للحصول على خطوات التخفيف.

استخدام eBPF

يتم تمكين مستشعر eBPF تلقائيا لجميع العملاء بشكل افتراضي لإصدارات العامل والإصدارات 101.23082.0006 الأحدث. يحتاج العملاء إلى التحديث إلى إصدار مدعوم لتجربة الميزة. عند تمكين مستشعر eBPF على نقطة نهاية، يقوم Defender لنقطة النهاية على تحديثات Linux supplementary_events_subsystem إلى ebpf.

تمييز النظام الفرعي ebpf في الأمر mdatp health

في حالة رغبتك في تعطيل eBPF يدويا، يمكنك تشغيل الأمر التالي:

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

يمكنك أيضا تحديث ملف mdatp_managed.json:

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

راجع الارتباط للحصول على نموذج ملف json مفصل - تعيين تفضيلات Microsoft Defender لنقطة النهاية على Linux.

هام

إذا قمت بتعطيل eBPF أو في حالة عدم دعم eBPF على أي نواة معينة، يتحول موفر الحدث التكميلي إلى Netlink. ستستمر جميع عمليات العملية في التدفق بسلاسة، ولكن قد تفوتك أحداث معينة متعلقة بملف ومأخذ التوصيل التي سيلتقطها eBPF بخلاف ذلك.

يمكنك أيضا التحقق من حالة eBPF (ممكن/معطل) على نقاط نهاية Linux باستخدام التتبع المتقدم في مدخل Microsoft Defender. الخطوات هي كما يلي:

  1. انتقل إلى مدخل Microsoft Defender وسجل الدخول.

  2. في جزء التنقل، انتقل إلى التتبع>المتقدم.

  3. ضمن التتبع المتقدم، انتقل إلى إدارة الثغرات الأمنية في Defender.

  4. قم بتشغيل الاستعلام التالي: DeviceTvmInfoGathering.

  5. في الإخراج، في العمود Additional fields ، حدد Show more، ثم ابحث عن EBPF STATUS: true.

الوضع غير القابل للتغيير ل AuditD

بالنسبة للعملاء الذين يستخدمون AuditD في وضع غير قابل للتغيير، يلزم إعادة التشغيل بعد تمكين eBPF من أجل مسح قواعد التدقيق المضافة بواسطة Microsoft Defender لنقطة النهاية. هذا المطلب هو قيد في الوضع غير القابل للتغيير ل AuditD، والذي يتجمد ملف القواعد ويحظر التحرير/الكتابة فوقها. تم حل هذه المشكلة مع إعادة التشغيل.

بعد إعادة التشغيل، قم بتشغيل الأمر التالي للتحقق مما إذا تم مسح قواعد التدقيق:

% sudo auditctl -l

يجب ألا يظهر إخراج الأمر السابق أي قواعد أو أي قواعد أضافها المستخدم. في حالة عدم إزالة القواعد، قم بالخطوات التالية لمسح ملف قواعد التدقيق:

  1. التبديل إلى وضع ebpf.
  2. قم بإزالة الملف /etc/audit/rules.d/mdatp.rules.
  3. أعد تشغيل الجهاز.

استكشاف الأخطاء وإصلاحها والتشخيصات

يمكنك التحقق من حالة صحة العامل عن طريق تشغيل mdatp الأمر health. تأكد من دعم مستشعر eBPF ل Defender لنقطة النهاية على Linux عن طريق التحقق من إصدار kernel الحالي باستخدام سطر الأوامر التالي:

uname -a

المشاكل المعروفة

  1. قد يؤدي تمكين eBPF على إصدار RHEL 8.1 باستخدام SAP إلى ذعر النواة. للتخفيف من هذه المشكلة، يمكنك اتخاذ إحدى الخطوات التالية:

    • استخدم إصدار توزيعة أعلى من RHEL 8.1.
    • قم بالتبديل إلى وضع AuditD إذا كنت بحاجة إلى استخدام إصدار RHEL 8.1.
  2. قد يؤدي استخدام Oracle Linux 8.8 مع إصدار kernel 5.15.0-0.30.20.el8uek.x86_64، 5.15.0-0.30.20.1.el8uek.x86_64 إلى ذعر النواة. للتخفيف من هذه المشكلة، يمكنك اتخاذ إحدى الخطوات التالية:

    • استخدم إصدار kernel أعلى أو أقل من 5.15.0-0.30.20.el8uek.x86_64، 5.15.0-0.30.20.1.el8uek.x86_64 على Oracle Linux 8.8 إذا كنت تريد استخدام eBPF كموفر نظام فرعي تكميلي. الحد الأدنى لإصدار kernel ل Oracle Linux هو RHCK 3.10.0 وOracle Linux UEK هو 5.4.
    • التبديل إلى وضع AuditD إذا كنت بحاجة إلى استخدام نفس إصدار kernel
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

تساعد المجموعتين التاليتين من البيانات في تحليل المشكلات المحتملة وتحديد خيارات الحل الأكثر فعالية.

  1. اجمع حزمة تشخيص من أداة محلل العميل باستخدام الإرشادات التالية: استكشاف مشكلات الأداء وإصلاحها Microsoft Defender لنقطة النهاية على Linux.

  2. اجمع حزمة تشخيص تصحيح الأخطاء عندما يستخدم Defender لنقطة النهاية موارد عالية باستخدام الإرشادات التالية: Microsoft Defender لنقطة النهاية على موارد Linux.

استكشاف مشكلات الأداء وإصلاحها

إذا رأيت زيادة في استهلاك الموارد عن طريق Microsoft Defender على نقاط النهاية الخاصة بك، فمن المهم تحديد العملية/نقطة التركيب/الملفات التي تسبب معظم استخدام وحدة المعالجة المركزية/الذاكرة. يمكنك بعد ذلك تطبيق الاستثناءات الضرورية. بعد تطبيق استثناءات مكافحة الفيروسات المحتملة، إذا كانت wdavdaemon (العملية الأصل) لا تزال تستهلك الموارد، فاستخدم الأمر ebpf-statistics للحصول على أعلى عدد استدعاءات النظام:

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

في الإخراج السابق، يمكنك أن ترى أن stress-ng هي أعلى عملية تولد عددا كبيرا من الأحداث وقد تؤدي إلى مشكلات في الأداء. على الأرجح، يقوم stress-ng بإنشاء استدعاء النظام بالمعرف 82. يمكنك إنشاء تذكرة باستخدام Microsoft لاستبعاد هذه العملية. في المستقبل كجزء من التحسينات القادمة، لديك المزيد من التحكم لتطبيق مثل هذه الاستثناءات من جانبك.

لا يمكن ترحيل الاستثناءات المطبقة على AuditD أو نسخها إلى eBPF. المخاوف الشائعة مثل السجلات الصاخبة، وذعر النواة، وsyscalls الصاخبة يتم الاعتناء بها بالفعل من قبل eBPF داخليا. في حالة رغبتك في إضافة أي استثناءات أخرى، قم بالتواصل مع Microsoft للحصول على الاستثناءات الضرورية المطبقة.

الأسئلة المتداولة - الانتقال إلى eBPF

1. لماذا يجب أن تفكر في الانتقال إلى eBPF؟

عامل تصفية حزم Berkeley الموسع (eBPF) Microsoft Defender لنقطة النهاية على Linux يعمل كبديل فعال ل AuditD ويعالج التحديات المختلفة المرتبطة بموفر حدث AuditD مع توفير مزايا كبيرة من حيث الأداء واستقرار النظام. تتضمن بعض الفوائد الرئيسية ما يلي:

  • الأداء: يحسن eBPF الأداء بشكل كبير عن طريق تقليل النفقات العامة على موارد النظام مقارنة ب AuditD.

  • كفاءة الموارد: يستخدم eBPF موارد أقل، مما يساعد على الحفاظ على استقرار النظام حتى في ظل ظروف التحميل الثقيلة.

  • قابلية التوسع: بنية eBPF أكثر قابلية للتطوير، ما يجعلها خيارا أفضل للبيئات ذات أحمال العمل المتزايدة أو المعقدة.

  • التكنولوجيا الحديثة: يمثل eBPF تقنية حديثة وتطلعية تتوافق مع تطورات Linux kernel المستقبلية، ما يضمن دعما أفضل على المدى الطويل.

2. كيف يمكنني الاستمرار في استخدام Auditd؟

إذا كنت تفضل الاستمرار في استخدام AuditD:

  • الإصدارات المدعومة: يمكنك البقاء على Defender لنقطة النهاية على إصدار Linux 101.24072.0000، والذي سيدعم AuditD أثناء صلاحية الإصدار، وهو ما يقرب من تسعة أشهر. يوفر هذا فترة انتقال كافية لتخطيط انتقالك إلى eBPF. يمكن التحقق من تاريخ انتهاء الصلاحية عن طريق تشغيل الأمر mdatp health على خادم Linux.

  • Long-Term الخطة: أثناء البقاء على 101.24072.0000 الإصدار هو خيار، نوصي بالتخطيط للانتقال إلى eBPF خلال هذا الإطار الزمني لضمان الاستفادة من أحدث تحسينات الأمان والأداء وأيضا الحصول على الدعم المستمر.

ومع ذلك، فإن توصيتنا ستكون التخطيط للانتقال إلى استخدام eBPF كموفر الحدث الأساسي.

3. ماذا يحدث إذا لم يكن eBPF مدعوما في بعض السيناريوهات؟

في الحالات التي لا يتم فيها دعم eBPF:

  • Netlink Fallback: يعود النظام إلى استخدام موفر حدث Netlink. بينما يستمر Netlink في التقاط أحداث العملية (على سبيل المثال، execأو exitforktidgid)، فإنه لا يدعم الأحداث المتعلقة بنظام الملفات (على سبيل المثال، renameأو unlink) أو أحداث مأخذ التوصيل.

  • التأثير: لن يتم تعطيل أحمال العمل الخاصة بك، ولكن قد تفوتك أحداث معينة متعلقة بالملف ومأخذ التوصيل التي سيلتقطها eBPF بخلاف ذلك.

4. كيف يمكنني إدارة الاستثناءات باستخدام الإصدارات المحدثة؟

فيما يلي بعض الأسباب الشائعة لوضع استثناءات ل AuditD:

  • الأداء لأن بعض syscall أو العملية تولد الكثير من الضوضاء

  • Kernel الذعر ، وهناك أوقات حيث الكثير من syscalls على وجه التحديد الشبكة / نظام الملفات المكالمات أدى إلى ذعر النواة.

  • سجلات صاخبة، حيث تستخدم سجلات التدقيق مساحة القرص. وضع العميل الاستثناءات للعمليات الصاخبة من أجل تقليل حجم السجل.

أثناء استخدام eBPF، فإن أول حالتي استخدام هما المرشحان للترحيل. لم تعد السجلات مشكلة في eBPF. بالنسبة لحالة الاستخدام الأولى، يمكنك الاختيار من بين الخيارات التالية:

  • الاتصال بالدعم: تواصل مع Microsoft لتطبيق الاستثناءات من الخلفية.

  • الاستثناءات العالمية: في الإصدارات المحدثة من Defender لنقطة النهاية على Linux، يمكن إدارة الاستثناءات مع الاستثناءات العالمية. تنطبق الاستثناءات العمومية على كل من مكافحة الفيروسات وEDR ويمكن تكوينها من خلال json المدار حاليا. للمزيد من المعلومات، راجع تكوين الاستثناءات والتحقق من صحتها في Microsoft Defender لنقطة النهاية على Linux.

5. ماذا يجب أن أفعل في حالة وجود مشكلات؟

  • الاتصال بالدعم: إذا واجهت أي مشكلات أثناء الانتقال إلى eBPF أو بعده، فاتصل بالدعم التقني للحصول على المساعدة. نحن ملتزمون بضمان انتقال سلس ومتاح للمساعدة في حل أي تحديات قد تواجهها.

  • قنوات الدعم: يمكنك الاتصال بالدعم عبر مدخل Microsoft Defender. بالإضافة إلى ذلك، تعد منتديات قاعدة معارف والمجتمع موارد قيمة لاستكشاف المشكلات الشائعة وإصلاحها.

راجع أيضًا