Pemindaian kode tanpa agen di Microsoft Defender untuk Cloud
Pemindaian kode tanpa agen di Microsoft Defender untuk Cloud menawarkan cakupan keamanan yang cepat dan dapat diskalakan untuk semua repositori di Azure DevOps. Ini dengan cepat menemukan kerentanan dalam penyiapan kode dan infrastruktur sebagai kode (IaC) tanpa memerlukan perubahan alur Agen atau Integrasi Berkelanjutan dan Penyebaran Berkelanjutan (CI/CD). Pendekatan ini menyederhanakan penyiapan dan pemeliharaan dengan satu konektor Azure DevOps, dan menyediakan cakupan luas, wawasan berkelanjutan, dan temuan keamanan yang dapat ditindak lanjuti. Ini memungkinkan tim keamanan dan pengembangan fokus pada perbaikan risiko dengan lancar tanpa mengganggu alur kerja pengembangan.
Prasyarat
Status rilis: Pratinjau publik
Kasus penggunaan yang didukung:
Cloud: Cloud komersial Azure
Wilayah yang didukung: Australia Timur, Kanada Tengah, AS Tengah, Asia Timur, AS Timur, Eropa Utara, Swedia Tengah, UK Selatan, Eropa Barat
Lingkungan yang didukung: Konektor Azure DevOps
Peran dan izin:
Untuk menyiapkan dan mengonfigurasi konektor:
- Admin Koleksi Proyek: Diperlukan di Azure DevOps untuk melakukan penyiapan awal.
- Kontributor Langganan: Diperlukan pada langganan Azure untuk membuat dan mengonfigurasi konektor.
Untuk melihat hasil keamanan:
- Admin Keamanan: Dapat mengelola pengaturan keamanan, kebijakan, dan pemberitahuan tetapi tidak dapat mengubah konektor.
- Pembaca Keamanan: Dapat melihat rekomendasi, pemberitahuan, dan kebijakan tetapi tidak dapat membuat perubahan apa pun.
Manfaat utama
- Manajemen risiko proaktif: Mengidentifikasi risiko di awal proses pengembangan. Ini mendukung praktik pengkodian yang aman dan mengurangi kerentanan sebelum mencapai produksi.
- Onboarding yang mudah: Siapkan dengan cepat dengan konfigurasi minimal dan tanpa perubahan alur.
- Manajemen terpusat skala perusahaan: Memindai kode secara otomatis di beberapa repositori menggunakan satu konektor. Ini memberikan cakupan yang luas untuk lingkungan besar.
- Wawasan cepat untuk remediasi cepat: Menerima wawasan kerentanan yang dapat ditindaklanjuti tepat setelah onboarding. Ini memungkinkan perbaikan cepat dan mengurangi waktu paparan.
- Ramah pengembang dan mulus: Beroperasi secara independen dari alur integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD), tanpa perubahan atau keterlibatan pengembang langsung yang diperlukan. Hal ini memungkinkan pemantauan keamanan berkelanjutan tanpa mengganggu produktivitas atau alur kerja pengembang.
Kemampuan deteksi risiko
Pemindaian kode tanpa agen meningkatkan keamanan dengan menawarkan rekomendasi keamanan yang ditargetkan untuk kode dan templat Infrastructure-as-Code (IaC). Ini selain rekomendasi keamanan Foundational Cloud Security Posture Management (CSPM) yang disediakan melalui konektor. Kemampuan deteksi utama meliputi:
- Kerentanan kode: Temukan kesalahan pengodean umum, praktik pengodean yang tidak aman, dan kerentanan yang diketahui dalam beberapa bahasa pemrograman.
- Kesalahan konfigurasi infrastruktur sebagai Kode: Mendeteksi kesalahan konfigurasi keamanan dalam templat IaC yang dapat menyebabkan penyebaran yang tidak aman.
Membuat konektor meningkatkan keamanan dengan memberikan serangkaian rekomendasi keamanan dasar untuk repositori, alur, dan koneksi layanan.
Alat pemindaian
Pemindaian kode tanpa agen menggunakan berbagai alat sumber terbuka untuk menemukan kerentanan dan kesalahan konfigurasi dalam kode dan templat Infrastructure-as-Code (IaC):
Alat | IaC/Bahasa yang Didukung | Lisensi |
---|---|---|
Bandit | Python | Apache 2.0 |
Checkov | Templat Terraform IaC, file paket Terraform, templat AWS CloudFormation, file manifes Kubernetes, file bagan Helm, Dockerfiles, templat IaC Azure Azure Resource Manager (ARM), templat IaC Azure Bicep, templat AWS SAM (Model Aplikasi Tanpa Server), File kustomisasi, templat kerangka kerja Tanpa Server, file spesifikasi OpenAPI | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Penganalisis Templat | Templat IAC ARM, templat Bicep IaC | MIT |
Alat-alat ini mendukung berbagai bahasa dan kerangka kerja IaC, memastikan analisis keamanan menyeluruh di seluruh basis kode Anda.
Platform dan jenis file yang didukung
Sistem kontrol versi
- Azure DevOps: Dukungan penuh untuk repositori yang terhubung melalui konektor Azure DevOps.
Bahasa pemrograman
- Python
- JavaScript/TypeScript
Platform dan konfigurasi Infrastructure-as-Code (IaC)
IaC Platform | Jenis file yang didukung | Catatan |
---|---|---|
Terraform |
.tf , .tfvars |
Mendukung templat Terraform IaC dalam bahasa HCL2, termasuk file variabel di .tfvars . |
Paket Terraform | File JSON | Termasuk file JSON yang mewakili konfigurasi yang direncanakan, digunakan untuk analisis dan pemindaian. |
AWS CloudFormation | File JSON, YAML | Mendukung templat AWS CloudFormation untuk menentukan sumber daya AWS. |
Kubernetes | FILE YAML, JSON | Mendukung file manifes Kubernetes untuk menentukan konfigurasi dalam kluster. |
Helm | Struktur direktori bagan Helm, file YAML | Mengikuti struktur bagan standar Helm; mendukung file bagan Helm v3. |
Docker | File bernama Dockerfile | Mendukung Dockerfiles untuk konfigurasi kontainer. |
Templat Azure ARM | File JSON | Mendukung templat IaC Azure Resource Manager (ARM) dalam format JSON. |
Azure Bicep | File .bicep | Mendukung templat Bicep IaC, bahasa khusus domain (DSL) untuk ARM. |
AWS SAM | File YAML | Mendukung templat AWS Serverless Application Model (SAM) untuk sumber daya tanpa server. |
Kustomisasi | File YAML | Mendukung file konfigurasi untuk kustomisasi Kubernetes (Kustomisasi). |
Serverless Framework | File YAML | Mendukung templat untuk kerangka kerja Tanpa Server dalam menentukan arsitektur tanpa server. |
OpenAPI | FILE YAML, JSON | Mendukung file spesifikasi OpenAPI untuk menentukan API RESTful. |
Mengaktifkan pemindaian kode tanpa agen di organisasi Azure DevOps Anda
Untuk menyambungkan organisasi Azure DevOps Anda ke Defender untuk Cloud dan mengaktifkan pemindaian kode tanpa agen, lihat instruksi di Menyambungkan organisasi Azure DevOps Anda. Visual berikut menunjukkan proses penyiapan yang cepat dan mudah, memandu Anda melalui setiap langkah untuk onboarding yang lancar.
Cara kerja pemindaian kode tanpa agen
Pemindaian kode tanpa agen berfungsi secara independen dari alur CI/CD. Ini menggunakan konektor Azure DevOps untuk memindai kode dan konfigurasi Infrastructure-as-Code (IaC) secara otomatis. Anda tidak perlu memodifikasi alur atau menambahkan ekstensi. Penyiapan ini memungkinkan analisis keamanan yang luas dan berkelanjutan di beberapa repositori. Hasil diproses dan ditampilkan langsung di Microsoft Defender untuk Cloud.
Proses pemindaian
Setelah Anda mengaktifkan fitur pemindaian kode tanpa agen dalam konektor, proses pemindaian mengikuti langkah-langkah berikut:
- Penemuan repositori: Sistem secara otomatis mengidentifikasi semua repositori yang ditautkan melalui konektor Azure DevOps tepat setelah pembuatan konektor lalu setiap 8 jam.
- Pengambilan kode: Ini dengan aman mengambil kode terbaru dari cabang default (utama) dari setiap repositori untuk analisis, pertama setelah penyiapan konektor dan kemudian setiap 3-4 hari.
- Analisis: Sistem menggunakan serangkaian alat pemindaian bawaan yang dikelola dan diperbarui dalam Microsoft Defender untuk Cloud untuk menemukan kerentanan dan kesalahan konfigurasi dalam kode dan templat IaC.
- Pemrosesan temuan: Ini memproses temuan pemindaian melalui backend Defender untuk Cloud untuk membuat rekomendasi keamanan yang dapat ditindaklanjuti.
- Pengiriman hasil: Sistem menunjukkan temuan sebagai rekomendasi keamanan di Defender untuk Cloud, memungkinkan tim keamanan untuk meninjau dan mengatasi masalah.
Frekuensi dan durasi pemindaian
-
Frekuensi pemindaian:
- Postur keamanan repositori, alur, dan koneksi layanan dinilai saat Anda membuat konektor dan kemudian setiap 8 jam.
- Sistem memindai kode dan templat Infrastructure-as-Code (IaC) untuk kerentanan setelah Anda membuat konektor dan kemudian setiap 3-4 hari.
- Durasi pemindaian: Pemindaian biasanya selesai dalam waktu 15 hingga 60 menit, tergantung pada ukuran dan kompleksitas repositori.
Menampilkan dan mengelola hasil pemindaian
Setelah pemindaian selesai, Anda dapat mengakses temuan keamanan dalam Microsoft Defender untuk Cloud.
Mengakses temuan
Navigasikan ke tab Rekomendasi keamanan di Microsoft Defender untuk Cloud.
Tinjau daftar rekomendasi, yang mencakup temuan seperti:
Repositori Azure DevOps harus menyelesaikan temuan pemindaian kode - Menunjukkan kerentanan yang ditemukan di repositori kode.
Repositori Azure DevOps harus memiliki infrastruktur sebagai temuan pemindaian kode diselesaikan - Poin ke kesalahan konfigurasi keamanan yang terdeteksi dalam file templat IaC dalam repositori.
Rekomendasi keamanan lain yang dihasilkan oleh konektor Azure DevOps mungkin meliputi:
- Repositori Azure DevOps harus mengaktifkan GitHub Advanced Security for Azure DevOps (GHAzDO)
- Azure Pipelines seharusnya tidak memiliki rahasia yang tersedia untuk build fork
- Koneksi layanan Azure DevOps tidak boleh memberikan akses ke semua alur
- Grup variabel Azure DevOps dengan variabel rahasia tidak boleh memberikan akses ke semua alur
- Koneksi layanan Azure DevOps Classic Azure tidak boleh digunakan untuk mengakses langganan
- (Pratinjau) Repositori Azure DevOps harus memerlukan persetujuan dua peninjau minimum untuk pendorongan kode
- (Pratinjau) Repositori Azure DevOps tidak boleh mengizinkan pemohon menyetujui permintaan pull mereka sendiri
- (Pratinjau) Proyek Azure DevOps harus menonaktifkan pembuatan alur klasik
- File aman Azure DevOps tidak boleh memberikan akses ke semua alur
Pilih rekomendasi apa pun untuk informasi terperinci, termasuk file yang terpengaruh, tingkat keparahan, dan panduan remediasi.
Perbedaan antara pemindaian kode tanpa agen dan pemindaian dalam alur
Pemindaian kode tanpa agen dan pemindaian dalam alur menggunakan ekstensi Microsoft Security DevOps keduanya menawarkan pemindaian keamanan dalam Azure DevOps. Mereka melayani kebutuhan yang berbeda tetapi bekerja sama dengan baik. Tabel berikut menyoroti perbedaan utama untuk membantu Anda memilih opsi yang sesuai dengan kebutuhan keamanan dan pengembangan Anda.
Aspek | Pemindaian kode tanpa agen | Pemindaian dalam alur |
---|---|---|
Gunakan kecocokan huruf besar/kecil | Menawarkan cakupan luas dengan gangguan minimal kepada pengembang | Menyediakan pemindaian terperinci yang terintegrasi dengan alur dengan kontrol yang dapat disesuaikan |
Cakupan dan cakupan pemindaian | Berfokus pada infrastruktur sebagai kode (IaC) dan pemindaian kerentanan kode, dijadwalkan setiap 3-4 hari | Menawarkan cakupan yang luas, termasuk biner dan gambar kontainer, yang dipicu pada setiap eksekusi alur |
Penyiapan dan konfigurasi | Tidak memerlukan penyiapan lebih lanjut setelah membuat konektor | Memerlukan penginstalan dan konfigurasi manual di setiap alur CI/CD |
Integrasi alur | Berjalan secara independen dari alur (CI/CD) tanpa memodifikasi alur kerja | Terintegrasi dalam alur CI/CD, memerlukan konfigurasi di setiap alur |
Kustomisasi pemindai | Pemindai tidak dapat disesuaikan atau dijalankan secara selektif | Memungkinkan penyesuaian dengan pemindai, kategori, bahasa, tingkat sensitivitas, dan alat non-Microsoft tertentu |
Hasil dan umpan balik | Menyediakan akses ke temuan dalam Defender untuk Cloud | Menawarkan umpan balik mendekati real-time dalam alur CI/CD, dengan hasil juga terlihat di Defender untuk Cloud |
Kriteria putus dan gagal | Tidak dapat memutus build | Dapat dikonfigurasi untuk memutus build berdasarkan tingkat keparahan temuan keamanan |
Skalabilitas dan dampak performa
Pemindaian kode tanpa agen menghindari pembuatan sumber daya dalam langganan dan tidak memerlukan pemindaian selama proses alur. Ini menggunakan REST API Azure DevOps untuk menarik metadata dan kode. Ini berarti panggilan API dihitung dalam batas tarif Azure DevOps, tetapi Anda tidak dikenakan biaya transfer data langsung. Layanan ini mengelola pemindaian untuk memastikan mereka tetap berada dalam batas laju Azure DevOps tanpa mengganggu lingkungan pengembangan. Metode ini menyediakan pemindaian berkinerja tinggi yang efisien di seluruh repositori tanpa memengaruhi alur kerja DevOps. Untuk informasi selengkapnya, lihat Laju Azure DevOps dan Batas Penggunaan.
Keamanan data, kepatuhan, dan kontrol akses untuk pemindaian kode tanpa agen
layanan pemindaian kode tanpa agen Microsoft Defender untuk Cloud memastikan penanganan kode Anda yang aman dan patuh dengan menerapkan langkah-langkah keamanan dan privasi data yang ketat:
- Enkripsi data dan kontrol akses: Sistem mengenkripsi semua data saat transit menggunakan protokol standar industri. Hanya layanan Defender untuk Cloud resmi yang dapat mengakses kode Anda.
- Residensi dan retensi data: Pemindaian terjadi di geo yang sama dengan konektor Azure DevOps Anda (AS atau UE) untuk mematuhi undang-undang perlindungan data. Sistem memproses kode hanya selama pemindaian dan menghapusnya dengan aman setelahnya, tanpa penyimpanan jangka panjang.
- Akses ke repositori: Layanan ini menghasilkan token akses aman bagi Azure DevOps untuk melakukan pemindaian. Token ini memungkinkan pengambilan metadata dan kode yang diperlukan tanpa membuat sumber daya dalam langganan Anda. Hanya komponen Defender untuk Cloud yang memiliki akses, melindungi integritas data.
- Dukungan kepatuhan: Layanan ini selaras dengan standar peraturan dan keamanan untuk penanganan dan privasi data, memastikan pemrosesan dan pemindaian kode pelanggan yang aman sesuai dengan persyaratan perlindungan data regional.
Langkah-langkah ini memastikan proses pemindaian kode yang aman, sesuai, dan efisien, menjaga privasi dan integritas data Anda.
Batasan (pratinjau publik)
Selama fase pratinjau publik, batasan berikut berlaku:
Tidak ada pemindaian biner: Sistem hanya memindai kode dan file Infrastructure-as-Code (IaC).
Frekuensi pemindaian: Ini memindai repositori setiap 3 hari.
Ukuran repositori: Ini membatasi pemindaian ke repositori di bawah 1 GB.
Cakupan cabang: Pemindaian hanya mencakup cabang default (utama).
Kustomisasi alat: Anda tidak dapat menyesuaikan alat pemindaian.