Menyebarkan integrasi Keamanan Tingkat Lanjut GitHub

Panduan ini menyediakan langkah-langkah penyiapan dan tindakan lain untuk membantu Anda mengintegrasikan GitHub Advanced Security (GHAS) dan Microsoft Defender untuk Cloud, lalu memvalidasi integrasi dari ujung ke ujung. Integrasi ini membantu memaksimalkan keamanan aplikasi cloud-native Microsoft dengan menghubungkan risiko runtime dan konteks dengan kode asal untuk remediasi yang didukung AI yang lebih cepat.

Dengan mengikuti panduan ini, Anda:

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

Prasyarat

Aspek Rincian
Persyaratan lingkungan - Akun GitHub dengan konektor yang dibuat di Defender untuk Cloud
- lisensi GitHub Advanced Security (GHAS) pada repositori yang terhubung
- paket Defender Cloud Security Posture Management (DCSPM) diaktifkan pada langganan
- Microsoft Security Copilot (opsional untuk remediasi otomatis bertenaga AI)
Peran dan izin - Izin untuk Admin Keamanan
- Admin Keamanan pada langganan Azure (untuk melihat temuan di Defender untuk Cloud)
- GitHub pemilik organisasi (untuk menghubungkan repositori dan mengonfigurasi kampanye keamanan)
Lingkungan cloud - Hanya tersedia di cloud komersial (tidak di Azure Government, Azure yang dioperasikan oleh 21Vianet, atau sovereign cloud lainnya)

Menyiapkan lingkungan Anda

Selesaikan langkah-langkah berikut untuk mengonfigurasi repositori GitHub dan pengaturan Defender untuk Cloud sebelum Anda memvalidasi integrasi.

Langkah 1: Siapkan repositori GitHub dan jalankan alur kerja

Untuk menguji integrasi, gunakan repositori Anda sendiri atau contoh proyek sandbox. Proyek sandbox menyediakan repositori GitHub uji dengan semua yang Anda butuhkan untuk membangun image kontainer yang rentan.

  1. Masuk ke portal Azure.

  2. Pergi ke Microsoft Defender untuk Cloud>Keamanan DevOps.

  3. Masukkan nama repositori kode Anda di bilah pencarian (Contoh: zava-webshop).

  4. Validasi bahwa itu milik organisasi yang Anda pantau, misalnya, organisasi zava-corporation .

  5. Tinjau apakah ada temuan untuk repositori proyek.

  6. Pastikan Status keamanan tingkat lanjutAktif. Ini menunjukkan bahwa GitHub Advanced Security diaktifkan pada repositori yang dipantau.

  7. Jika repositori Anda tidak ditemukan, lihat quickstart onboarding konektor GitHub untuk panduan pemecahan masalah dan pengaturan.

  8. Pastikan pemindaian tanpa agen diaktifkan untuk konektor GitHub Anda.

    Screenshot Konfigurasi Rencana di Defender CSPM dengan pemindaian kode tanpa agen diaktifkan dan semua opsi pemindai diaktifkan.

Langkah 2: Validasi bahwa lingkungan Anda siap

Validasi lingkungan ini mengonfirmasi bahwa repositori dan sumber daya cloud Anda telah diatur dengan benar. Aplikasi ini memeriksa bahwa Defender dapat menampilkan rekomendasi kode-ke-runtime dan menghasilkan hasil yang berguna. Selama langkah validasi lingkungan, Defender memverifikasi bahwa:

Validasi visibilitas penuh dari kode-ke-runtime

  • Microsoft Defender untuk Cloud terus memantau repositori kode sumber untuk kerentanan keamanan.
  • Artefak bangun, seperti citra kontainer, dipindai dalam registri kontainer sebelum diterapkan.
  • Beban kerja runtime yang disebarkan ke kluster Kubernetes dipantau untuk risiko keamanan.
  • Defender untuk Cloud mengaitkan dan menelusuri setiap artefak dari kode, melalui pembangunan dan penyebaran, ke runtime dan kembali.

Note

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

Uji bahwa pemindaian tanpa agen GitHub mendeteksi repositori.

