Bagikan melalui


Menyebarkan integrasi GitHub Advanced Security dengan Microsoft Defender for Cloud

Panduan ini memandu Anda melalui langkah-langkah penyiapan dan tindakan lain untuk membantu Anda mengintegrasikan GitHub Advanced Security (GHAS) dan Pertahanan Microsoft untuk Cloud. Integrasi ini membantu Anda memaksimalkan keamanan aplikasi cloud-native Microsoft.

Dengan mengikuti panduan ini, Anda:

  • Siapkan repositori GitHub Anda untuk cakupan Defender for Cloud.
  • Buat faktor risiko runtime.
  • Uji kasus penggunaan nyata di Defender for Cloud.
  • Tautkan kode ke sumber daya cloud.
  • Mulai kampanye keamanan di GitHub. Kampanye ini menggunakan konteks runtime untuk memprioritaskan pemberitahuan keamanan GHAS berdasarkan konteks runtime.
  • Buat isu GitHub melalui Defender for Cloud untuk memulai remediasi.
  • Selesaikan hubungan antara tim teknik dan keamanan.

Prasyarat

Aspek Detail lebih lanjut
Persyaratan lingkungan - Akun GitHub dengan konektor yang dibuat di Defender for Cloud
- Lisensi GHAS
- Defender Cloud Security Posture Management (CSPM) diaktifkan pada langganan
- Microsoft Security Copilot (opsional untuk remediasi otomatis)
Peran dan izin - Izin untuk Admin Keamanan
- Pembaca Keamanan pada langganan Azure (untuk melihat temuan di Defender for Cloud)
- Pemilik organisasi GitHub
Lingkungan cloud - Hanya tersedia di cloud komersial (tidak di Azure Government, Azure yang dioperasikan oleh 21Vianet, atau sovereign cloud lainnya)

Menyiapkan lingkungan Anda

Langkah 1: Siapkan repositori GitHub dan jalankan alur kerja

Untuk menguji integrasi, gunakan repositori Anda sendiri atau contoh repositori GitHub yang sudah memiliki semua konten untuk membangun gambar kontainer yang rentan. Sebelum Anda menyiapkan repositori, pastikan bahwa:

Jika Anda ingin menggunakan contoh repositori, kloning repositori berikut ke organisasi GitHub Anda: build25-woodgrove/mdc-customer-playbook. Repositori ini untuk pelanggan menguji integrasi Defender for Cloud dan GHAS. GHAS telah diaktifkan dan telah di-onboard-kan ke penyewa Azure yang telah mengaktifkan Defender CSPM.

Di repositori, ikuti langkah-langkah berikut:

  1. Pergi ke Pengaturan.

  2. Di panel kiri, pilih Rahasia dan Variabel>Tindakan. Lalu pilih Rahasia repositori baru.

    Cuplikan layar pilihan untuk membuat rahasia repositori baru di GitHub.

  3. Tambahkan rahasia berikut di tingkat repositori atau organisasi:

    Variable Description
    ACR_ENDPOINT Server login untuk registri kontainer
    ACR_USERNAME Nama pengguna untuk registri kontainer
    ACR_PASSWORD Kata sandi untuk registri kontainer

    Nota

    Nama-nama dapat dipilih secara bebas dan tidak perlu mengikuti pola tertentu.

    Anda dapat menemukan informasi ini di portal Microsoft Azure dengan mengikuti langkah-langkah berikut:

    1. Pilih registri kontainer yang ingin Anda sebarkan.

    2. Di bawah Pengaturan, pilih Kunci akses. Panel Kunci akses memperlihatkan kunci untuk server masuk, nama pengguna, dan kata sandi.

      Cuplikan layar panel yang mencantumkan kunci akses untuk registri kontainer di portal Microsoft Azure.

  4. Di repositori Anda, pilih Tindakan.

  5. Pilih alur kerja Bangun dan Dorong ke ACR , lalu pilih Jalankan alur kerja.

    Cuplikan layar bagian Tindakan repositori GitHub yang memperlihatkan riwayat alur kerja dan tombol untuk menjalankan alur kerja.

  6. Periksa apakah gambar disebarkan ke registri kontainer Anda.

    Untuk repositori contoh, gambar harus berada dalam registri yang disebut mdc-mock-0001 dengan tag mdc-ghas-integration.

  7. Sebarkan gambar yang sama dengan kontainer yang sedang berjalan di kluster Anda. Salah satu cara untuk menyelesaikan langkah ini adalah dengan menyambungkan ke kluster dan menggunakan kubectl run perintah . Berikut adalah contoh untuk Azure Kubernetes Service (AKS):

    1. Tetapkan langganan kluster

      az account set --subscription $subscriptionID
      
    2. Atur kredensial untuk kluster:

      az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing
      
    3. Sebarkan gambar:

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

