مشاركة عبر


تعيين صور الحاوية من التعليمات البرمجية إلى السحابة

عند تحديد ثغرة أمنية في صورة حاوية مخزنة في سجل حاوية أو قيد التشغيل في مجموعة Kubernetes، قد يكون من الصعب على ممارس الأمان التتبع مرة أخرى إلى مسار CI/CD الذي قام أولا ببناء صورة الحاوية وتحديد مالك معالجة المطور. باستخدام قدرات أمان DevOps في إدارة وضع الأمان السحابي في Microsoft Defender (CSPM)، يمكنك تعيين تطبيقات السحابة الأصلية من التعليمات البرمجية إلى السحابة لبدء مهام سير عمل معالجة المطور بسهولة وتقليل الوقت لمعالجة الثغرات الأمنية في صور الحاوية.

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

  • حساب Azure مع إلحاق Defender for Cloud. إذا لم يكن لديك حساب Azure بالفعل، فبادر بإنشاء حساب مجانا.

  • بالنسبة إلى Azure DevOps:

    • يجب تثبيت ملحق Microsoft Security DevOps (MSDO) على مؤسسة Azure DevOps.

    • تأكد من مشاركة Microsoft Defender for DevOps Extension وتثبيته في جميع مؤسسات Azure DevOps المتصلة. بالنسبة للموصلات المإلحاقة حديثا، سيتم ذلك تلقائيا. يقوم هذا الملحق تلقائيا بإدخال المهام في جميع Azure Pipelines لجمع البيانات لتعيين الحاوية.

    • يجب استخدام خطوط أنابيب YAML لأن البنية الأساسية لبرنامج ربط العمليات التجارية الكلاسيكية لم تعد مدعومة.

  • بالنسبة إلى GitHub:

    • يجب تكوين إجراء Microsoft Security DevOps (MSDO) في مهام سير عمل GitHub.

    • يجب أن يكون لسير عمل GitHub أذونات "id-token: write" للاتحاد مع Defender for Cloud. على سبيل المثال، راجع YAML هذا.

  • تمكين إدارة وضع الأمان السحابي في Defender.

  • يجب إنشاء صور الحاوية باستخدام Docker ويجب أن يكون عميل Docker قادرا على الوصول إلى خادم Docker أثناء الإنشاء.

تعيين صورة الحاوية من مسارات Azure DevOps إلى سجل الحاوية

بعد إنشاء صورة حاوية في مسار Azure DevOps CI/CD ودفعها إلى سجل، راجع التعيين باستخدام Cloud Security Explorer:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. انتقل إلى Microsoft Defender for Cloud>Security Explorer. قد يستغرق الأمر 4 ساعات كحد أقصى حتى يظهر تعيين صورة الحاوية في Cloud Security Explorer.

  3. لمشاهدة التعيين الأساسي، حدد صور+>>الحاوية المدفوعة بواسطة مستودعات التعليمات البرمجية.

    لقطة شاشة توضح كيفية العثور على التعيين الأساسي للحاويات.

  4. (اختياري) حدد + بواسطة صور الحاوية لإضافة عوامل تصفية أخرى إلى الاستعلام الخاص بك، مثل يحتوي على ثغرات أمنية لتصفية صور الحاوية فقط باستخدام CVEs.

  5. بعد تشغيل الاستعلام، سترى التعيين بين سجل الحاوية ومسار Azure DevOps. حدد ... بجوار الحافة للاطلاع على مزيد من التفاصيل حول مكان تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية Azure DevOps.

    لقطة شاشة تعرض استعلاما متقدما لنتائج تعيين الحاوية.

فيما يلي مثال على استعلام متقدم يستخدم تعيين صورة الحاوية. بدءا من حمل عمل Kubernetes الذي يتعرض للإنترنت، يمكنك تتبع جميع صور الحاوية ذات CVEs عالية الخطورة مرة أخرى إلى مسار Azure DevOps حيث تم إنشاء صورة الحاوية، ما يمكن ممارس الأمان من بدء سير عمل معالجة المطور.

لقطة شاشة تعرض نتائج تعيين الحاوية الأساسية.

إشعار

إذا كان لدى مؤسسة Azure DevOps موصل Azure DevOps الذي تم إنشاؤه قبل 15 نوفمبر 2023، فيرجى الانتقال إلى إعدادات>المؤسسة الملحقات > المشتركة وتثبيت مصمم تعيين صورة الحاوية. إذا لم تتمكن من رؤية الملحق المشترك مع مؤسستك، فاملأ النموذج التالي.

تعيين صورة الحاوية من مهام سير عمل GitHub إلى سجل الحاوية

  1. تأكد من إلحاق موصل GitHub ب Defender for Cloud.

  2. تشغيل سير عمل MSDO التالي:

name: Build and Map Container Image

on: [push, workflow_dispatch]

jobs:
  build:
    runs-on: ubuntu-latest
    # Set Permissions
    permissions:
      contents: read
      id-token: write
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.8' 
    # Set Authentication to Container Registry of Choice. 
    # The example below is for Azure Container Registry. Amazon Elastic Container Registry and Google Artifact Registry are also supported. 
   - name: Azure Container Registry Login 
        uses: Azure/docker-login@v1 
        with:
        login-server: <containerRegistryLoginServer>
        username: ${{ secrets.ACR_USERNAME }}
        password: ${{ secrets.ACR_PASSWORD }}
    # Build and Push Image
    - name: Build and Push the Docker image 
        uses: docker/build-push-action@v2
        with:
          push: true
          tags: ${{ secrets.IMAGE_TAG }}
          file: Dockerfile
     # Run Mapping Tool in MSDO
    - name: Run Microsoft Security DevOps Analysis
      uses: microsoft/security-devops-action@latest
      id: msdo

بعد إنشاء صورة حاوية في سير عمل GitHub ودفعها إلى سجل، راجع التعيين باستخدام Cloud Security Explorer:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. انتقل إلى Microsoft Defender for Cloud>Security Explorer. قد يستغرق الأمر 4 ساعات كحد أقصى حتى يظهر تعيين صورة الحاوية في Cloud Security Explorer.

  3. لمشاهدة التعيين الأساسي، حدد صور+>>الحاوية المدفوعة بواسطة مستودعات التعليمات البرمجية.

    لقطة شاشة تعرض تعيين الحاوية الأساسية.

  4. (اختياري) حدد + بواسطة صور الحاوية لإضافة عوامل تصفية أخرى إلى الاستعلام الخاص بك، مثل يحتوي على ثغرات أمنية لتصفية صور الحاوية فقط باستخدام CVEs.

  5. بعد تشغيل الاستعلام، سترى التعيين بين سجل الحاوية وسير عمل GitHub. حدد ... بجوار الحافة للاطلاع على مزيد من التفاصيل حول مكان تشغيل سير عمل GitHub.

فيما يلي مثال على استعلام متقدم يستخدم تعيين صورة الحاوية. بدءا من حمل عمل Kubernetes الذي يتعرض للإنترنت، يمكنك تتبع جميع صور الحاوية ذات CVEs عالية الخطورة مرة أخرى إلى مستودع GitHub حيث تم بناء صورة الحاوية، ما يمكن ممارس الأمان من بدء سير عمل معالجة المطور.

لقطة شاشة تعرض نتائج تعيين الحاوية الأساسية.

الخطوات التالية