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

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

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

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

  • بيئة Azure DevOps أو GitHub المإلحاقة ب Microsoft Defender for Cloud.

    • عند إلحاق بيئة Azure DevOps ب Microsoft Defender for Cloud، ستتم مشاركة Microsoft Defender for DevOps Container Mapping وتثبيته تلقائيا في جميع مؤسسات Azure DevOps المتصلة. سيؤدي ذلك إلى إدخال المهام تلقائيا في جميع Azure Pipelines لجمع البيانات لتعيين الحاوية.
  • بالنسبة إلى Azure DevOps، تم تثبيت ملحق Microsoft Security DevOps (MSDO) على مؤسسة Azure DevOps.

  • بالنسبة إلى GitHub، تم تكوين إجراء Microsoft Security DevOps (MSDO) في مستودعات GitHub. بالإضافة إلى ذلك، يجب أن يكون لدى GitHub Workflow أذونات "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. لمشاهدة التعيين الأساسي، حدد صور+>>الحاوية المدفوعة بواسطة مستودعات التعليمات البرمجية.

    Screenshot that shows how to find basic mapping of containers.

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

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

    Screenshot that shows an advanced query for container mapping results.

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

Screenshot that shows basic container mapping results.

إشعار

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

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

  1. أضف أداة تعيين صورة الحاوية إلى سير عمل 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
   - 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
      with:
        include-tools: container-mapping

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

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

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

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

    Screenshot that shows basic container mapping.

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

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

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

Screenshot that shows basic container mapping results.

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