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
- Security Admin pada langganan Azure untuk melihat temuan di Defender untuk Cloud
- Pemilik organisasi GitHub 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 untuk pengujian yang berisi semua yang Anda perlukan untuk membangun citra kontainer yang rentan.

  1. Masuk ke portal Azure.

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

  3. Masukkan nama repo kode Anda di bilah pencarian, misalnya, 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. Pengaturan 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. Ini memastikan bahwa Defender dapat menampilkan rekomendasi dari kode ke runtime dan memberikan hasil yang berguna. Selama langkah validasi lingkungan, Defender memverifikasi bahwa:

  • 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

Bisa memakan waktu hingga 24 jam setelah langkah sebelumnya diterapkan untuk melihat hasilnya.

Validasikan visibilitas menyeluruh dari kode hingga runtime

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.

Tangkapan layar Cloud Security Explorer milik Defender untuk Cloud yang menampilkan kueri untuk push repositori GitHub ke image kontainer.

Note

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

  1. Di Azure Container Registry, validasi bahwa Defender untuk Cloud memindai citra kontainer dan menggunakannya untuk membuat kontainer.

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

    Tangkapan layar Cloud Security Explorer di Defender untuk Cloud yang menampilkan kueri untuk pengiriman dari repositori GitHub ke image kontainer yang memiliki kerentanan.

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

    Tangkapan layar Cloud Security Explorer milik Defender untuk Cloud yang menampilkan kueri untuk push GitHub ke image kontainer dengan kerentanan.

  4. Periksa bahwa faktor risiko dikonfigurasi dengan benar di sisi Defender untuk Cloud. Cari nama kontainer Anda di halaman inventaris Defender untuk Cloud. Anda seharusnya melihatnya ditandai sebagai kritis.

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>Kritikalitas 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. Untuk informasi lebih lanjut, lihat Memprioritaskan Dependabot dan peringatan pemindaian kode.

Langkah 3: Membuat kampanye GitHub

Untuk membuat kampanye pemindaian, lakukan 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.

    Kampanye risiko runtime membantu memprioritaskan temuan GitHub Advanced Security (GHAS) yang terkait dengan kode yang benar-benar sudah diterapkan dan sedang berjalan.

  3. 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.

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

  5. Lacak kemajuan kampanye.

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

Langkah 4: Tindaklanjuti rekomendasi

Gunakan fungsi pemetaan kode ke runtime pada rekomendasi VA Containers yang sedang berjalan serta korelasi CVE yang diidentifikasi dengan peringatan 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 Update.

  4. Pilih CVE Terkait.

    Peringatan keamanan muncul sebagai bagian dari alur evaluasi rekomendasi. Pemberitahuan ini memberikan petunjuk tentang temuan GitHub Advanced Security yang telah diketahui oleh tim engineering. Beberapa ID CVE memiliki tautan Lihat di GitHub di kolom Peringatan 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 peringatan 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 muncul dalam kolom tersebut, CVE tersebut menunjukkan risiko runtime yang belum diketahui oleh tim rekayasa dan perlu diprioritaskan untuk diperbaiki.

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. Kunjungi Remediation Insights 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 notifikasi 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 Generate GitHub issue tidak tersedia, Anda mungkin tidak memiliki izin GitHub atau repositori. 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 status atau penugasan isu yang dilakukan di GitHub tercermin di Microsoft Defender untuk Cloud. Fakta ini memungkinkan Anda melacak kemajuan kepemilikan dan remediasi dari tampilan Rekomendasi .

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

Membuat perbaikan agenik

Jika Anda memiliki lisensi GitHub Copilot, Anda dapat menyelesaikan masalah dengan bantuan agen pemrograman 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.