Langkah 2: Buat faktor risiko pertama (aturan penting bisnis)

Salah satu faktor risiko yang dideteksi Defender untuk Cloud untuk integrasi ini adalah kekritisan bisnis. Organisasi dapat membuat aturan untuk memberi label sumber daya sebagai bisnis penting.

  1. Di portal Defender for Cloud, buka Pengaturan> lingkunganKekritisan sumber daya.

  2. Di panel kanan, pilih tautan untuk membuka Pertahanan Microsoft.

    Cuplikan layar antarmuka Defender for Cloud yang menampilkan pilihan untuk membuka portal Pertahanan Microsoft.

  3. Pilih Buat klasifikasi baru.

    Cuplikan layar tombol untuk membuat klasifikasi baru.

  4. Masukkan nama dan deskripsi.

  5. Di penyusun kueri, pilih Sumber daya cloud.

  6. Tulis kueri untuk mengatur Nama Sumber Daya yang sama dengan nama kontainer yang Anda sebarkan ke kluster Anda untuk validasi. Kemudian pilih Berikutnya.

    Cuplikan layar penyusun kueri Pertahanan Microsoft dengan filter nama sumber daya yang diterapkan untuk sumber daya cloud.

  7. Pada halaman Aset Pratinjau , jika Pertahanan Microsoft sudah mendeteksi sumber daya Anda, nama kontainer muncul dengan jenis aset K8s-container atau K8s-pod.

    Bahkan jika nama belum terlihat, lanjutkan dengan langkah berikutnya. Pertahanan Microsoft menerapkan label kekritisan ke kontainer setelah mendeteksi kontainer. Proses ini dapat memakan waktu hingga 24 jam.

  8. Pilih tingkat kekritisan, lalu tinjau dan kirimkan aturan klasifikasi Anda.

Langkah 3: Validasi bahwa lingkungan Anda siap

Nota

Diperlukan waktu hingga 24 jam setelah langkah-langkah sebelumnya diterapkan untuk melihat hasil berikut.

  1. Uji bahwa pemindaian tanpa agen GitHub mendeteksi repositori.

  2. Buka Cloud Security Explorer dan lakukan kueri.

    Cuplikan layar hasil pencarian di penyusun kueri Cloud Security Explorer, dengan filter diatur ke repositori GitHub dan gambar kontainer.

  3. Validasi bahwa Defender for Cloud (di Azure Container Registry) memindai gambar kontainer dan menggunakannya untuk membuat kontainer. Dalam kueri Anda, tambahkan kondisi untuk penyebaran spesifik Anda.

    Cuplikan layar Cloud Security Explorer yang memperlihatkan hasil pemindaian untuk kueri dengan filter untuk repositori GitHub dan gambar kontainer.

  4. Validasi bahwa kontainer berjalan dan Defender untuk Cloud memindai kluster AKS.

    Cuplikan layar hasil kueri Cloud Security Explorer dengan filter untuk repositori GitHub dan gambar kontainer.

  5. Periksa bahwa faktor risiko dikonfigurasi dengan benar di sisi Defender for Cloud. Cari nama kontainer Anda di halaman inventori Defender for Cloud, dan Anda akan melihatnya ditandai sebagai penting.

Langkah 4: Membuat kampanye GitHub

Karena alur kerja menerapkan citra yang membuat kontainer berjalan dengan salah satu faktor risiko (kritis bagi bisnis), pengembang dapat melihat faktor risiko di GitHub.

Nota