Buka Microsoft Defender untuk Cloud>Cloud Security Explorer dan lakukan kueri. Kueri validasi menguji apakah Defender dapat mengidentifikasi artefak yang dihasilkan oleh alur dan beban kerja Anda. Jika kueri mengembalikan hasil, itu menunjukkan bahwa pemindaian dan korelasi berfungsi seperti yang diharapkan.

Screenshot dari Cloud Security Explorer di Defender untuk Cloud memperlihatkan kueri untuk push repositori GitHub ke gambar kontainer.

Note

Jika tidak ada hasil yang dikembalikan, itu mungkin menunjukkan bahwa artefak belum dihasilkan, pemindaian tidak dikonfigurasi, atau izin hilang. Lihat Peran dan izin pengguna untuk informasi selengkapnya.

  1. Validasi bahwa Defender untuk Cloud (di Azure Container Registry) memindai gambar kontainer dan menggunakannya untuk membuat kontainer.

  2. Dalam kueri Anda, tambahkan kondisi untuk penyebaran spesifik Anda.

    Screenshot dari Defender untuk Cloud’s Cloud Security Explorer yang menunjukkan kueri untuk pengiriman repositori GitHub ke gambar kontainer dengan kerentanan.

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

    Tangkapan layar dari Cloud Security Explorer pada Defender untuk Cloud yang menunjukkan kueri untuk pengiriman GitHub ke gambar kontainer yang memiliki kerentanan.

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

Note

Langkah ini diperlukan hanya jika faktor risiko belum dikonfigurasi di lingkungan Anda. Jika Anda sudah menggunakan faktor risiko, Anda dapat memverifikasi konfigurasinya di bawah Pengaturan > Kekritisan sumber daya.

Validasi yang berhasil memastikan bahwa langkah berikutnya, seperti rekomendasi, kampanye, dan pembuatan masalah GitHub, menghasilkan hasil yang bermakna.

Note

Setelah Anda mengklasifikasikan sumber daya Anda sebagai penting, dibutuhkan waktu hingga 12 jam bagi Defender untuk Cloud untuk mengirim data ke GitHub. Pahami peringatan dalam kode produksi.

Langkah 3: Membuat kampanye GitHub

Untuk membuat kampanye pemindaian, Anda harus bekerja di tingkat organisasi GitHub. Pengalaman ini tidak tersedia di tingkat repositori individual.

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

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

  3. Kampanye runtime-risk membantu memprioritaskan temuan GitHub Advanced Security (GHAS) yang termasuk dalam kode yang benar-benar diterapkan dan berjalan.

  4. Pilih Filter Risiko Runtime untuk kampanye.

    Screenshot pembuatan kampanye pemindaian kode di GitHub dengan bilah filter, tombol Filter, dan tooltip tentang pemfilteran berdasarkan metadata artefak.

    Screenshot kotak dialog filter tingkat lanjut dalam pembuatan kampanye GitHub dengan filter Risiko Runtime dan menu faktor risiko yang dapat dipilih terbuka.

  5. Pilih Simpan>Terbitkan sebagai kampanye. Masukkan informasi yang diperlukan lalu terbitkan kampanye.

  6. Lacak kemajuan kampanye. Screenshot halaman kampanye GitHub memperlihatkan status terlambat, bilah kemajuan kampanye, daftar pemberitahuan penting, dan opsi filter.

Langkah 4: Tindaklanjuti rekomendasi

Gunakan fungsionalitas kode-ke-runtime pada rekomendasi Containers VA yang sedang berjalan serta korelasi CVE yang diidentifikasi dengan pemberitahuan keamanan Dependabot untuk memahami status masalah keamanan. Anda kemudian dapat menetapkan rekomendasi untuk penyelesaian ke tim teknik yang relevan berdasarkan pemetaan kode ke waktu proses.

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

  2. Cari nama kontainer yang Anda buat dari repositori kode Anda.

  3. Buka salah satu rekomendasi Perbarui perangkat lunak ; nama rekomendasi dimulai dengan Pembaruan

  4. Pilih tab CVE Terkait Pemberitahuan keamanan muncul sebagai bagian dari alur evaluasi rekomendasi. Pemberitahuan ini memberikan petunjuk tentang temuan GitHub Advanced Security yang telah diketahui oleh tim engineering. Perhatikan bahwa beberapa ID CVE memiliki tautan Tampilkan di GitHub di kolom Pemberitahuan GitHub Terkait.

     Tab Temuan Defender untuk Cloud memperlihatkan pemberitahuan CVE-2024-21409, status perbaikan, skor CVSS, dan popup detail pemberitahuan GitHub.

