مشاركة عبر


نشر تكامل GitHub Advanced Security مع Microsoft Defender for Cloud

يرشدك هذا الدليل خلال خطوات الإعداد والإجراءات الأخرى لمساعدتك على دمج GitHub Advanced Security (GHAS) وMicrosoft Defender for Cloud. يساعدك هذا التكامل على تعظيم أمان تطبيقات مايكروسوفت الأصلية للسحابة.

باتباع هذا الدليل، أنت:

  • قم بإعداد مستودع GitHub الخاص بك لتغطية Defender for Cloud لها.
  • أنشئ عامل خطر زمن تشغيل.
  • اختبر حالات الاستخدام الحقيقية في Defender for Cloud.
  • ربط الكود بالموارد السحابية.
  • ابدأ حملة أمنية على GitHub. تستخدم هذه الحملة سياق وقت التشغيل لإعطاء الأولوية لتنبيهات الأمان الخاصة ب GHAS بناء على سياق وقت التشغيل.
  • إنشاء مشاكل في GitHub من Defender for Cloud لبدء المعالجة.
  • أغلق الحلقة بين فرق الهندسة والأمن.

المتطلبات

الجانب التفاصيل
المتطلبات البيئية - حساب GitHub مع موصل تم إنشاؤه في Defender for Cloud
- رخصة GHAS
- تمكين إدارة وضعية أمان السحابة (CSPM) من ديفندر عند الاشتراك
- مايكروسوفت سيكيوريكي كوبايلوت (اختياري للمعالجة الآلية)
الأدوار والأذونات - صلاحيات مسؤول الأمان
- قارئ الأمان على اشتراك Azure (لعرض النتائج في Defender for Cloud)
- مالك منظمة GitHub
بيئات السحابة - متوفر فقط في السحب التجارية (ليس في Azure Government أو Azure التي تديرها 21Vianet أو غيرها من السحب السيادية)

إعداد البيئة الخاصة بك

الخطوة 1: قم بإعداد مستودع GitHub وتشغيل سير العمل

لاختبار التكامل، استخدم مستودعاتك الخاصة أو مستودع GitHub نموذجي يحتوي بالفعل على كل المحتويات لبناء صورة حاوية ضعيفة. قبل أن تنشئ مستودعا، تأكد أن:

إذا كنت ترغب في استخدام مستودع مثال، قم باستنساخ المستودع التالي إلى مؤسستك على GitHub: build25-woodgrove/mdc-customer-playbook. هذا المستودع مخصص للعملاء لاختبار تكامل Defender for Cloud وGHAS. يحتوي على GHAS مفعل ويتم إدخاله إلى مستأجر Azure مفعل Defender CSPM.

في المستودع، اتبع الخطوات التالية:

  1. اذهب إلى الإعدادات.

  2. في اللوحة اليسرى، اختر الأسرار والمتغيرات>الإجراءات. ثم اختر سر المستودع الجديد.

    لقطة شاشة لاختيارات إنشاء سر مستودع جديد في GitHub.

  3. أضف الأسرار التالية على مستوى المستودع أو المنظمة:

    المتغير الوصف
    ACR_ENDPOINT خادم تسجيل الدخول لسجل الحاويات
    ACR_USERNAME اسم المستخدم لسجل الحاويات
    ACR_PASSWORD كلمة المرور لسجل الحاويات

    إشعار

    يمكن اختيار الأسماء بحرية ولا تحتاج إلى اتباع نمط محدد.

    يمكنك العثور على هذه المعلومات في بوابة Azure باتباع الخطوات التالية:

    1. اختر سجل الحاوية الذي تريد نشره فيه.

    2. في قسم الإعدادات، اختر مفاتيح الوصول. تظهر لوحة مفاتيح Access مفاتيح خادم تسجيل الدخول، واسم المستخدم، وكلمة المرور.

      لقطة شاشة للجزء الذي يعرض مفاتيح الوصول لسجل حاويات في بوابة Azure.

  4. في مستودعك، اختر الإجراءات.

  5. اختر سير عمل Build and Push to ACR ، ثم اختر سير العمل Run.

    لقطة شاشة لقسم الإجراءات في مستودع GitHub يعرض تاريخ سير العمل والزر المستخدم لتشغيل سير العمل.

  6. تحقق من أن الصورة تم نشرها في سجل الحاويات الخاص بك.

    بالنسبة لمستودع المثال، يجب أن تكون الصورة في سجل يسمى mdc-mock-0001 مع الوسم mdc-ghas-integration.

  7. قم بنشر نفس الصورة كحاوية تعمل على عنقودك. إحدى الطرق لإكمال هذه الخطوة هي الاتصال بالعنقود واستخدام kubectl run الأمر. إليك مثالا لخدمة Azure Kubernetes (AKS):

    1. حدد اشتراك المجموعة:

      az account set --subscription $subscriptionID
      
    2. قم بتعيين بيانات اعتماد العنقود:

      az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing
      
    3. نشر الصورة:

      kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
      

