Mengelola temuan kerentanan di database Azure SQL Anda
Microsoft Defender untuk Cloud menyediakan penilaian kerentanan untuk database Azure SQL Anda. Penilaian kerentanan memindai database Anda untuk kerentanan perangkat lunak dan menyediakan daftar temuan. Anda dapat menggunakan temuan untuk memulihkan kerentanan perangkat lunak dan menonaktifkan temuan.
Prasyarat
Pastikan Anda mengetahui apakah Anda menggunakan konfigurasi ekspres atau klasik sebelum melanjutkan.
Untuk melihat konfigurasi mana yang Anda gunakan:
- Di portal Microsoft Azure, buka sumber daya tertentu di Azure SQL Database, SQL Managed Instance Database, atau Azure Synapse.
- Pada judul Keamanan, pilih Defender for Cloud.
- Di Status Pengaktifan, pilih Konfigurasikan untuk membuka panel pengaturan Pertahanan Microsoft untuk SQL untuk seluruh server atau instans terkelola.
Jika pengaturan kerentanan menampilkan opsi untuk mengonfigurasi akun penyimpanan, Anda menggunakan konfigurasi klasik. Jika tidak, Anda menggunakan konfigurasi ekspres.
Konfigurasi ekspres
Lihat riwayat pemindaian
Pilih Pindai Riwayat di panel penilaian kerentanan untuk menampilkan riwayat semua pemindaian yang sebelumnya dijalankan pada database ini.
Konfigurasi ekspres tidak menyimpan hasil pemindaian jika identik dengan pemindaian sebelumnya. Waktu pemindaian yang ditampilkan dalam riwayat pemindaian adalah waktu pemindaian terakhir di mana hasil pemindaian berubah.
Nonaktifkan temuan spesifik dari Pertahanan Microsoft untuk Aplikasi Cloud (pratinjau)
Jika Anda memiliki kebutuhan organisasi untuk mengabaikan temuan daripada memulihkannya, Anda dapat menonaktifkan temuan. Temuan yang dinonaktifkan tidak memengaruhi secure score Anda atau menghasilkan kebisingan yang tidak diinginkan. Anda dapat melihat temuan yang dinonaktifkan di bagian "Tidak berlaku" dari hasil pemindaian.
Saat temuan cocok dengan kriteria yang telah Anda tentukan dalam aturan penonaktifan, temuan tersebut tidak akan muncul dalam daftar temuan. Skenario umum mungkin mencakup:
- Menonaktifkan temuan dengan tingkat keparahan sedang atau lebih rendah
- Menonaktifkan temuan yang tidak dapat di-patch
- Menonaktifkan temuan dari tolok ukur yang tidak menjadi fokus dari cakupan yang ditentukan
Penting
Untuk menonaktifkan temuan tertentu, Anda memerlukan izin akses untuk mengedit kebijakan di Azure Policy. Pelajari selengkapnya di Izin Azure RBAC di Azure Policy.
Untuk membuat aturan:
Dari halaman detail rekomendasi untuk Temuan penilaian kerentanan di server SQL Anda pada komputer harus diremediasi, pilih Nonaktifkan aturan.
Pilih cakupan yang relevan.
Tentukan kriteria Anda. Anda bisa menggunakan salah satu kriteria berikut:
- Menemukan ID
- Tingkat keparahan
- Tolak ukur
Buat aturan penonaktifan untuk temuan VA pada server SQL pada komputer
Pilih Terapkan aturan. Perubahan mungkin memakan waktu hingga 24 jam untuk diterapkan.
Untuk menampilkan, mengambil alih, atau menghapus aturan:
- Pilih Nonaktifkan aturan.
- Dari daftar cakupan, langganan dengan aturan aktif ditampilkan sebagai Aturan diterapkan.
- Untuk menampilkan atau menghapus aturan, pilih menu elipsis ("...").
Mengonfigurasi pemberitahuan email dengan Azure Logic Apps
Untuk menerima pembaruan rutin status penilaian kerentanan untuk database Anda, Anda dapat menggunakan templat Azure Logic Apps yang dapat disesuaikan.
Menggunakan templat akan memungkinkan Anda untuk:
- Pilih waktu laporan email.
- Memiliki tampilan yang konsisten tentang status penilaian kerentanan Anda yang menyertakan aturan yang dinonaktifkan.
- Kirim laporan untuk Azure SQL Server dan komputer virtual SQL.
- Sesuaikan struktur laporan dan tampilan dan nuansa agar sesuai dengan standar organisasi Anda.
Mengelola penilaian kerentanan secara terprogram
Konfigurasi ekspres didukung dalam versi REST API terbaru dengan fungsionalitas berikut:
Menggunakan templat Azure Resource Manager
Gunakan templat ARM berikut untuk membuat Azure SQL Logical Server baru dengan konfigurasi ekspres untuk penilaian kerentanan SQL.
Untuk mengonfigurasi garis besar penilaian kerentanan dengan menggunakan templat Azure Resource Manager, gunakan jenis Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
. Pastikan diaktifkan vulnerabilityAssessments
sebelum Anda menambahkan garis besar.
Berikut adalah beberapa contoh cara menyiapkan garis besar menggunakan templat ARM:
Siapkan garis besar batch berdasarkan hasil pemindaian terbaru:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
Siapkan garis besar batch berdasarkan hasil tertentu:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": false, "results": { "VA2065": [ [ "FirewallRuleName3", "62.92.15.67", "62.92.15.67" ], [ "FirewallRuleName4", "62.92.15.68", "62.92.15.68" ] ], "VA2130": [ [ "dbo" ] ] } } }
Siapkan garis besar untuk aturan tertentu:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default/VA1143')]", "properties": { "latestScan": false, "results": [ [ "True" ] ] } }
Siapkan garis besar batch pada database master berdasarkan hasil pemindaian terbaru:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
Menggunakan PowerShell
Konfigurasi ekspres tidak didukung dalam cmdlet PowerShell tetapi Anda dapat menggunakan PowerShell untuk memanggil kemampuan penilaian kerentanan terbaru menggunakan REST API, misalnya:
- Mengaktifkan konfigurasi ekspres di Azure SQL Server
- Menyiapkan garis besar berdasarkan hasil pemindaian terbaru untuk semua database di Azure SQL Server
- Referensi perintah PowerShell konfigurasi ekspres
Menggunakan Azure CLI
Panggil konfigurasi ekspres menggunakan Azure CLI.
Pemecahan Masalah
Kembali menjadi konfigurasi klasik
Untuk mengubah database Azure SQL dari konfigurasi penilaian kerentanan ekspres ke konfigurasi klasik:
Nonaktifkan paket Defender untuk Azure SQL dari portal Azure.
Gunakan PowerShell untuk mengonfigurasi ulang menggunakan pengalaman klasik:
Update-AzSqlServerAdvancedThreatProtectionSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -Enable 1 Update-AzSqlServerVulnerabilityAssessmentSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -StorageAccountName "mystorage" ` -RecurringScansInterval Weekly ` -ScanResultsContainerName "vulnerability-assessment"
Anda mungkin harus mengubah
Update-AzSqlServerVulnerabilityAssessmentSetting
sesuai dengan hasil pemindaian Penilaian Kerentanan Penyimpanan di akun penyimpanan yang dapat diakses di belakang firewall dan VNet.
Kesalahan
"Penilaian Kerentanan diaktifkan di server ini atau salah satu database yang mendasarnya dengan versi yang tidak kompatibel"
Kemungkinan penyebabnya:
Beralih ke konfigurasi ekspres gagal karena kesalahan kebijakan server.
Solusi: Coba lagi untuk mengaktifkan konfigurasi ekspres. Jika masalah berlanjut, coba nonaktifkan Pertahanan Microsoft untuk SQL di sumber daya Azure SQL, pilih Simpan, aktifkan Pertahanan Microsoft untuk SQL lagi, dan pilih Simpan.
Beralih ke konfigurasi ekspres gagal karena kesalahan kebijakan database. Kebijakan database tidak terlihat di portal Azure untuk penilaian kerentanan Defender for SQL, jadi kami memeriksanya selama tahap validasi beralih ke konfigurasi ekspres.
Solusi: Nonaktifkan semua kebijakan database untuk server yang relevan lalu coba beralih ke konfigurasi ekspres lagi.
Pertimbangkan untuk menggunakan skrip PowerShell yang disediakan untuk bantuan.
Konfigurasi klasik
Lihat riwayat pemindaian
Pilih Pindai Riwayat di panel penilaian kerentanan untuk menampilkan riwayat semua pemindaian yang sebelumnya dijalankan pada database ini.
Nonaktifkan temuan spesifik dari Pertahanan Microsoft untuk Aplikasi Cloud (pratinjau)
Jika Anda memiliki kebutuhan organisasi untuk mengabaikan temuan, daripada melakukan remediasi, Anda dapat menonaktifkannya secara opsional. Temuan yang dinonaktifkan tidak memengaruhi secure score Anda atau menghasilkan kebisingan yang tidak diinginkan.
Saat temuan cocok dengan kriteria yang telah Anda tentukan dalam aturan penonaktifan, temuan tersebut tidak akan muncul dalam daftar temuan. Skenario umum mungkin mencakup:
- Menonaktifkan temuan dengan tingkat keparahan sedang atau lebih rendah
- Menonaktifkan temuan yang tidak dapat di-patch
- Menonaktifkan temuan dari tolok ukur yang tidak menjadi fokus dari cakupan yang ditentukan
Penting
- Untuk menonaktifkan temuan tertentu, Anda memerlukan izin akses untuk mengedit kebijakan di Azure Policy. Pelajari selengkapnya di Izin Azure RBAC di Azure Policy.
- Temuan yang dinonaktifkan masih akan disertakan dalam laporan email penilaian kerentanan SQL mingguan.
- Aturan yang dinonaktifkan ditampilkan di bagian "Tidak berlaku" dari hasil pemindaian.
Untuk membuat aturan:
Dari halaman detail rekomendasi untuk Temuan penilaian kerentanan di server SQL Anda pada komputer harus diremediasi, pilih Nonaktifkan aturan.
Pilih cakupan yang relevan.
Tentukan kriteria Anda. Anda bisa menggunakan salah satu kriteria berikut:
- Menemukan ID
- Tingkat keparahan
- Tolak ukur
Pilih Terapkan aturan. Perubahan mungkin memakan waktu hingga 24 jam untuk diterapkan.
Untuk menampilkan, mengambil alih, atau menghapus aturan:
Pilih Nonaktifkan aturan.
Dari daftar cakupan, langganan dengan aturan aktif ditampilkan sebagai Aturan diterapkan.
Untuk menampilkan atau menghapus aturan, pilih menu elipsis ("...").
Mengelola penilaian kerentanan secara terprogram
Azure PowerShell
Catatan
Artikel ini menggunakan modul Azure Az PowerShell, yang merupakan modul PowerShell yang direkomendasikan untuk berinteraksi dengan Azure. Untuk mulai menggunakan modul Az PowerShell, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Penting
Modul Azure Resource Manager PowerShell masih didukung, tetapi semua pengembangan masa mendatang adalah untuk modul Az.Sql. Untuk cmdlet ini, lihat AzureRM.Sql. Argumen untuk perintah dalam modul Az dan dalam modul AzureRm secara substansial identik.
Anda dapat menggunakan cmdlet Azure PowerShell untuk mengelola penilaian kerentanan Anda secara terprogram. Cmdlet yang didukung adalah:
Nama cmdlet sebagai tautan | Deskripsi |
---|---|
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Menghapus garis besar aturan penilaian kerentanan. Pertama, atur garis besar sebelum Anda menggunakan cmdlet ini untuk menghapusnya. |
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting | Menghapus pengaturan penilaian kerentanan database. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Menghapus garis besar aturan penilaian kerentanan dari database terkelola. Pertama, atur garis besar sebelum Anda menggunakan cmdlet ini untuk menghapusnya. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Menghapus pengaturan penilaian kerentanan dari database terkelola. |
Clear-AzSqlInstanceVulnerabilityAssessmentSetting | Menghapus pengaturan penilaian kerentanan dari instans terkelola. |
Convert-AzSqlDatabaseVulnerabilityAssessmentScan | Mengonversi hasil pemindaian penilaian kerentanan database ke file Excel (ekspor). |
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Mengonversi hasil pemindaian penilaian kerentanan database terkelola ke file Excel (ekspor). |
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Mendapatkan garis besar aturan penilaian kerentanan dari database untuk aturan tertentu. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Mendapatkan garis besar aturan penilaian kerentanan dari database terkelola untuk aturan tertentu. |
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord | Mendapatkan semua rekaman pemindaian penilaian kerentanan yang terkait database tertentu. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord | Mendapatkan semua rekaman pemindaian penilaian kerentanan dengan database terkelola tertentu. |
Get-AzSqlDatabaseVulnerabilityAssessmentSetting | Mengembalikan pengaturan penilaian kerentanan database. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Mengembalikan pengaturan penilaian kerentanan dari database terkelola. |
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Menetapkan garis besar aturan penilaian kerentanan. |
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Mengatur garis besar aturan penilaian kerentanan dari database terkelola. |
Start-AzSqlDatabaseVulnerabilityAssessmentScan | Memicu dimulainya pemindaian penilaian kerentanan pada database. |
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Memicu dimulainya pemindaian penilaian kerentanan pada database terkelola. |
Update-AzSqlDatabaseVulnerabilityAssessmentSetting | Memperbarui pengaturan penilaian kerentanan database. |
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Memperbarui pengaturan penilaian kerentanan dari database terkelola. |
Update-AzSqlInstanceVulnerabilityAssessmentSetting | Memperbarui pengaturan penilaian kerentanan dari instans terkelola. |
Untuk contoh skrip, lihat Dukungan PowerShell penilaian kerentanan Azure SQL.
Azure CLI
Penting
Perintah Azure CLI berikut adalah untuk database SQL yang dihosting di VM atau komputer lokal. Untuk penilaian kerentanan mengenai Azure SQL Database, lihat bagian portal Azure atau PowerShell.
Anda dapat menggunakan perintah Azure CLI untuk mengelola penilaian kerentanan Anda secara terprogram. Perintah yang didukung adalah:
Nama perintah sebagai tautan | Deskripsi |
---|---|
az security va sql baseline delete |
Menghapus garis besar aturan penilaian kerentanan SQL. |
az security va sql baseline list |
Lihat garis besar penilaian kerentanan SQL untuk semua aturan. |
az security va sql baseline set |
Menetapkan garis besar penilaian kerentanan SQL. Menggantikan garis besar saat ini. |
az security va sql baseline show |
Lihat garis besar aturan penilaian kerentanan SQL. |
az security va sql baseline update |
Perbarui garis besar aturan penilaian kerentanan SQL. Menggantikan garis besar aturan saat ini. |
az security va sql results list |
Lihat semua hasil pemindaian penilaian kerentanan SQL. |
az security va sql results show |
Lihat hasil pemindaian penilaian kerentanan SQL. |
az security va sql scans list |
Cantumkan semua ringkasan pemindaian penilaian kerentanan SQL. |
az security va sql scans show |
Lihat ringkasan pemindaian penilaian kerentanan SQL. |
Templat Resource Manager
Untuk mengonfigurasi garis besar penilaian kerentanan dengan menggunakan templat Azure Resource Manager, gunakan jenis Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines
.
Pastikan Anda telah mengaktifkan vulnerabilityAssessments
sebelum menambahkan garis besar.
Berikut contoh untuk mendefinisikan Aturan Garis Besar VA2065 ke database master
dan VA1143 ke database user
sebagai sumber daya dalam templat Azure Resource Manager:
"resources": [
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",
"properties": {
"baselineResults": [
{
"result": [
"FirewallRuleName3",
"StartIpAddress",
"EndIpAddress"
]
},
{
"result": [
"FirewallRuleName4",
"62.92.15.68",
"62.92.15.68"
]
}
]
},
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2130/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"dbo"
]
}
]
}
}
]
Untuk database master
dan database user
, nama sumber daya didefinisikan secara berbeda:
- Database master - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
- Database pengguna - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",
Untuk menangani jenis Boolean sebagai true/false, atur hasil garis besar dengan input biner seperti "1"/"0".
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA1143/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"1"
]
}
]
}
}
Konten terkait
- Pelajari selengkapnya tentang Pertahanan Microsoft untuk Azure SQL.
- Pelajari selengkapnya penemuan dan klasifikasi data.
- Pelajari selengkapnya tentang menyimpan hasil pemindaian penilaian kerentanan di akun penyimpanan yang dapat diakses di belakang firewall dan VNet.
- Lihat pertanyaan umum tentang database Azure SQL.