Pilih tautan untuk membuka pemberitahuan keamanan GHAS yang relevan. (Untuk melihat konten pemberitahuan GHAS di GitHub, Anda harus memiliki izin akses ke repositori GitHub yang relevan. Jika Anda tidak memiliki izin akses, Anda selalu dapat menyalin tautan untuk penggunaan berikutnya atau menghubungi administrator GitHub Anda.)

Jika kolom Peringatan GitHub Terkait menunjukkan peringatan Dependabot yang cocok, kerentanan tersebut sudah diketahui oleh pihak rekayasa. Jika status peringatan adalah Aktif, belum ada yang memperbaikinya, dan masalah ini perlu diprioritaskan untuk diperbaiki.

Jika tidak ada peringatan GitHub yang cocok di kolom, CVE mewakili risiko runtime yang tidak diketahui oleh engineering dan perlu diprioritaskan untuk perbaikan.

Apa selanjutnya? Bagaimana saya tahu siapa tim yang relevan untuk perbaikan? Bagaimana cara mengetahui konteks mana yang dapat membantu rekayasa dengan perbaikan?

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 di repositori kode sumber dengan semua ID CVE yang ditemukan dalam cakupan rekomendasi, termasuk konteks terkait runtime dan kontainer SDLC lainnya yang dapat membantu perbaikan dan pengujian.

Dari tampilan rekomendasi, Anda dapat secara eksplisit menghasilkan masalah GitHub untuk melacak pekerjaan remediasi.

  1. Buka tab Wawasan Remediasi dan lihat diagram kode-ke-runtime. Diagram memetakan kontainer anda yang sedang berjalan ke gambar kontainer di repositori kode dan ke repositori kode asal di GitHub.

    Cuplikan layar Wawasan Remediasi memperlihatkan diagram kode-ke-runtime dengan tingkat risiko dan menu Ambil Tindakan terbuka pada kotak Runtime.

    1. Pada tab Remediation Insights , tinjau kotak Runtime yang terpengaruh.

    2. Validasi apakah masalah GitHub sudah ada. Jika masalah GitHub sudah ada, ikon GitHub ditampilkan di kotak. Arahkan mouse ke atas ikon untuk melihat detail masalah.

    3. Jika tidak ada masalah dan Anda memiliki izin yang diperlukan, Anda dapat menghasilkan masalah GitHub baru. Pilih Ambil tindakan.

    4. Pilih opsi Buat masalah GitHub dari popup.

    5. Jika masalah berhasil dibuat, Anda akan melihat pemberitahuan popup dengan tautan ke masalah tersebut. Masalah ini dibuat di repositori kode asal.

      Screenshot daftar masalah GitHub memperlihatkan masalah terbuka untuk dependensi dengan label seperti Defender untuk Cloud dan security.

    Note

    Jika opsi masalah Generate GitHub tidak tersedia, izin GitHub atau repositori yang diperlukan mungkin hilang. Hubungi administrator GitHub atau repositori Anda untuk meminta akses.

    Cuplikan layar yang menampilkan isu GitHub yang dihasilkan untuk dependensi terbuka dengan label Defender untuk Cloud dan label keamanan.

    1. Lacak kepemilikan dan pembaruan status - perubahan pada status masalah atau penugasannya yang dibuat di GitHub akan tercermin di Microsoft Defender untuk Cloud, sehingga Anda dapat melacak kepemilikan dan progres remediasi dari tampilan Recommendations.

      Munculan layar halaman Rekomendasi Microsoft Defender untuk Cloud memperlihatkan masalah berisiko tinggi dengan detail masalah GitHub popup.

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.

Pelajari lebih lanjut tentang GitHub Advanced Security dan Defender untuk Cloud: