Memindai repositori GitHub atau proyek Azure DevOps yang terhubung
Anda dapat menyiapkan Microsoft Security DevOps untuk memindai repositori GitHub atau proyek Azure DevOps yang terhubung. Gunakan tindakan GitHub atau ekstensi Azure DevOps untuk menjalankan Microsoft Security DevOps hanya pada kode sumber Infrastructure as Code (IaC) Anda, dan membantu mengurangi runtime alur Anda.
Artikel ini memperlihatkan kepada Anda cara menerapkan file konfigurasi YAML templat untuk memindai repositori atau proyek yang terhubung khusus untuk masalah keamanan IaC dengan menggunakan aturan Microsoft Security DevOps.
Prasyarat
- Untuk Microsoft Security DevOps, siapkan tindakan GitHub atau ekstensi Azure DevOps berdasarkan sistem manajemen kode sumber Anda:
- Pastikan Anda memiliki templat IaC di repositori Anda.
Menyiapkan dan menjalankan tindakan GitHub untuk memindai kode sumber IaC yang terhubung
Untuk menyiapkan tindakan dan melihat hasil pemindaian di GitHub:
Masuk ke GitHub.
Buka halaman utama repositori Anda.
Di direktori file, pilih alur>kerja .github>msdevopssec.yml.
Untuk informasi selengkapnya tentang bekerja dengan tindakan di GitHub, lihat Prasyarat.
Pilih ikon Edit file ini (pensil).
Di bagian Jalankan penganalisis dari file YAML, tambahkan kode ini:
with: categories: 'IaC'
Catatan
Nilai peka huruf besar/kecil.
Berikut contohnya:
Pilih Terapkan perubahan . . .
Pilih Terapkan perubahan.
(Opsional) Tambahkan templat IaC ke repositori Anda. Jika Anda sudah memiliki templat IaC di repositori Anda, lewati langkah ini.
Misalnya, terapkan templat IaC yang dapat Anda gunakan untuk menyebarkan aplikasi web Linux dasar.
Pilih file azuredeploy.json.
Pilih Mentah.
Salin semua informasi dalam file, seperti dalam contoh berikut:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "webAppName": { "type": "string", "defaultValue": "AzureLinuxApp", "metadata": { "description": "The base name of the resource, such as the web app name or the App Service plan." }, "minLength": 2 }, "sku": { "type": "string", "defaultValue": "S1", "metadata": { "description": "The SKU of the App Service plan." } }, "linuxFxVersion": { "type": "string", "defaultValue": "php|7.4", "metadata": { "description": "The runtime stack of the current web app." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The location for all resources." } } }, "variables": { "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]", "appServicePlanName": "[concat('AppServicePlan-', parameters('webAppName'))]" }, "resources": [ { "type": "Microsoft.Web/serverfarms", "apiVersion": "2020-06-01", "name": "[variables('appServicePlanName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('sku')]" }, "kind": "linux", "properties": { "reserved": true } }, { "type": "Microsoft.Web/sites", "apiVersion": "2020-06-01", "name": "[variables('webAppPortalName')]", "location": "[parameters('location')]", "kind": "app", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]" ], "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", "siteConfig": { "linuxFxVersion": "[parameters('linuxFxVersion')]" } } } ] }
Di repositori GitHub Anda, buka folder .github/workflows .
Pilih Tambahkan file>Buat file baru.
Masukkan nama untuk file tersebut.
Tempelkan informasi yang disalin dalam file.
Pilih Terapkan file baru.
File templat ditambahkan ke repositori Anda.
Verifikasi bahwa pemindaian Microsoft Security DevOps selesai:
Untuk repositori, pilih Tindakan.
Pilih alur kerja untuk melihat status tindakan.
Untuk melihat hasil pemindaian, buka keamanan Defender untuk Cloud> DevOps (Tidak ada prasyarat GHAS) atau pemberitahuan pemindaian Kode Keamanan>secara asli di GitHub (Memerlukan lisensi GHAS).
Menyiapkan dan menjalankan ekstensi Azure DevOps untuk memindai kode sumber IaC yang terhubung
Untuk menyiapkan ekstensi dan melihat hasil pemindaian di Azure DevOps:
Masuk ke Azure DevOps.
Pilih proyek Anda.
Pilih Alur.
Pilih alur tempat ekstensi Azure DevOps Anda untuk Microsoft Security DevOps dikonfigurasi.
Pilih Edit alur.
Dalam file konfigurasi YAML alur, di bawah
displayName
baris untuk tugas MicrosoftSecurityDevOps@1 , tambahkan kode ini:inputs: categories: 'IaC'
Berikut contohnya:
Pilih Simpan.
(Opsional) Tambahkan templat IaC ke proyek Azure DevOps Anda. Jika Anda sudah memiliki templat IaC di proyek Anda, lewati langkah ini.
Pilih apakah akan berkomitmen langsung ke cabang utama atau membuat cabang baru untuk penerapan, lalu pilih Simpan.
Untuk melihat hasil pemindaian IaC, pilih Alur, lalu pilih alur yang Anda ubah.
Lihat lihat detail selengkapnya, pilih eksekusi alur tertentu.
Melihat detail dan informasi remediasi untuk aturan IaC yang diterapkan
Alat pemindaian IaC yang disertakan dengan Microsoft Security DevOps adalah Penganalisis Templat (PSRule disertakan dalam Penganalisis Templat), Checkov , dan Terrascan.
Penganalisis Templat menjalankan aturan pada templat Azure Resource Manager (templat ARM) dan templat Bicep. Untuk informasi selengkapnya, lihat aturan Penganalisis Templat dan detail remediasi.
Terrascan menjalankan aturan pada templat dan templat ARM untuk CloudFormation, Docker, Helm, Kubernetes, Kustomize, dan Terraform. Untuk informasi selengkapnya, lihat aturan Terrascan.
Chekov menjalankan aturan pada templat dan templat ARM untuk CloudFormation, Docker, Helm, Kubernetes, Kustomize, dan Terraform. Untuk informasi selengkapnya, lihat aturan Checkov.
Untuk mempelajari selengkapnya tentang alat pemindaian IaC yang disertakan dengan Microsoft Security DevOps, lihat:
Konten terkait
Dalam artikel ini, Anda mempelajari cara menyiapkan tindakan GitHub dan ekstensi Azure DevOps untuk Microsoft Security DevOps untuk memindai kesalahan konfigurasi keamanan IaC dan cara melihat hasilnya.
Untuk mendapatkan informasi selengkapnya:
- Pelajari selengkapnya tentang keamanan DevOps.
- Pelajari cara menghubungkan repositori GitHub Anda ke Defender untuk Cloud.
- Pelajari cara menyambungkan proyek Azure DevOps Anda ke Defender untuk Cloud.