الخطوة 2: إنشاء عامل المخاطر الأول (قاعدة حرجة للأعمال)

أحد عوامل المخاطر التي يكتشفها Defender for Cloud لهذا التكامل هو أهمية الأعمال. يمكن للمؤسسات وضع قواعد لتصنيف الموارد على أنها حرجة للأعمال.

  1. في بوابة Defender for Cloud، اذهب إلى إعدادات> البيئةلحسم الموارد.

  2. في اللوحة اليمنى، اختر الرابط لفتح Microsoft Defender.

    لقطة شاشة لواجهة Defender for Cloud تعرض خيارات لفتح بوابة Microsoft Defender.

  3. اختر إنشاء تصنيف جديد.

    لقطة شاشة لزر إنشاء تصنيف جديد.

  4. أدخل اسمًا ووصفًا.

  5. في منشئ الاستعلامات، اختر مورد السحابة.

  6. اكتب استعلاما لتعيين اسم المورد مساويا لاسم الحاوية التي نشرتها في المجموعة الخاصة بك للتحقق من الصحة. بعد ذلك حدد التالي.

    لقطة شاشة لمنشئ استعلامات Microsoft Defender مع تطبيق فلتر أسماء الموارد لمورد سحابي.

  7. في صفحة المعاينة للأصول ، إذا كان Microsoft Defender قد اكتشف مصدرك بالفعل، يظهر اسم الحاوية مع نوع أصل K8s-container أو K8s-pod.

    حتى لو لم يكن الاسم مرئيا بعد، تابع الخطوة التالية. يقوم Microsoft Defender بتطبيق علامة الحرجة على الحاوية بعد اكتشاف الحاوية. قد تستغرق هذه العملية حتى 24 ساعة.

  8. اختر مستوى حرجية، ثم راجع وقدم قاعدة التصنيف الخاصة بك.

الخطوة 3: تأكد من أن بيئتك جاهزة

إشعار

قد يستغرق الأمر حتى 24 ساعة بعد تطبيق الخطوات السابقة لرؤية النتائج التالية.

  1. اختبر أن مسح GitHub بدون وكيل يلتقط المستودع.

  2. اذهب إلى مستكشف أمان السحابة وقم بإجراء الاستعلام.

    لقطة شاشة لنتائج البحث في منشئ استعلامات مستكشف أمان السحابة، مع تعيين الفلاتر على مستودعات GitHub وصور الحاويات.

  3. تحقق من أن Defender for Cloud (في سجل حاويات Azure) قام بمسح صورة الحاوية واستخدامها لإنشاء حاوية. في استفسارك، أضف شروط نشرك المحدد.

    لقطة شاشة لمستكشف أمن السحابة تعرض نتائج المسح لاستعلام مع فلاتر لمستودعات GitHub وصور الحاويات.

  4. تحقق من تشغيل الحاوية وأن Defender for Cloud قام بمسح عنقود AKS.

    لقطة شاشة لنتائج استعلام مستكشف أمن السحابة مع فلاتر لمستودعات GitHub وصور الحاويات.

  5. تحقق من أن عوامل الخطر مضبوطة بشكل صحيح على جانب Defender for Cloud. ابحث عن اسم الحاوية في صفحة مخزون Defender for Cloud، وستجد أنه مصنف كحرج.

الخطوة 4: إنشاء حملة على GitHub

نظرا لأن سير العمل ينشر صورة تنشئ حاوية تعمل بأحد عوامل المخاطر (وهي حرجة للأعمال)، يمكن للمطورين رؤية عوامل المخاطر في GitHub.

إشعار

