Microsoft Defender لنقطة النهاية المكون الإضافي نظام Windows الفرعي لـ Linux‬ (WSL)

ينطبق على:

نظرة عامة

يوفر نظام Windows الفرعي لـ Linux‬ (WSL) 2، الذي يحل محل الإصدار السابق من WSL (المدعوم من قبل Microsoft Defender لنقطة النهاية بدون مكون إضافي)، بيئة Linux متكاملة بسلاسة مع Windows، ومع ذلك يتم عزلها باستخدام تقنية الظاهرية. يمكن المكون الإضافي Defender لنقطة النهاية ل WSL Defender لنقطة النهاية من توفير رؤية أكبر لجميع حاويات WSL قيد التشغيل عن طريق توصيل النظام الفرعي المعزول.

المشكلات والقيود المعروفة

كن على دراية بالاعتبارات التالية قبل البدء:

  • لا يدعم المكون الإضافي التحديثات التلقائية على الإصدارات السابقة ل 1.24.522.2. في الإصدار 1.24.522.2 والإصدارات الأحدث. يتم دعم التحديثات من خلال Windows Update عبر جميع الحلقات. يتم دعم التحديثات من خلال خادم Windows Server Update Services (WSUS) Configuration Manager مركز النظام (SCCM) وكتالوج Microsoft Update فقط في حلقة الإنتاج لضمان استقرار الحزمة.

  • يستغرق الأمر بضع دقائق للمكون الإضافي لإنشاء مثيل كامل، وما يصل إلى 30 دقيقة لمثيل WSL2 لإلحاق نفسه. قد تؤدي مثيلات حاوية WSL قصيرة الأجل إلى عدم ظهور مثيل WSL2 في مدخل Microsoft Defender (https://security.microsoft.com). عندما يكون أي توزيع يعمل لفترة كافية (30 دقيقة على الأقل)، فإنه يظهر.

  • تشغيل نواة مخصصة وخط أوامر kernel مخصص غير مدعوم. على الرغم من أن المكون الإضافي لا يمنع التشغيل في هذا التكوين، فإنه لا يضمن الرؤية داخل WSL عند تشغيل نواة مخصصة وخط أوامر kernel مخصص. نوصي بحظر مثل هذه التكوينات باستخدام إعدادات Microsoft Intune wsl.

  • المكون الإضافي غير مدعوم على الأجهزة المزودة بمعالج ARM64.

  • يوفر المكون الإضافي رؤية للأحداث من WSL، ولكن لا تتوفر ميزات أخرى مثل أوامر الحماية من البرامج الضارة إدارة المخاطر والثغرات الأمنية والاستجابة للجهاز المنطقي WSL.

المتطلبات الأساسية للبرامج

  • يجب تشغيل إصدار 2.0.7.0 WSL أو إصدار أحدث مع توزيعة نشطة واحدة على الأقل. قم بتشغيل wsl --update للتأكد من أنك تستخدم أحدث إصدار. إذا wsl -–version كان يعرض إصدارا أقدم من 2.0.7.0، فقم بتشغيل wsl -–update –pre-release للحصول على آخر تحديث.

  • يجب إلحاق جهاز عميل Windows ب Defender لنقطة النهاية.

  • يجب تشغيل جهاز عميل Windows Windows 10، الإصدار 2004 والإصدارات الأحدث (النسخة 19044 والإصدارات الأحدث)، أو Windows 11 لدعم إصدارات WSL التي يمكن أن تعمل مع المكون الإضافي.

مكونات البرامج وأسماء ملفات المثبت

المثبت: DefenderPlugin-x64-0.24.426.1.msi. يمكنك تنزيله من صفحة الإعداد في مدخل Microsoft Defender. (انتقل إلى الإعدادات>النهايه>الإلحاق.)

دلائل التثبيت:

  • %ProgramFiles%

  • %ProgramData%

المكونات المثبتة:

  • DefenderforEndpointPlug-in.dll. DLL هذه هي مكتبة لتحميل Defender لنقطة النهاية للعمل داخل WSL. يمكنك العثور عليه في %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. يتحقق هذا البرنامج من الحالة الصحية ل Defender لنقطة النهاية ويمكنك من رؤية الإصدارات المثبتة من WSL والمكون الإضافي وDefender لنقطة النهاية. يمكنك العثور عليه في %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

خطوات التثبيت

إذا لم يتم تثبيت نظام Windows الفرعي لـ Linux‬ بعد، فاتبع الخطوات التالية:

  1. افتح Terminal أو موجه الأوامر. (في Windows، انتقل إلى البدء>موجه الأوامر. أو انقر بزر الماوس الأيمن فوق زر البدء ثم حدد Terminal.)

  2. قم بتشغيل الأمر wsl -–install.

  3. تأكد من تثبيت WSL وتشغيله.

    1. باستخدام Terminal أو موجه الأوامر، قم بتشغيل wsl –-update للتأكد من أن لديك أحدث إصدار.

    2. قم بتشغيل الأمر للتأكد من wsl تشغيل WSL قبل الاختبار.

  4. قم بتثبيت المكون الإضافي باتباع الخطوات التالية:

    1. قم بتثبيت ملف MSI الذي تم تنزيله من قسم الإعداد في مدخل Microsoft Defender (الإعدادات>Endpoints>Onboarding>نظام Windows الفرعي لـ Linux‬ 2 (المكون الإضافي)).

    2. افتح موجه الأوامر/المحطة الطرفية وقم بتشغيل wsl.

    يمكنك نشر الحزمة باستخدام Microsoft Intune.

ملاحظة

إذا كان WslService قيد التشغيل، فإنه يتوقف أثناء عملية التثبيت. لا تحتاج إلى إلحاق النظام الفرعي بشكل منفصل. بدلا من ذلك، يتم إلحاق المكون الإضافي تلقائيا بالمستأجر الذي تم إلحاق مضيف Windows به. Microsoft Defender لنقطة النهاية التحديث للمكون الإضافي لتحديث WSL KB.

قائمة التحقق من صحة التثبيت

  1. بعد التحديث أو التثبيت، انتظر لمدة خمس دقائق على الأقل حتى يقوم المكون الإضافي بتهيئة إخراج السجل وكتابته بالكامل.

  2. افتح Terminal أو موجه الأوامر. (في Windows، انتقل إلى البدء>موجه الأوامر. أو انقر بزر الماوس الأيمن فوق زر البدء ثم حدد Terminal.)

  3. قم بتشغيل الأمر: cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools".

  4. قم بتشغيل الأمر .\healthcheck.exe.

  5. راجع تفاصيل Defender وWSL وتأكد من مطابقتها أو تجاوزها المتطلبات التالية:

    • إصدار المكون الإضافي: 1.24.522.2
    • إصدار WSL: 2.0.7.0 أو أحدث
    • إصدار تطبيق Defender: 101.24032.0007
    • الحالة الصحية ل Defender: Healthy

تعيين وكيل ل Defender قيد التشغيل في WSL

يصف هذا القسم كيفية تكوين اتصال الوكيل للمكون الإضافي Defender for Endpoint. إذا كانت مؤسستك تستخدم وكيلا لتوفير الاتصال ب Defender لنقطة النهاية التي تعمل على مضيف Windows، فتابع القراءة لتحديد ما إذا كنت بحاجة إلى تكوينه للمكون الإضافي.

إذا كنت ترغب في استخدام تكوين وكيل بيانات تتبع الاستخدام ل windows EDR المضيف MDE للمكون الإضافي WSL، فلا يلزم أي شيء آخر. يتم اعتماد هذا التكوين بواسطة المكون الإضافي تلقائيا.

إذا كنت ترغب في استخدام تكوين وكيل winhttp للمضيف MDE للمكون الإضافي WSL، فلا حاجة إلى المزيد. يتم اعتماد هذا التكوين بواسطة المكون الإضافي تلقائيا.

إذا كنت ترغب في استخدام إعداد الشبكة المضيفة ووكيل الشبكة MDE للمكون الإضافي WSL، فلا حاجة إلى المزيد. يتم اعتماد هذا التكوين بواسطة المكون الإضافي تلقائيا.

ملاحظة

يدعم WSL defender الوكيل فقط http .

تحديد وكيل المكون الإضافي

إذا كان الجهاز المضيف يحتوي على إعدادات وكيل متعددة، يحدد المكون الإضافي تكوينات الوكيل بالتسلسل الهرمي التالي:

  1. إعداد وكيل Defender لنقطة النهاية الثابتة (TelemetryProxyServer).

  2. Winhttp الوكيل (تم تكوينه من خلال netsh الأمر).

  3. إعدادات وكيل الشبكة & الإنترنت.

على سبيل المثال، إذا كان الجهاز المضيف يحتوي على كل من Winhttp proxy و Network & Internet proxy، يحدد Winhttp proxy المكون الإضافي كتكوين الوكيل.

ملاحظة

DefenderProxyServer لم يعد مفتاح التسجيل مدعوما. اتبع الخطوات الموضحة سابقا في هذه المقالة لتكوين الوكيل في المكون الإضافي.

اختبار الاتصال ل Defender لنقطة النهاية التي تعمل في WSL

يتم تشغيل اختبار اتصال Defender لنقطة النهاية كلما كان هناك تعديل وكيل على جهازك ومن المقرر تشغيله كل ساعة.

عند بدء تشغيل جهاز wsl الخاص بك، انتظر لمدة 5 دقائق ثم قم بتشغيل healthcheck.exe (الموجود في %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools لنتائج اختبار الاتصال). إذا نجحت، يمكنك أن ترى أن اختبار الاتصال كان ناجحا. إذا فشلت، يمكنك أن ترى أن اختبار الاتصال يشير invalid إلى فشل اتصال العميل من MDE المكون الإضافي ل WSL إلى عناوين URL لخدمة Defender لنقطة النهاية.

ملاحظة

ConnectivityTest لم يعد مفتاح التسجيل مدعوما. لتعيين وكيل للاستخدام في حاويات WSL (التوزيعات التي تعمل على النظام الفرعي)، راجع تكوين الإعدادات المتقدمة في WSL.

التحقق من الوظائف وتجربة محلل SOC

بعد تثبيت المكون الإضافي، يتم إلحاق النظام الفرعي وجميع حاوياته قيد التشغيل بمدخل Microsoft Defender.

  1. سجل الدخول إلى مدخل Microsoft Defender، وافتح طريقة عرض الأجهزة.

  2. تصفية باستخدام العلامة WSL2.

    لقطة شاشة تعرض عامل تصفية مخزون الجهاز

    يمكنك مشاهدة جميع مثيلات WSL في بيئتك باستخدام مكون إضافي نشط ل Defender لنقطة النهاية ل WSL. تمثل هذه المثيلات جميع التوزيعات التي تعمل داخل WSL على مضيف معين. يتطابق اسم مضيف الجهاز مع اسم مضيف Windows. ومع ذلك، يتم تمثيله كجهاز Linux.

  3. افتح صفحة الجهاز. في جزء Overview ، يوجد ارتباط لمكان استضافة الجهاز. يمكنك الارتباط من فهم أن الجهاز يعمل على مضيف Windows. يمكنك بعد ذلك العرض المحوري للمضيف لمزيد من التحقيق و/أو الاستجابة.

    لقطة شاشة تعرض نظرة عامة على الجهاز.

يتم ملء المخطط الزمني، على غرار Defender لنقطة النهاية على Linux، مع أحداث من داخل النظام الفرعي (ملف، عملية، شبكة). يمكنك مراقبة النشاط والكشف في طريقة عرض المخطط الزمني. يتم إنشاء التنبيهات والحوادث حسب الاقتضاء أيضا.

إعداد علامة مخصصة لجهاز WSL

يقوم المكون الإضافي بإلحاق جهاز WSL بالعلامة WSL2. إذا كنت أنت أو مؤسستك بحاجة إلى علامة مخصصة، فيرجى اتباع الخطوات الموضحة أدناه:

  1. افتح سجل المحرر كمسؤول.

  2. إنشاء مفتاح تسجيل بالتفاصيل التالية:

    • الاسم: GROUP
    • النوع: REG_SZ أو سلسلة التسجيل
    • قيمة: Custom tag
    • مسار: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. بمجرد تعيين السجل، أعد تشغيل wsl باستخدام الخطوات التالية:

    1. افتح موجه الأوامر وقم بتشغيل الأمر ، wsl --shutdown.

    2. wsl قم بتشغيل الأمر .

  4. انتظر لمدة 5-10 دقائق حتى يعكس المدخل التغييرات.

ملاحظة

ستتبع العلامة المخصصة التي تم تعيينها في السجل ب _WSL2. على سبيل المثال، إذا كانت مجموعة قيمة التسجيل هي Microsoft، فستكون Microsoft_WSL2 العلامة المخصصة وستكون هي نفسها مرئية في المدخل.

اختبار المكون الإضافي

لاختبار المكون الإضافي بعد التثبيت، اتبع الخطوات التالية:

  1. افتح Terminal أو موجه الأوامر. (في Windows، انتقل إلى البدء>موجه الأوامر. أو انقر بزر الماوس الأيمن فوق زر البدء ثم حدد Terminal.)

  2. قم بتشغيل الأمر wsl.

  3. قم بتنزيل ملف البرنامج النصي واستخراجه من https://aka.ms/MDE-Linux-EDR-DIY.

  4. في موجه Linux، قم بتشغيل الأمر ./mde_linux_edr_diy.sh.

    يجب أن يظهر تنبيه في المدخل بعد بضع دقائق للكشف على مثيل WSL2.

    ملاحظة

    يستغرق ظهور الأحداث على مدخل Microsoft Defender حوالي خمس دقائق.

تعامل مع الجهاز كما لو كان مضيف Linux عاديا في بيئتك لإجراء الاختبار عليه. على وجه الخصوص، نود الحصول على ملاحظاتك حول القدرة على عرض السلوك الضار المحتمل باستخدام المكون الإضافي الجديد.

الصيد المتقدم

في مخطط التتبع المتقدم، ضمن DeviceInfo الجدول، هناك سمة جديدة تسمى HostDeviceId يمكنك استخدامها لتعيين مثيل WSL إلى جهاز مضيف Windows الخاص به. فيما يلي بعض نماذج استعلامات التتبع:

الحصول على جميع معرفات جهاز WSL للمؤسسة/المستأجر الحالي

//Get all WSL device ids for the current organization/tenant 
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct DeviceId; 

wsl_endpoints

الحصول على معرفات جهاز WSL ومعرفات الجهاز المضيف المقابلة لها

//Get WSL device ids and their corresponding host device ids 
DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct WSLDeviceId=DeviceId, HostDeviceId

الحصول على قائمة بمعرفات جهاز WSL حيث تم تشغيل curl أو wget

//Get a list of WSL device ids where curl or wget was run
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct DeviceId; 

DeviceProcessEvents   
| where FileName == "curl" or FileName == "wget" 
| where DeviceId in (wsl_endpoints) 
| sort by Timestamp desc

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

فشل التثبيت

إذا رأيت خطأ عند تشغيل WSL، مثل A fatal error was returned by plugin 'DefenderforEndpointPlug-in' Error code: Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND، فهذا يعني أن المكون الإضافي Defender لنقطة النهاية لتثبيت WSL خاطئ. لإصلاحه، اتبع الخطوات التالية:

  1. في لوحة التحكم، انتقل إلى البرامج>والميزات.

  2. ابحث عن المكون الإضافي Microsoft Defender لنقطة النهاية وحدده ل WSL. ثم حدد إصلاح. يجب أن يحل هذا الإجراء المشكلة عن طريق وضع الملفات الصحيحة في الدلائل المتوقعة.

    لقطة شاشة تعرض MDE المكون الإضافي لخيار إصلاح WSL في لوحة التحكم.

يعرض الأمر healthcheck.exe الإخراج، "تشغيل توزيعة WSL باستخدام الأمر "bash" وإعادة المحاولة في خمس دقائق."

لقطة شاشة تعرض إخراج PowerShell.

  1. افتح مثيل محطة طرفية وقم بتشغيل الأمر wsl.

  2. انتظر لمدة خمس دقائق على الأقل قبل إعادة تشغيل الفحص الصحي.

healthcheck.exe قد يظهر الأمر الإخراج، "في انتظار بيانات تتبع الاستخدام. يرجى إعادة المحاولة في خمس دقائق."

لقطة شاشة تعرض حالة القياس عن بعد للصحة.

إذا حدث هذا الخطأ، فانتظر لمدة خمس دقائق وأعد تشغيل healthcheck.exe.

لا ترى أي أجهزة في مدخل Microsoft Defender، أو لا ترى أي أحداث في المخطط الزمني

تحقق من الأشياء التالية:

  • إذا كنت لا ترى كائن جهاز، فتأكد من مرور وقت كاف لإكمال الإلحاق (عادة ما يصل إلى 10 دقائق).

  • تأكد من استخدام عوامل التصفية الصحيحة، ومن أن لديك الأذونات المناسبة المعينة لعرض جميع عناصر الجهاز. (على سبيل المثال، هل حسابك/مجموعتك مقيد بمجموعة معينة؟)

  • استخدم أداة التحقق من الصحة لتوفير نظرة عامة على صحة المكون الإضافي بشكل عام. افتح Terminal، وقم بتشغيل healthcheck.exe الأداة من %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

    لقطة شاشة تعرض الحالة في PowerShell.

  • تمكين اختبار الاتصال والتحقق من اتصال Defender لنقطة النهاية في WSL. إذا فشل اختبار الاتصال، فوفر إخراج أداة التحقق من الصحة لفريق الدعم لدينا.

تقارير اختبار الاتصال "غير صالحة" في التحقق من الصحة

  • إذا كان جهازك يحتوي على إعداد وكيل، فقم بتشغيل الأمر healthCheck --extendedProxy. سيوفر هذا معلومات حول الوكيل (الوكلاء) الذي تم تعيينه على جهازك وما إذا كانت هذه التكوينات غير صالحة ل WSL defender.

    توسيع مستند وكيل HealthCheck

  • إذا لم تقم الخطوات المذكورة أعلاه بإصلاح المشكلة، فقم بتضمين إعدادات التكوين التالية في .wslconfig الموجود في %UserProfile% WSL وإعادة تشغيله. يمكن العثور على تفاصيل حول الإعدادات في إعدادات WSL.

    في Windows 11

    
    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsTunneling=true
    
    networkingMode=mirrored  
    

    في Windows 10

    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsProxy=false
    
    

مشكلات الاتصال مستمرة

اجمع سجلات الشبكات باتباع الخطوات التالية:

  1. افتح موجه PowerShell غير مقيد (مسؤول).

  2. التنزيل والتشغيل: .\collect-networking-logs.ps1

    
    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-networking-logs.ps1" -OutFile collect-networking-logs.ps1
    Set-ExecutionPolicy Bypass -Scope Process -Force
    .\collect-networking-logs.ps1
    
    
  3. افتح موجه أوامر جديدا وقم بتشغيل الأمر التالي: wsl.

  4. افتح موجه أوامر (مسؤول) غير مقيد وقم بتشغيل الأمر التالي: wsl --debug-shell.

  5. في debug shell، قم بتشغيل: mdatp connectivity test.

  6. السماح بإكمال اختبار الاتصال.

  7. أوقف تشغيل .ps1 في الخطوة رقم 2.

  8. شارك ملف .zip الذي تم إنشاؤه مع حزمة الدعم التي يمكن جمعها كما هو مذكور في الخطوات.

جمع حزمة دعم

  1. إذا واجهت أي تحديات أو مشكلات أخرى، فافتح Terminal، وقم بتشغيل الأوامر التالية لإنشاء حزمة دعم:

    cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools"
    
    .\healthcheck.exe --supportBundle 
    

    يمكن العثور على حزمة الدعم في المسار الذي يوفره الأمر السابق.

    لقطة شاشة تعرض الحالة في إخراج PowerShell.

WSL1 مقابل WSL2

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

  1. انتقل إلى مركز إدارة Microsoft Intune.

  2. انتقل إلىملفات تعريف> تكوين الأجهزة>إنشاء>نهج جديد.

  3. حددكتالوج الإعداداتWindows 10 والإصدارات الأحدث>.

  4. أنشئ اسما لملف التعريف الجديد، وابحث عن نظام Windows الفرعي لـ Linux‬ لمشاهدة القائمة الكاملة للإعدادات المتوفرة وإضافتها.

  5. قم بتعيين إعداد السماح ب WSL1 إلى معطل، للتأكد من أنه يمكن استخدام توزيعات WSL 2 فقط.

    بدلا من ذلك، إذا كنت تريد الاستمرار في استخدام WSL 1، أو عدم استخدام نهج Intune، يمكنك إقران التوزيعات المثبتة بشكل انتقائي للتشغيل على WSL 2، عن طريق تشغيل الأمر في PowerShell:

    wsl --set-version <YourDistroName> 2
    

    للحصول على WSL 2 كإصدار WSL افتراضي للتوزيعات الجديدة ليتم تثبيتها في النظام، قم بتشغيل الأمر التالي في PowerShell:

    wsl --set-default-version 2
    

تجاوز حلقة الإصدار

  • يستخدم المكون الإضافي حلقة Windows EDR بشكل افتراضي. إذا كنت ترغب في التبديل إلى حلقة سابقة، فقم بتعيين OverrideReleaseRing إلى أحد الإجراءات التالية ضمن السجل وأعد تشغيل WSL:

    • الاسم: OverrideReleaseRing
    • النوع: REG_SZ
    • القيمة: Dogfood or External or InsiderFast or Production
    • المسار: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL