Bagikan melalui


Menyiapkan pemindaian rahasia

Kredensial yang terekspos dalam sistem teknik memberikan peluang yang mudah dieksploitasi bagi penyerang. Untuk bertahan dari ancaman ini, GitHub Advanced Security untuk Azure DevOps memindai kredensial dan konten sensitif lainnya dalam kode sumber Anda. Perlindungan push juga mencegah kredensial apa pun bocor sejak awal. Anda memerlukan GitHub Advanced Security untuk Azure DevOps atau, jika Anda menggunakan pengalaman mandiri, GitHub Secret Protection untuk Azure DevOps diaktifkan.

Pemindaian rahasia pada repositori Anda mendeteksi rahasia yang mungkin sudah ada dalam kode sumber Anda di seluruh riwayat, dan perlindungan saat pengiriman mencegah rahasia baru terekspos dalam kode sumber.

GitHub Advanced Security untuk Azure DevOps berfungsi dengan Azure Repos. Untuk menggunakan GitHub Advanced Security dengan repositori GitHub, lihat GitHub Advanced Security.

Prasyarat

Kategori Persyaratan
Izin - Untuk melihat ringkasan semua peringatan untuk repositori: izin Kontributor untuk repositori.
- Untuk mengabaikan peringatan di Advanced Security: izin administrator proyek .
- Untuk mengelola izin di Keamanan Tingkat Lanjut: Anggota grup Administrator Koleksi Proyek atau Pengaturan Keamanan Lanjutan: mengelola pengaturan dengan izin yang diatur pada Izinkan.

Untuk informasi selengkapnya tentang izin Keamanan Tingkat Lanjut, lihat Mengelola izin Keamanan Tingkat Lanjut.

Tentang pemberitahuan pemindaian rahasia

Saat Anda mengaktifkan Keamanan Tingkat Lanjut atau Perlindungan Rahasia secara khusus, ini memindai repositori untuk rahasia yang dikeluarkan oleh berbagai penyedia layanan dan menghasilkan pemberitahuan pemindaian rahasia.

Jika akses ke sumber daya memerlukan kredensial yang dipasangkan, pemindaian rahasia membuat pemberitahuan hanya ketika kedua bagian pasangan terdeteksi dalam file yang sama. Penyandingan memastikan bahwa kebocoran paling kritis tidak disembunyikan oleh informasi tentang kebocoran parsial. Pencocokan pasangan juga membantu mengurangi positif palsu karena kedua elemen pasangan harus digunakan bersama-sama untuk mengakses sumber daya penyedia.

Tab Keamanan Tingkat Lanjut di Repos>Advanced Security di Azure DevOps adalah hub untuk melihat pemberitahuan keamanan Anda. Pilih tab Rahasia untuk melihat pemberitahuan pemindaian rahasia. Anda dapat memfilter menurut jenis status dan rahasia. Buka pemberitahuan untuk detail selengkapnya, termasuk panduan remediasi. Setelah Anda mengaktifkan Advanced Security, pemindaian dimulai untuk repositori yang dipilih, termasuk semua komit historis. Seiring waktu, pemberitahuan mulai muncul saat pemindaian berlangsung.

Mengganti nama cabang tidak memengaruhi hasilnya. Namun, mungkin perlu waktu hingga 24 jam agar nama baru ditampilkan.

Cuplikan layar memperlihatkan pemberitahuan pemindaian rahasia aktif.

Untuk memperbaiki rahasia yang terbuka, batalkan kredensial yang terekspos dan buat kredensial baru sebagai penggantinya. Rahasia yang baru dibuat kemudian harus disimpan dengan aman dengan cara yang tidak langsung mendorongnya kembali ke dalam kode. Misalnya, rahasia dapat disimpan di Azure Key Vault. Sebagian besar sumber daya memiliki kredensial primer dan sekunder. Metode untuk memutar ulang kredensial utama dengan kredensial sekunder adalah identik, kecuali dinyatakan lain.

Mengelola pemberitahuan pemindaian rahasia

Menampilkan pemberitahuan untuk repositori

Pilih tab Rahasia untuk melihat semua pemberitahuan pemindaian rahasia.

Jika Advanced Security baru-baru ini diaktifkan untuk repositori Anda, Anda mungkin melihat kartu yang menunjukkan bahwa Advanced Security masih memindai repositori Anda.

Cuplikan layar menunjukkan pemindaian untuk data sensitif.

Setelah pemindaian selesai, hasil apa pun ditampilkan. Satu pemberitahuan dihasilkan untuk setiap kredensial unik yang terdeteksi, di semua cabang dan riwayat repositori Anda. Tidak ada filter cabang karena mereka digabungkan dalam satu peringatan.

Rahasia nonprovider dapat dilihat dengan memilih "Lainnya" dari menu dropdown tingkat kepercayaan pada tab pemindaian rahasia.

Cuplikan layar filter keyakinan pemindaian rahasia Keamanan Tingkat Lanjut GitHub.

Detail peringatan

Saat Anda membuka pemberitahuan, tampilan pemberitahuan terperinci muncul dan mengungkapkan detail selengkapnya tentang temuan dan menyediakan panduan remediasi tertentu untuk mengatasi pemberitahuan.

Cuplikan layar memperlihatkan detail untuk pemberitahuan pemindaian rahasia

Nota

Gambar berisi nilai yang diformat menyerupai token akses pribadi (PAT). Nilai ini bukan PAT yang valid dan hanya digunakan untuk tujuan ilustrasi. GitHub Advanced Security untuk Azure DevOps melakukan pemeriksaan validitas pada rahasia yang terdeteksi. Meskipun alat awalnya dapat mendeteksi nilai yang cocok dengan format PAT yang diharapkan, alat ini melakukan validasi tambahan untuk memverifikasi keaslian. Jika token gagal dalam pemeriksaan validasi ini (artinya, bukan PAT yang valid aktual), pemindaian rahasia mengenalinya sebagai tidak valid dan tidak memicu pemberitahuan deteksi. Ini membantu mengurangi positif palsu dan memastikan bahwa hanya rahasia aktual yang valid yang menghasilkan pemberitahuan.

Bagian Penjelasan
Lokasi Bagian Lokasi merinci jalur tempat pemindaian rahasia menemukan kredensial yang bocor. Mungkin ada beberapa lokasi atau beberapa penerapan dalam riwayat yang berisi kredensial yang bocor. Semua lokasi dan commit ini ditampilkan di bawah Lokasi dengan tautan langsung ke cuplikan kode dan commit di mana itu diidentifikasi.
Rekomendasi Bagian rekomendasi berisi panduan remediasi atau tautan ke panduan remediasi dokumentasi non-Microsoft untuk kredensial yang diidentifikasi.
Tutup pemberitahuan Tidak ada perilaku perbaikan otomatis untuk peringatan pemindaian rahasia. Semua peringatan pemindaian rahasia harus dinyatakan telah diperbaiki secara manual melalui halaman detail peringatan. Pilih tombol Tutup untuk memverifikasi bahwa rahasia dicabut.
Tingkat keparahan Semua peringatan pemindaian rahasia ditetapkan sebagai kritis. Setiap kredensial yang terekspos berpotensi menjadi kesempatan bagi aktor jahat.
Menemukan detail Jenis kredensial dan aturan yang digunakan untuk menemukan kredensial tercantum di bawah detail Temuan di bilah sisi halaman detail pemberitahuan.

Dengan rahasia nonprovider, tag Keyakinan: lainnya juga muncul pada lencana tingkat keparahan dalam tampilan detail peringatan.

Cuplikan layar rahasia Keamanan Lanjutan GitHub memindai detail pemberitahuan umum.

Memperbaiki pemberitahuan pemindaian rahasia

Setiap rahasia memiliki langkah-langkah remediasi unik untuk memandu Anda melalui cara mencabut dan meregenerasi rahasia baru di tempatnya. Detail pemberitahuan berbagi langkah atau dokumentasi tertentu untuk setiap pemberitahuan.

Pemberitahuan pemindaian rahasia akan tetap aktif sampai ditutup. Untuk membuktikan bahwa pemberitahuan pemindaian rahasia telah diperbaiki:

  1. Buka peringatan yang ingin Anda tutup, lalu pilih peringatan.
  2. Pilih menu drop-down Tutup pemberitahuan.
  3. Jika belum dipilih, pilih Diperbaiki.
  4. Pilih Tutup untuk mengirimkan dan menutup pemberitahuan.

Cuplikan layar memperlihatkan cara menutup pemberitahuan pemindaian rahasia

Menutup pemberitahuan pemindaian rahasia

Untuk menutup pemberitahuan, lakukan langkah-langkah berikut:

  1. Buka peringatan yang ingin Anda tutup dan pilih peringatan tersebut.
  2. Pilih menu drop-down Tutup pemberitahuan.
  3. Jika belum dipilih, pilih Risiko diterima atau False positive sebagai alasan penutupan.
  4. Tambahkan komentar opsional ke dalam kotak teks Komentar .
  5. Pilih Tutup untuk mengirimkan dan menutup pemberitahuan.
  6. Status pemberitahuan berubah dari Buka menjadi Tertutup dan menampilkan alasan pemecatan Anda.

Cuplikan layar memperlihatkan detail pemecatan untuk pemberitahuan pemindaian rahasia

Anda dapat membuka pemberitahuan yang ditutup sebelumnya secara manual.

Mengamankan rahasia yang telah bocor

Setelah rahasia dimasukkan ke repositori, rahasia tersebut terbongkar. Microsoft menyarankan tindakan berikut untuk rahasia yang telah disusupi:

Penting

Pertimbangkan untuk menggunakan token Microsoft Entra yang lebih aman daripada token akses pribadi yang berisiko lebih tinggi. Untuk informasi selengkapnya, lihat Mengurangi penggunaan PAT. Tinjau panduan autentikasi untuk memilih mekanisme autentikasi yang tepat untuk kebutuhan Anda.

  • Untuk token akses pribadi Azure DevOps yang disusupi, hapus token yang disusupi, buat token baru, dan perbarui layanan apa pun yang menggunakan token lama.
  • Untuk semua rahasia lainnya, pertama-tama verifikasi bahwa rahasia yang dikomit ke dalam Azure Repos adalah valid. Jika demikian, buat rahasia baru, perbarui layanan apa pun yang menggunakan rahasia lama, lalu hapus rahasia lama.
  • Identifikasi tindakan apa pun yang diambil oleh token yang disusupi pada sumber daya perusahaan Anda.

Saat Anda memperbarui rahasia, simpan rahasia baru dengan aman dan pastikan rahasia tersebut tidak pernah disimpan sebagai teks biasa. Salah satu opsinya adalah menggunakan Azure Key Vault atau solusi manajemen rahasia lainnya.

Perlindungan pendorongan rahasia

Perlindungan pendorongan memeriksa dorongan masuk untuk rahasia dengan keyakinan tinggi dan mencegah dorongan dilalui. Pesan peringatan menampilkan semua rahasia yang diketahui bagi Anda untuk menghapusnya atau mempertahankan rahasia tersebut jika diperlukan.

Tentang notifikasi perlindungan push

Pemberitahuan perlindungan push adalah pemberitahuan pengguna yang dilaporkan oleh perlindungan push. Pemindaian rahasia sebagai perlindungan push saat ini memindai repositori untuk rahasia yang dikeluarkan oleh beberapa penyedia layanan.

Jika akses ke sumber daya memerlukan kredensial yang dipasangkan, pemindaian rahasia mungkin membuat pemberitahuan hanya ketika kedua bagian pasangan terdeteksi dalam file yang sama. Pengaturan memastikan bahwa kebocoran paling kritis tidak tersembunyi oleh informasi tentang kebocoran parsial. Pencocokan pasangan juga membantu mengurangi positif palsu karena kedua elemen pasangan harus digunakan bersama-sama untuk mengakses sumber daya penyedia.

Perlindungan push mungkin tidak memblokir versi token tertentu yang lebih lama karena token ini mungkin menghasilkan jumlah positif palsu yang lebih tinggi daripada versi terbarunya. Perlindungan dorong mungkin juga tidak memblokir token lama. Untuk token seperti Azure Storage Keys, Advanced Security hanya mendukung token yang baru dibuat, bukan token yang cocok dengan pola warisan.

Mendorong perlindungan dari baris perintah

Perlindungan push terintegrasi secara native ke dalam Azure DevOps Git. Jika komit Anda memuat rahasia yang teridentifikasi, kesalahan berikut menampilkan pesan bahwa upaya pendorongan Anda ditolak.

Cuplikan layar memperlihatkan push git yang diblokir dari VS Code

Mendorong perlindungan dari antarmuka web

Perlindungan push juga berfungsi dari antarmuka web. Jika sebuah rahasia diidentifikasi dalam komit, blok kesalahan berikut akan ditampilkan, yang menghentikan Anda dari melakukan push perubahan Anda.

Cuplikan layar menunjukkan git push yang diblokir di antarmuka pengguna web AzDO

Apa yang harus dilakukan jika dorongan Anda diblokir

Perlindungan push memblokir rahasia yang ditemukan dalam file teks biasa yang biasanya (tetapi tidak terbatas pada) file teks seperti kode sumber atau file konfigurasi JSON. Rahasia ini disimpan dalam teks biasa. Jika aktor jahat mendapatkan akses ke file dan mereka dipublikasikan ke repositori publik, rahasia tersebut dapat digunakan oleh siapa pun.

Hapus rahasia dari file yang ditandai, lalu hapus rahasia dari riwayat penerapan. Jika rahasia yang ditandai adalah placeholder atau contoh rahasia, perbarui dengan menambahkan string Placeholder di depan rahasia palsu.

Jika rahasia ditambahkan dalam commit sebelumnya langsung, ubah commit tersebut dan buat commit baru.

  1. Hapus rahasia dari kode Anda.
  2. Menerapkan perubahan dengan menggunakan git commit --amend
  3. Dorong perubahan Anda lagi.

Jika rahasia ditambahkan jauh di masa lalu, edit komit Anda menggunakan rebase interaktif:

  1. Gunakan git log untuk menentukan komit pertama saat Anda menyimpan rahasia.
  2. Lakukan rebase interaktif: git rebase -i [commit ID before credential introduction]~1
  3. Identifikasi commit Anda untuk mengedit dengan mengubah pick menjadi edit pada baris pertama teks yang muncul di editor.
  4. Hapus rahasia dari kode Anda.
  5. Terapkan perubahan dengan git commit --amend.
  6. Selesaikan rebase dengan menjalankan git rebase --continue.

Mendorong rahasia yang diblokir

Jangan melewati rahasia yang ditandai karena melakukannya dapat membahmari keamanan perusahaan Anda. Jika Anda mengonfirmasi bahwa rahasia yang diidentifikasi bukan positif palsu, hapus rahasia dari seluruh riwayat cabang Anda sebelum Anda mencoba mendorong perubahan Anda lagi.

Jika Anda yakin rahasia yang diblokir adalah positif salah atau aman untuk diunggah, Anda dapat melewati perlindungan unggah. Sertakan string skip-secret-scanning:true dalam pesan commit Anda. Bahkan jika Anda mengabaikan perlindungan push, peringatan pemindaian rahasia akan dihasilkan di antarmuka peringatan setelah rahasia diunggah.

Tentang pemeriksaan validitas

Pemeriksaan validitas rahasia membantu Anda memprioritaskan pemberitahuan dengan menunjukkan apakah rahasia yang terdeteksi masih dapat digunakan. Untuk jenis rahasia yang didukung, GitHub Advanced Security untuk Azure DevOps secara otomatis menanyakan kepada penyedia yang mengeluarkan apakah kredensial tersebut masih aktif, pengalih fitur terpisah tidak diperlukan setelah pemindaian rahasia diaktifkan.

Cuplikan layar daftar validasi Rahasia Keamanan Tingkat Lanjut.

Memiliki GitHub Advanced Security untuk bundel Azure DevOps atau Perlindungan rahasia secara otomatis mengaktifkan pemeriksaan validitas.

Apa yang Anda dapatkan

  • Verifikasi otomatis untuk jenis rahasia mitra yang didukung (tidak ada penyiapan tambahan).
  • Status ditampilkan di daftar pemberitahuan pemindaian rahasia dan panel detail.
  • Pemfilteran menurut status validasi sehingga Anda dapat fokus pada rahasia aktif.
  • Anda dapat secara opsional melakukan pemeriksaan validitas "sesuai permintaan" untuk rahasia dalam tampilan peringatan.

Arti status

Kedudukan Meaning Tindakan
Active Penyedia mengonfirmasi rahasia masih dapat digunakan. Buka pemberitahuan dan ikuti langkah-langkah Rekomendasi & Remediasinya.
Unknown Tidak ada sinyal pasti aktivitas; mungkin tidak aktif, atau verifikasi gagal karena layanan, jaringan, atau kesalahan tak terduga lainnya. Perlakukan sebagai mungkin aktif; coba lagi verifikasi atau putar jika sensitif.

Alur kerja umum

  1. Filter Status validasi = Active untuk menampilkan pemberitahuan berisiko tertinggi.
  2. Untuk setiap rahasia aktif, buka pemberitahuan dan ikuti langkah-langkah Rekomendasi dan Remediasi yang disediakan dalam tampilan pemberitahuan.
  3. Gunakan verifikasi sesuai permintaan setelah remediasi untuk mengonfirmasi perubahan status.
  4. Alamat Rahasia yang tidak diketahui berikutnya—coba lagi verifikasi sesuai permintaan atau perlakukan sebagai aktif jika data sensitif.
  5. Tutup pemberitahuan sesuai kebijakan Anda setelah menyelesaikan langkah-langkah remediasi dalam pemberitahuan.

Verifikasi sesuai permintaan

Gunakan "verifikasi rahasia" (dalam detail pemberitahuan) setelah mengikuti Rekomendasi & Remediasinya atau ketika upaya sebelumnya dikembalikan Tidak Diketahui. Tanda waktu diperbarui setelah selesai.