Mengidentifikasi gambar kontainer yang rentan di alur kerja CI/CD

Halaman ini menjelaskan cara memindai gambar kontainer berbasis Azure Container Registry dengan pemindai kerentanan terintegrasi saat dibuat sebagai bagian dari alur kerja GitHub Anda.

Untuk menyiapkan pemindai, Anda harus mengaktifkan Microsoft Defender untuk Kontainer dan integrasi CI/CD. Saat alur kerja CI/CD Anda mendorong gambar ke registri Anda, Anda dapat menampilkan hasil pemindaian registri dan ringkasan hasil pemindaian CI/CD.

Temuan pemindaian CI/CD merupakan pengayaan terhadap temuan pemindaian registri yang ada oleh Qualys. Pemindaian CI/CD Defender untuk Cloud didukung oleh Aqua Trivy.

Anda akan mendapatkan informasi keterlacakan seperti alur kerja GitHub dan URL yang dijalankan GitHub, untuk membantu mengidentifikasi alur kerja yang menghasilkan gambar yang rentan.

Tip

Kerentanan yang diidentifikasi dalam pemindaian registri Anda mungkin berbeda dari temuan pemindaian CI/CD Anda. Salah satu alasan perbedaan tersebut adalah bahwa pemindaian registri berkelanjutan, sedangkan pemindaian CI/CD dilakukan segera sebelum alur kerja mendorong gambar ke dalam registri.

Ketersediaan

Aspek Detail
Status rilis: Integrasi CI/CD ini sedang dalam pratinjau.
Sebaiknya Anda bereksperimen dengan integrasi ini hanya pada alur kerja non-produksi.
Ketentuan Tambahan Pratinjau Azure mencakup persyaratan hukum tambahan yang berlaku untuk fitur Azure yang masih dalam versi beta, pratinjau, atau belum dirilis ke ketersediaan umum.
Harga: Microsoft Defender untuk registri kontainer ditagih seperti yang ditunjukkan pada halaman harga
Cloud: Cloud komersial
Nasional (Azure Government, Azure Tiongkok)

Prasyarat

Untuk memindai gambar saat didorong oleh alur kerja CI/CD ke registri, Anda harus mengaktifkan Microsoft Defender untuk registri kontainer di langganan.

Menyiapkan pemindaian kerentanan alur kerja CI/CD

Untuk mengaktifkan pemindaian kerentanan gambar di alur kerja GitHub:

Langkah 1. Mengaktifkan integrasi CI/CD di Defender untuk Cloud

Langkah 2. Tambahkan garis yang diperlukan ke alur kerja GitHub

Langkah 1. Mengaktifkan integrasi CI/CD di Defender untuk Cloud

  1. Dari menu Defender untuk Cloud, buka Pengaturan lingkungan.

  2. Pilih langganan yang relevan.

  3. Dari panel samping halaman pengaturan untuk langganan tersebut, pilih Integrasi.

  4. Di panel yang muncul, pilih akun Application Insights untuk mendorong hasil pemindaian CI/CD dari alur kerja Anda.

  5. Salin token autentikasi dan string koneksi ke alur kerja GitHub.

    Aktifkan integrasi CI/CD untuk pemindaian kerentanan gambar kontainer di alur kerja GitHub.

    Penting

    Token autentikasi dan string koneksi digunakan untuk menghubungkan telemetri keamanan yang diserap dengan sumber daya dalam langganan. Jika Anda menggunakan nilai yang tidak valid untuk parameter tersebut, akan menyebabkan telemetri hilang fungsi.

Langkah 2. Tambahkan baris yang diperlukan ke alur kerja GitHub dan lakukan pemindaian

  1. Dari alur kerja GitHub, aktifkan pemindaian CI/CD sebagai berikut:

    Tip

    Sebaiknya buat dua rahasia di repositori Anda untuk direferensikan dalam file YAML seperti yang ditunjukkan di bawah ini. Rahasia dapat dinamai sesuai dengan konvensi penamaan Anda sendiri. Dalam contoh ini, rahasia direferensikan sebagai AZ_APPINSIGHTS_CONNECTION_STRING dan AZ_SUBSCRIPTION_TOKEN.

    Penting

    Dorongan ke registri harus terjadi sebelum hasil dipublikasikan.

    - name: Build and Tag Image
      run: |
        echo "github.sha=$GITHUB_SHA"
        docker build -t githubdemo1.azurecr.io/k8sdemo:${{ github.sha }} .
    
    - uses: Azure/container-scan@v0 
      name: Scan image for vulnerabilities
      id: container-scan
      continue-on-error: true
      with:
        image-name: githubdemo1.azurecr.io/k8sdemo:${{ github.sha }} 
    
    - name: Push Docker image 
      run: |
        docker push githubdemo1.azurecr.io/k8sdemo:${{ github.sha }}
    
    - name: Post logs to appinsights
      uses: Azure/publish-security-assessments@v0
      with: 
        scan-results-path: ${{ steps.container-scan.outputs.scan-report-path }}
        connection-string: ${{ secrets.AZ_APPINSIGHTS_CONNECTION_STRING }}
        subscription-token: ${{ secrets.AZ_SUBSCRIPTION_TOKEN }} 
    
  2. Jalankan alur kerja yang akan mendorong gambar ke registri kontainer terpilih. Setelah gambar didorong ke registri, pemindaian registri akan berjalan dan Anda dapat menampilkan hasil pemindaian CI/CD bersama dengan hasil pemindaian registri dalam Microsoft Defender untuk Cloud. Menjalankan file YAML di atas akan menginstal instans Keamanan Aqua Trivy Aqua di sistem build Anda. Trivy dilisensikan di bawah Lisensi Apache 2.0 dan memiliki dependensi pada umpan data, banyak di antaranya berisi ketentuan penggunaan mereka sendiri.

  3. Tampilkan hasil pemindaian CI/CD.

Menampilkan hasil pemindaian CI/CD

  1. Untuk menampilkan temuan, buka halaman Rekomendasi. Jika masalah ditemukan, Anda akan melihat rekomendasi Gambar registri kontainer harus memiliki temuan kerentanan yang diselesaikan (diberdayakan oleh Qualys).

    Rekomendasi untuk meremediasi masalah.

  2. Pilih rekomendasi.

    Halaman detail rekomendasi terbuka dengan informasi tambahan. Informasi ini mencakup daftar registri dengan gambar yang rentan ("Sumber daya yang terpengaruh") dan langkah-langkah remediasi.

  3. Buka daftar sumber daya yang terpengaruh, lalu pilih registri yang tidak sehat untuk menampilkan repositori di dalamnya yang memiliki gambar rentan.

    Pilih registri yang tidak sehat.

    Halaman detail registri terbuka dengan daftar repositori yang terpengaruh.

  4. Pilih repositori tertentu untuk melihat repositori di dalamnya yang memiliki gambar rentan.

    Pilih repositori yang tidak sehat.

    Halaman detail repositori akan terbuka. Ini daftar gambar yang rentan bersama dengan penilaian keparahan temuan.

  5. Pilih gambar tertentu untuk melihat kerentanan.

    Pilih gambar yang tidak sehat.

    Daftar temuan untuk gambar yang dipilih akan terbuka.

    Hasil pemindaian gambar.

  6. Untuk mempelajari selengkapnya tentang alur kerja GitHub mana yang mendorong gambar rentan tersebut, pilih gelembung informasi:

    Temuan CI/CD tentang cabang dan penerapan GitHub tertentu.

Langkah berikutnya

Pelajari selengkapnya tentang paket perlindungan lanjutan dari Pertahanan Microsoft untuk Cloud.