بعد تصنيف موردك كحرج، قد يستغرق إرسال البيانات إلى GitHub حتى 12 ساعة حتى Defender for Cloud. اعرف المزيد.

  1. في GitHub، اذهب إلى المنظمة التي استخدمتها لاختبار الإعداد.

  2. اخترحملات>الأمان>أنشئ حملة>من فلاتر مسح الكود.

    لقطة شاشة لخيارات في GitHub لإنشاء حملة من الشيفرة أو فلاتر المسح السرية.

  3. أنشئ الحملة التالية. تظهر هذه الحملة تنبيهات مفتوحة متوسطة الشدة حيث ترتبط الصورة المنتشرة من المستودع بمورد حيوي. يجب اكتشاف مستودع اختبارك مع هذه الحملة.

    لقطة شاشة لحملة على GitHub مع فلاتر للتنبيهات المفتوحة، والشدة، ومخاطر وقت التشغيل.

  4. اختر حفظ>النشر كحملة.

  5. أدخل المعلومات المطلوبة، ثم انشر الحملة.

الخطوة 5: تقييم توصيات التحويل من الكود إلى السحابة

استخدم توصيات البرمجة إلى السحابة وتنبيهات الأمان لفهم حالة مشكلات الأمان. يمكنك بعد ذلك تعيين التوصية للحل لفريق الهندسة المعني بمساعدة الربط بين تنبيهات أمان Dependabot ومطابقة معرفات الثغرات والتعرضات الشائعة (CVE) في Defender for Cloud.

لعرض توصيات الكود إلى السحابة:

  1. في بوابة Defender for Cloud، اذهب إلى تبويب التوصيات .

  2. ابحث عن اسم الحاوية التي أنشأتها. ثم افتح أحد التوصيات التي تتضمن كلمة تحديث.

    إذا استخدمت مستودع المثال، ابحث عن توصية تحديث التقويم لتوسيع القواعد.

  3. اذهب إلى تبويب رؤى المعالجة وشاهد مخطط الكود إلى السحابة. يقوم المخطط بتعيين الحاوية التي تعمل بصورة الحاوية في مستودع الكود وإلى مستودع الأصل في GitHub.

    لقطة شاشة لعلامة تبويب رؤى الإصلاح التي تعرض مخططا لمراحل التطوير المترابطة.

عرض تنبيهات الأمان

  1. اختر تبويب CVEs المرتبطة . لاحظ أن بعض معرفات CVE تحتوي على رابط عرض على GitHub في عمود تنبيهات GitHub ذات الصلة .

  2. اختر الرابط لفتح تنبيه الأمان الخاص ب GHAS.

لقطة شاشة لتبويب CVEs المرتبطة تظهر رابطا لتنبيه GitHub ذي صلة.

إنشاء مشكلة على GitHub

لسد الحلقة بين فرق الأمن والهندسة، يمكنك إنشاء مشكلة في GitHub تعطي الأولوية لقضايا الأمان التي يجب أن يركز عليها فريق الهندسة. يمكن أن يشمل هذا الترتيب الأولوية تمرير نتائج لم يلتقطها GHAS لكن Defender for Cloud اكتشفها لمعرفات CVE ليست جزءا من التبعيات المباشرة. يمكن أن تشمل هذه النتائج ثغرات في الصورة الأساسية أو نظام التشغيل أو البرمجيات مثل NGINX.

يتم توليد مشكلة GitHub تلقائيا مع جميع معرفات CVE الموجودة ضمن نطاق التوصية. التوصية هي مع وبدون تطابقات تنبيهات Dependabot، بما في ذلك سياقات وقت التشغيل الأخرى على مستودع الأصل.

لقطة شاشة لقائمة مشاكل في GitHub تظهر ثلاث إدخالات تحمل علامات الأمان وعلامات الثغرات.

عند تعيين المشكلة، يتم تحديث حالة المشكلة في بوابة Defender for Cloud.

لقطة شاشة لمشكلة في GitHub مع علامات الأمان والثغرات، بما في ذلك تفاصيل مثل معرفات CVE، وعوامل خطر وقت التشغيل، ومعلومات النشر.

قم بإجراء إصلاحات وكيلية

على جانب GitHub، إذا كان لديك رخصة Copilot في GitHub، يمكنك حل المشكلة بمساعدة وكيل البرمجة الخاص ب GitHub:

  1. قم بتعيين وكيل ترميز GitHub للمشكلة.
  2. راجع الإصلاح الذي تم إنشاؤه.
  3. إذا بدا الحل معقولا، طبقه.
  4. راقب بينما يقوم Defender for Cloud بتحديث حالة المشكلة إلى مغلق.