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:

  1. Di portal Microsoft Azure, buka sumber daya tertentu di Azure SQL Database, SQL Managed Instance Database, atau Azure Synapse.
  2. Pada judul Keamanan, pilih Defender for Cloud.
  3. 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:

  1. Dari halaman detail rekomendasi untuk Temuan penilaian kerentanan di server SQL Anda pada komputer harus diremediasi, pilih Nonaktifkan aturan.

  2. Pilih cakupan yang relevan.

  3. Tentukan kriteria Anda. Anda bisa menggunakan salah satu kriteria berikut:

    • Menemukan ID
    • Tingkat keparahan
    • Tolak ukur
  4. Buat aturan penonaktifan untuk temuan VA pada server SQL pada komputer

  5. Pilih Terapkan aturan. Perubahan mungkin memakan waktu hingga 24 jam untuk diterapkan.

  6. Untuk menampilkan, mengambil alih, atau menghapus aturan:

    1. Pilih Nonaktifkan aturan.
    2. Dari daftar cakupan, langganan dengan aturan aktif ditampilkan sebagai Aturan diterapkan.
    3. 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:

Deskripsi Scope API
Operasi massal garis besar Database Sistem Garis Besar Penilaian Kerentanan Sql
Garis Besar Penilaian Kerentanan Sql
Operasi massal garis besar Database Pengguna Garis Besar Penilaian Kerentanan Database Sql
Operasi garis besar aturan tunggal Database Pengguna Garis Besar Aturan Penilaian Kerentanan Database Sql
Operasi garis besar aturan tunggal Database Sistem Garis Besar Aturan Penilaian Kerentanan Sql
Garis Besar Aturan Penilaian Kerentanan Sql
Hasil pemindaian tunggal Database Pengguna Hasil Pemindaian Penilaian Kerentanan Database Sql
Hasil pemindaian tunggal Database Sistem Hasil Pemindaian Penilaian Kerentanan Sql
Detail pemindaian (ringkasan) Database Pengguna Pemindaian Penilaian Kerentanan Database Sql
Detail pemindaian (ringkasan) Database Sistem Pemindaian Penilaian Kerentanan Sql
Jalankan pemindaian manual Database Pengguna Pemindaian Eksekusi Penilaian Kerentanan Sql Database
Jalankan pemindaian manual Database Sistem Penilaian Kerentanan Sql Jalankan Pemindaian
Pengaturan VA (GET hanya didukung untuk Konfigurasi Ekspres) Database Pengguna Penilaian Kerentanan Sql Database Pengaturan
Operasi va Pengaturan Server Penilaian Kerentanan Sql Pengaturan
Penilaian Kerentanan Sql

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:

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:

  1. Nonaktifkan paket Defender untuk Azure SQL dari portal Azure.

  2. 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:

  1. Dari halaman detail rekomendasi untuk Temuan penilaian kerentanan di server SQL Anda pada komputer harus diremediasi, pilih Nonaktifkan aturan.

  2. Pilih cakupan yang relevan.

  3. Tentukan kriteria Anda. Anda bisa menggunakan salah satu kriteria berikut:

    • Menemukan ID
    • Tingkat keparahan
    • Tolak ukur

    Screenshot of create a disable rule for VA findings on SQL servers on machines.

  4. Pilih Terapkan aturan. Perubahan mungkin memakan waktu hingga 24 jam untuk diterapkan.

  5. Untuk menampilkan, mengambil alih, atau menghapus aturan:

    1. Pilih Nonaktifkan aturan.

    2. Dari daftar cakupan, langganan dengan aturan aktif ditampilkan sebagai Aturan diterapkan.

      Screenshot of modify or delete an existing rule.

    3. 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 vulnerabilityAssessmentssebelum menambahkan garis besar.

Berikut contoh untuk mendefinisikan Aturan Garis Besar VA2065 ke database masterdan 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"
               ]
            }
         ]
      }

   }