Setelah Anda mengklasifikasikan sumber daya Anda sebagai penting, dibutuhkan waktu hingga 12 jam bagi Defender untuk Cloud untuk mengirim data ke GitHub. Pelajari selengkapnya.

  1. Di GitHub, buka organisasi GitHub yang Anda gunakan untuk pengujian penyiapan.

  2. PilihKampanye>Keamanan>Buat kampanye>Dari filter pemindaian kode.

    Cuplikan layar opsi di GitHub untuk membuat kampanye dari filter pemindaian kode atau rahasia.

  3. Buat kampanye berikut. Kampanye ini menunjukkan pemberitahuan terbuka dengan tingkat keparahan sedang di mana gambar yang disebarkan dari repositori terkait dengan sumber daya penting. Repositori pengujian Anda harus terdeteksi dengan kampanye ini.

    Cuplikan layar kampanye GitHub dengan filter untuk pemberitahuan terbuka, tingkat keparahan, dan risiko runtime.

  4. Pilih Simpan>Terbitkan sebagai kampanye.

  5. Masukkan informasi yang diperlukan, lalu terbitkan kampanye.

Langkah 5: Mengevaluasi rekomendasi kode-ke-cloud

Gunakan rekomendasi kode-ke-cloud dan pemberitahuan keamanan untuk memahami status masalah keamanan. Anda kemudian dapat menetapkan rekomendasi untuk resolusi kepada tim teknik yang relevan dengan bantuan koneksi antara pemberitahuan keamanan Dependabot dan mencocokkan kerentanan umum dan ID paparan (CVE) di Defender for Cloud.

Untuk melihat rekomendasi kode ke cloud:

  1. Di portal Defender for Cloud, buka tab Rekomendasi .

  2. Cari nama kontainer yang Anda buat. Kemudian, buka salah satu rekomendasi yang menyertakan kata Perbarui.

    Jika Anda menggunakan repositori contoh, cari Rekomendasi pembaruan ekspansi kurung kurawal.

  3. Buka tab Remediation Insights dan lihat diagram kode-ke-cloud. Diagram memetakan kontainer anda yang sedang berjalan ke gambar kontainer di repositori kode dan ke repositori kode asal di GitHub.

    Cuplikan layar tab Wawasan Remediasi yang memperlihatkan diagram fase pengembangan tertaut.

Melihat pemberitahuan keamanan

  1. Pilih tab CVE terkait . Perhatikan bahwa beberapa ID CVE memiliki tautan Lihat di GitHub di kolom Pemberitahuan GitHub Terkait .

  2. Pilih tautan untuk membuka pemberitahuan keamanan GHAS yang relevan.

Cuplikan layar tab CVE terkait yang memperlihatkan tautan ke pemberitahuan GitHub terkait.

Membuat masalah GitHub

Untuk menghubungkan tim keamanan dan teknik, Anda dapat membuat isu GitHub yang memprioritaskan masalah keamanan yang harus menjadi fokus tim teknik. Prioritas ini dapat mencakup temuan yang tidak teridentifikasi oleh GHAS tetapi yang terdeteksi oleh Defender untuk Cloud untuk ID CVE yang bukan bagian dari dependensi langsung. Temuan ini dapat mencakup kerentanan dalam gambar dasar, sistem operasi, atau perangkat lunak seperti NGINX.

Masalah GitHub secara otomatis dihasilkan dengan semua ID CVE yang ditemukan dalam cakupan rekomendasi. Rekomendasinya mencakup baik dengan maupun tanpa kecocokan notifikasi Dependabot, termasuk konteks runtime lainnya pada repositori asal.

Cuplikan layar daftar masalah GitHub yang memperlihatkan tiga entri yang ditandai dengan tag keamanan dan kerentanan.

Saat Anda menetapkan masalah, status masalah diperbarui di portal Defender for Cloud.

Cuplikan layar masalah GitHub dengan tag keamanan dan kerentanan, termasuk detail seperti ID CVE, faktor risiko runtime, dan info penyebaran.

Membuat perbaikan agenik

Di sisi GitHub, jika Anda memiliki lisensi GitHub Copilot, Anda dapat mengatasi masalah dengan bantuan agen pengkodian GitHub:

  1. Tetapkan agen pengkodian GitHub untuk masalah ini.
  2. Tinjau perbaikan yang dihasilkan.
  3. Jika perbaikan tampaknya masuk akal, terapkan.
  4. Perhatikan ketika Defender untuk Cloud memperbarui status masalah menjadi Ditutup.