Bagikan melalui


Memetakan gambar kontainer dari kode ke cloud

Ketika kerentanan diidentifikasi dalam gambar kontainer yang disimpan dalam registri kontainer atau berjalan di kluster Kubernetes, mungkin sulit bagi praktisi keamanan untuk melacak kembali ke alur CI/CD yang pertama kali membangun gambar kontainer dan mengidentifikasi pemilik remediasi pengembang. Dengan kemampuan keamanan DevOps di Manajemen Postur Keamanan Cloud Microsoft Defender (CSPM), Anda dapat memetakan aplikasi cloud-native Anda dari kode ke cloud untuk dengan mudah memulai alur kerja remediasi pengembang dan mengurangi waktu untuk remediasi kerentanan dalam gambar kontainer Anda.

Prasyarat

  • Akun Azure dengan Defender untuk Cloud onboarding. Jika Anda belum memiliki akun Azure, buat akun secara gratis.

  • Lingkungan Azure DevOps atau GitHub di-onboarding ke Microsoft Defender untuk Cloud.

    • Saat lingkungan Azure DevOps di-onboarding ke Microsoft Defender untuk Cloud, Pemetaan Kontainer Pertahanan Microsoft untuk DevOps akan dibagikan dan diinstal secara otomatis di semua organisasi Azure DevOps yang terhubung. Ini akan secara otomatis menyuntikkan tugas ke semua Azure Pipelines untuk mengumpulkan data untuk pemetaan kontainer.
  • Untuk Azure DevOps, Ekstensi Microsoft Security DevOps (MSDO) diinstal pada organisasi Azure DevOps.

  • Untuk GitHub, Tindakan Microsoft Security DevOps (MSDO) dikonfigurasi di repositori GitHub Anda. Selain itu, Alur Kerja GitHub harus memiliki izin "id-token: tulis" untuk federasi dengan Defender untuk Cloud. Misalnya, lihat YAML ini.

  • Defender CSPM diaktifkan.

  • Gambar kontainer harus dibuat menggunakan Docker dan klien Docker harus dapat mengakses server Docker selama build.

Memetakan gambar kontainer Anda dari alur Azure DevOps ke registri kontainer

Setelah membangun gambar kontainer dalam alur CI/CD Azure DevOps dan mendorongnya ke registri, lihat pemetaan dengan menggunakan Cloud Security Explorer:

  1. Masuk ke portal Azure.

  2. Buka Microsoft Defender untuk Cloud> Cloud Security Explorer. Diperlukan waktu maksimal 4 jam agar pemetaan gambar kontainer muncul di Cloud Security Explorer.

  3. Untuk melihat pemetaan dasar, pilih Gambar+>>Kontainer yang Didorong oleh repositori kode.

    Cuplikan layar yang memperlihatkan cara menemukan pemetaan dasar kontainer.

  4. (Opsional) Pilih + menurut Gambar Kontainer untuk menambahkan filter lain ke kueri Anda, seperti Memiliki kerentanan untuk memfilter hanya gambar kontainer dengan CVE.

  5. Setelah menjalankan kueri, Anda akan melihat pemetaan antara registri kontainer dan alur Azure DevOps. Pilih ... di samping tepi untuk melihat detail tambahan tempat alur Azure DevOps dijalankan.

    Cuplikan layar yang memperlihatkan kueri tingkat lanjut untuk hasil pemetaan kontainer.

Berikut ini adalah contoh kueri tingkat lanjut yang menggunakan pemetaan gambar kontainer. Dimulai dengan beban kerja Kubernetes yang terekspos ke internet, Anda dapat melacak semua gambar kontainer dengan CVE tingkat keparahan tinggi kembali ke alur Azure DevOps tempat gambar kontainer dibangun, memberdayakan praktisi keamanan untuk memulai alur kerja remediasi pengembang.

Cuplikan layar yang memperlihatkan hasil pemetaan kontainer dasar.

Catatan

Jika organisasi Azure DevOps Anda membuat konektor Azure DevOps sebelum 15 November 2023, buka Pengaturan organisasi>Ekstensi > Bersama dan instal dekorator pemetaan gambar kontainer. Jika Anda tidak melihat ekstensi yang dibagikan dengan organisasi Anda, isi formulir berikut.

Memetakan gambar kontainer Anda dari alur kerja GitHub ke registri kontainer

  1. Pastikan Anda telah melakukan onboarding konektor GitHub ke Defender untuk Cloud.

  2. Jalankan alur kerja MSDO berikut ini:

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

Setelah membuat gambar kontainer dalam alur kerja GitHub dan mendorongnya ke registri, lihat pemetaan dengan menggunakan Cloud Security Explorer:

  1. Masuk ke portal Azure.

  2. Buka Microsoft Defender untuk Cloud> Cloud Security Explorer. Diperlukan waktu maksimal 4 jam agar pemetaan gambar kontainer muncul di Cloud Security Explorer.

  3. Untuk melihat pemetaan dasar, pilih Gambar+>>Kontainer yang Didorong oleh repositori kode.

    Cuplikan layar yang memperlihatkan pemetaan kontainer dasar.

  4. (Opsional) Pilih + menurut Gambar Kontainer untuk menambahkan filter lain ke kueri Anda, seperti Memiliki kerentanan untuk memfilter hanya gambar kontainer dengan CVE.

  5. Setelah menjalankan kueri, Anda akan melihat pemetaan antara registri kontainer dan alur kerja GitHub. Pilih ... di samping tepi untuk melihat detail tambahan tempat alur kerja GitHub dijalankan.

Berikut ini adalah contoh kueri tingkat lanjut yang menggunakan pemetaan gambar kontainer. Dimulai dengan beban kerja Kubernetes yang terekspos ke internet, Anda dapat melacak semua gambar kontainer dengan CVE tingkat keparahan tinggi kembali ke repositori GitHub tempat gambar kontainer dibangun, memberdayakan praktisi keamanan untuk memulai alur kerja remediasi pengembang.

Cuplikan layar yang memperlihatkan hasil pemetaan kontainer dasar.

Langkah berikutnya