Azure SQL veritabanlarınızdaki güvenlik açığı bulgularını yönetin

Bulut için Microsoft Defender, Azure SQL veritabanlarınız için güvenlik açığı değerlendirmesi sağlar. Güvenlik açığı değerlendirmesi, veritabanlarınızda yazılım güvenlik açıklarını tarar ve bulguların listesini sağlar. Yazılım güvenlik açıklarını düzeltmek ve bulguları devre dışı bırakmak için bulguları kullanabilirsiniz.

Önkoşullar

Devam etmeden önce hızlı veya klasik yapılandırmaları kullanıp kullanmadığınızı bildiğinizden emin olun.

Hangi yapılandırmayı kullandığınızı görmek için:

  1. Azure portalında belirli bir kaynağı Azure SQL Veritabanı, SQL Yönetilen Örneği Veritabanı veya Azure Synapse'te açın.
  2. Güvenlik başlığı altında Bulut için Defender'ı seçin.
  3. Etkinleştirme Durumu'nda Yapılandır'ı seçerek sunucunun tamamı veya yönetilen örneğin SQL için Microsoft Defender ayarları bölmesini açın.

Güvenlik açığı ayarları bir depolama hesabı yapılandırma seçeneğini gösteriyorsa, klasik yapılandırmayı kullanıyorsunuz demektir. Aksi takdirde hızlı yapılandırmayı kullanıyorsunuz demektir.

Hızlı yapılandırma

Tarama geçmişini görüntüleyin

Bu veritabanında daha önce çalıştırmış olan tüm taramaların geçmişini görüntülemek için güvenlik açığı değerlendirmesi bölmesinde Tarama Geçmişi'ni seçin.

Hızlı yapılandırma, önceki taramalarla aynıysa tarama sonuçlarını depolamaz. Tarama geçmişinde gösterilen tarama süresi, tarama sonuçlarının değiştirildiği son tarama zamanıdır.

Bulut için Microsoft Defender belirli bulguları devre dışı bırakma (önizleme)

Kurumsal olarak bir bulguyu düzeltmek yerine yoksayma gereksiniminiz varsa, bulmayı devre dışı bırakabilirsiniz. Devre dışı bırakılan bulgular, güvenlik puanınızı etkilemez veya istenmeyen kirlilik oluşturmaz. Devre dışı bırakılan bulguyu tarama sonuçlarının "Uygulanamaz" bölümünde görebilirsiniz.

Bir bulgu, devre dışı bırakma kurallarınızda tanımladığınız ölçütle eşleştiğinde, bulgu listesinde görünmez. Tipik senaryolar şunlar olabilir:

  • Orta veya daha düşük önem derecesinde bulguları devre dışı bırakma
  • Düzeltme eki uygulanabilir olmayan bulguları devre dışı bırakma
  • Tanımlı kapsam için ilgi çekici olmayan karşılaştırmalardan elde edilen bulguları devre dışı bırakma

Önemli

Belirli bulguları devre dışı bırakmak için Azure İlkesi'da bir ilkeyi düzenleme izinlerine sahip olmanız gerekir. Azure İlkesi'daki Azure RBAC izinleri hakkında daha fazla bilgi edinin.

Kural oluşturmak için:

  1. Makineler üzerindeki SQL sunucularınızdaki güvenlik açığı değerlendirme bulgularının düzeltilmesi için öneriler ayrıntı sayfasında Kuralı devre dışı bırak'ı seçin.

  2. İlgili kapsamı seçin.

  3. Ölçütlerinizi tanımlayın. Aşağıdaki ölçütlerden herhangi birini kullanabilirsiniz:

    • Kimlik Bulma
    • Önem
    • Karşılaştırmalar
  4. Makinelerdeki SQL sunucularında VA bulguları için devre dışı bırakma kuralı oluşturma

  5. Kuralı uygula'yı seçin. Değişikliklerin geçerli olması 24 saate kadar sürebilir.

  6. Bir kuralı görüntülemek, geçersiz kılmak veya silmek için:

    1. Kuralı devre dışı bırak'ı seçin.
    2. Kapsam listesinde etkin kurallara sahip abonelikler Kural uygulandı olarak gösterilir.
    3. Kuralı görüntülemek veya silmek için üç nokta menüsünü ("...") seçin.

Azure Logic Apps kullanarak e-posta bildirimlerini yapılandırma

Veritabanınızın güvenlik açığı değerlendirme durumunun düzenli güncelleştirmelerini almak için özelleştirilebilir Azure Logic Apps şablonunu kullanabilirsiniz.

Şablonu kullanmak şunları yapmanızı sağlar:

  • E-posta raporlarının zamanlamasını seçin.
  • Devre dışı bırakılmış kuralları içeren güvenlik açığı değerlendirme durumunuzun tutarlı bir görünümünü elde edin.
  • Azure SQL Sunucuları ve SQL VM'leri için raporlar gönderin.
  • Rapor yapısını ve görünümünüzü kuruluş standartlarınıza uyacak şekilde özelleştirin.

Güvenlik açığı değerlendirmelerini program aracılığıyla yönetme

Hızlı yapılandırma, aşağıdaki işlevlerle en son REST API sürümünde desteklenir:

Açıklama Scope API
Temel toplu işlemler Sistem Veritabanı Sql Güvenlik Açığı Değerlendirme Temelleri
Sql Güvenlik Açığı Değerlendirme Temeli
Temel toplu işlemler Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirme Temelleri
Tek kural temeli işlemleri Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirme Kuralı Temelleri
Tek kural temeli işlemleri Sistem Veritabanı Sql Güvenlik Açığı Değerlendirme Kuralı Temelleri
Sql Güvenlik Açığı Değerlendirme Kuralı Temeli
Tek tarama sonuçları Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirmesi Tarama Sonucu
Tek tarama sonuçları Sistem Veritabanı SQL Güvenlik Açığı Değerlendirmesi Tarama Sonucu
Tarama ayrıntıları (özet) Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirme Taramaları
Tarama ayrıntıları (özet) Sistem Veritabanı Sql Güvenlik Açığı Değerlendirmesi Taramaları
El ile tarama yürütme Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirmesi Tarama Yürüt
El ile tarama yürütme Sistem Veritabanı Sql Güvenlik Açığı Değerlendirmesi Tarama Yürütme
VA ayarları (Hızlı Yapılandırma için yalnızca GET desteklenir) Kullanıcı Veritabanı Veritabanı Sql Güvenlik Açığı Değerlendirmeleri Ayarlar
VA Ayarlar işlemleri Sunucu Sql Güvenlik Açığı Değerlendirmeleri Ayarlar
Sql Güvenlik Açığı Değerlendirmeleri

Azure Resource Manager şablonlarını kullanma

SQL güvenlik açığı değerlendirmesi için hızlı yapılandırmaya sahip yeni bir Azure SQL Mantıksal Sunucusu oluşturmak için aşağıdaki ARM şablonunu kullanın.

Azure Resource Manager şablonlarını kullanarak güvenlik açığı değerlendirme temellerini yapılandırmak için türünü kullanın Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines . Temel eklemeden önce bunun etkinleştirildiğinden vulnerabilityAssessments emin olun.

ARM şablonlarını kullanarak temelleri nasıl ayarlayabileceğinize yönelik birkaç örnek aşağıda verilmiştir:

  • En son tarama sonuçlarına göre toplu iş temelini ayarlama:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    
  • Belirli sonuçlara göre toplu iş temelini ayarlama:

    {
        "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"
                ]
            ]
         }
      }
    }
    
  • Belirli bir kural için temeli ayarlayın:

    {
        "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" ]
            ]
        }
    }
    
  • En son tarama sonuçlarına göre ana veritabanında toplu iş taban çizgilerini ayarlayın:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/master/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    

PowerShell’i kullanma

Hızlı yapılandırma PowerShell cmdlet'lerinde desteklenmez, ancak REST API kullanarak en son güvenlik açığı değerlendirme özelliklerini çağırmak için PowerShell'i kullanabilirsiniz, örneğin:

Azure CLI’yı kullanma

Azure CLI kullanarak hızlı yapılandırmayı çağırma.

Sorun giderme

Klasik yapılandırmaya geri dönme

Azure SQL veritabanını açık güvenlik açığı değerlendirme yapılandırmasından klasik yapılandırmaya değiştirmek için:

  1. Azure portalından Azure için Defender SQL planını devre dışı bırakın.

  2. Klasik deneyimi kullanarak yeniden yapılandırmak için PowerShell'i kullanın:

    Update-AzSqlServerAdvancedThreatProtectionSetting `
                -ResourceGroupName "demo-rg" `
                -ServerName "dbsrv1" `
                -Enable 1
    Update-AzSqlServerVulnerabilityAssessmentSetting `
                -ResourceGroupName "demo-rg" `
                -ServerName "dbsrv1" `
                -StorageAccountName "mystorage" `
                -RecurringScansInterval Weekly `
                -ScanResultsContainerName "vulnerability-assessment"
    

    Güvenlik duvarlarının ve sanal ağların arkasında erişilebilen bir depolama hesabında Depolama Güvenlik Açığı Değerlendirmesi tarama sonuçlarına göre ayarlamalar Update-AzSqlServerVulnerabilityAssessmentSettingyapmak zorunda olabilirsiniz.

Hatalar

"Güvenlik Açığı Değerlendirmesi bu sunucuda veya temel alınan veritabanlarından birinde uyumlu olmayan bir sürümle etkinleştirildi"

Olası nedenler:

  • Sunucu ilkesi hatası nedeniyle express yapılandırmasına geçiş başarısız oldu.

    Çözüm: Hızlı yapılandırmayı etkinleştirmek için yeniden deneyin. Sorun devam ederse Azure SQL kaynağında SQL için Microsoft Defender'ı devre dışı bırakmaya çalışın, Kaydet'i seçin, SQL için Microsoft Defender'ı yeniden etkinleştirin ve Kaydet'i seçin.

  • Hızlı yapılandırmaya geçiş veritabanı ilkesi hatası nedeniyle başarısız oldu. Veritabanı ilkeleri SQL için Defender güvenlik açığı değerlendirmesi için Azure portalında görünmez, bu nedenle hızlı yapılandırmaya geçişin doğrulama aşamasında bunları denetleriz.

    Çözüm: İlgili sunucu için tüm veritabanı ilkelerini devre dışı bırakın ve ardından hızlı yapılandırmaya geçmeyi yeniden deneyin.

  • Yardım için sağlanan PowerShell betiğini kullanmayı göz önünde bulundurun.

Klasik yapılandırma

Tarama geçmişini görüntüleyin

Bu veritabanında daha önce çalıştırmış olan tüm taramaların geçmişini görüntülemek için güvenlik açığı değerlendirmesi bölmesinde Tarama Geçmişi'ni seçin.

Bulut için Microsoft Defender belirli bulguları devre dışı bırakma (önizleme)

Kuruluşta bir bulguya düzeltme yapmak yerine yoksayma gereksiniminiz varsa, isteğe bağlı olarak devre dışı bırakabilirsiniz. Devre dışı bırakılan bulgular, güvenlik puanınızı etkilemez veya istenmeyen kirlilik oluşturmaz.

Bir bulgu, devre dışı bırakma kurallarınızda tanımladığınız ölçütle eşleştiğinde, bulgu listesinde görünmez. Tipik senaryolar şunlar olabilir:

  • Orta veya daha düşük önem derecesinde bulguları devre dışı bırakma
  • Düzeltme eki uygulanabilir olmayan bulguları devre dışı bırakma
  • Tanımlı kapsam için ilgi çekici olmayan karşılaştırmalardan elde edilen bulguları devre dışı bırakma

Önemli

  • Belirli bulguları devre dışı bırakmak için Azure İlkesi'da bir ilkeyi düzenleme izinlerine sahip olmanız gerekir. Azure İlkesi'daki Azure RBAC izinleri hakkında daha fazla bilgi edinin.
  • Devre dışı bırakılan bulgular haftalık SQL güvenlik açığı değerlendirmesi e-posta raporuna dahil edilmeye devam eder.
  • Devre dışı bırakılan kurallar tarama sonuçlarının "Uygulanamaz" bölümünde gösterilir.

Kural oluşturmak için:

  1. Makineler üzerindeki SQL sunucularınızdaki güvenlik açığı değerlendirme bulgularının düzeltilmesi için öneriler ayrıntı sayfasında Kuralı devre dışı bırak'ı seçin.

  2. İlgili kapsamı seçin.

  3. Ölçütlerinizi tanımlayın. Aşağıdaki ölçütlerden herhangi birini kullanabilirsiniz:

    • Kimlik Bulma
    • Önem
    • Karşılaştırmalar

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

  4. Kuralı uygula'yı seçin. Değişikliklerin geçerli olması 24 saate kadar sürebilir.

  5. Bir kuralı görüntülemek, geçersiz kılmak veya silmek için:

    1. Kuralı devre dışı bırak'ı seçin.

    2. Kapsam listesinde etkin kurallara sahip abonelikler Kural uygulandı olarak gösterilir.

      Screenshot of modify or delete an existing rule.

    3. Kuralı görüntülemek veya silmek için üç nokta menüsünü ("...") seçin.

Güvenlik açığı değerlendirmelerini program aracılığıyla yönetme

Azure PowerShell

Not

Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önemli

PowerShell Azure Resource Manager modülü hala desteklenmektedir ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. Bu cmdlet'ler için bkz . AzureRM.Sql. Az modülündeki ve AzureRm modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır.

Güvenlik açığı değerlendirmelerinizi program aracılığıyla yönetmek için Azure PowerShell cmdlet'lerini kullanabilirsiniz. Desteklenen cmdlet'ler şunlardır:

Bağlantı olarak cmdlet adı Açıklama
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Güvenlik açığı değerlendirme kuralı temelini temizler.
İlk olarak, temizlemek için bu cmdlet'i kullanmadan önce temeli ayarlayın.
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting Veritabanının güvenlik açığı değerlendirme ayarlarını temizler.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Yönetilen veritabanının güvenlik açığı değerlendirme kuralı temelini temizler.
İlk olarak, temizlemek için bu cmdlet'i kullanmadan önce temeli ayarlayın.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Yönetilen veritabanının güvenlik açığı değerlendirme ayarlarını temizler.
Clear-AzSqlInstanceVulnerabilityAssessmentSetting Yönetilen örneğin güvenlik açığı değerlendirme ayarlarını temizler.
Convert-AzSqlDatabaseVulnerabilityAssessmentScan Veritabanının güvenlik açığı değerlendirmesi tarama sonuçlarını Excel dosyasına dönüştürür (dışarı aktarma).
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Yönetilen veritabanının güvenlik açığı değerlendirmesi tarama sonuçlarını Excel dosyasına dönüştürür (dışarı aktarma).
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Belirli bir kural için veritabanının güvenlik açığı değerlendirme kuralı temelini alır.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Belirli bir kural için yönetilen veritabanının güvenlik açığı değerlendirme kuralı temelini alır.
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord Belirli bir veritabanıyla ilişkili tüm güvenlik açığı değerlendirmesi tarama kayıtlarını alır.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord Belirli bir yönetilen veritabanıyla ilişkili tüm güvenlik açığı değerlendirmesi tarama kayıtlarını alır.
Get-AzSqlDatabaseVulnerabilityAssessmentSetting Veritabanının güvenlik açığı değerlendirme ayarlarını döndürür.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Yönetilen veritabanının güvenlik açığı değerlendirme ayarlarını döndürür.
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Güvenlik açığı değerlendirme kuralı temelini ayarlar.
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Yönetilen veritabanı için güvenlik açığı değerlendirme kuralı temelini ayarlar.
Start-AzSqlDatabaseVulnerabilityAssessmentScan Bir veritabanında güvenlik açığı değerlendirme taramasının başlatılmasını tetikler.
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Yönetilen veritabanında güvenlik açığı değerlendirme taramasının başlatılmasını tetikler.
Update-AzSqlDatabaseVulnerabilityAssessmentSetting Veritabanının güvenlik açığı değerlendirme ayarlarını Güncelleştirmeler.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Yönetilen veritabanının güvenlik açığı değerlendirme ayarlarını Güncelleştirmeler.
Update-AzSqlInstanceVulnerabilityAssessmentSetting Yönetilen örneğin güvenlik açığı değerlendirme ayarlarını Güncelleştirmeler.

Betik örneği için bkz . Azure SQL güvenlik açığı değerlendirmesi PowerShell desteği.

Azure CLI

Önemli

Aşağıdaki Azure CLI komutları, VM'lerde veya şirket içi makinelerde barındırılan SQL veritabanlarına yöneliktir. Azure SQL Veritabanı ile ilgili güvenlik açığı değerlendirmeleri için Azure portalı veya PowerShell bölümüne bakın.

Güvenlik açığı değerlendirmelerinizi program aracılığıyla yönetmek için Azure CLI komutlarını kullanabilirsiniz. Desteklenen komutlar şunlardır:

Bağlantı olarak komut adı Açıklama
az security va sql baseline delete SQL güvenlik açığı değerlendirmesi kural temelini silin.
az security va sql baseline list Tüm kurallar için SQL güvenlik açığı değerlendirme temelini görüntüleyin.
az security va sql baseline set SQL güvenlik açığı değerlendirme temelini ayarlar. Geçerli temeli değiştirir.
az security va sql baseline show SQL güvenlik açığı değerlendirme kuralı temelini görüntüleyin.
az security va sql baseline update SQL güvenlik açığı değerlendirmesi kural temelini güncelleştirin. Geçerli kural temelini değiştirir.
az security va sql results list Tüm SQL güvenlik açığı değerlendirmesi tarama sonuçlarını görüntüleyin.
az security va sql results show SQL güvenlik açığı değerlendirmesi tarama sonuçlarını görüntüleyin.
az security va sql scans list Tüm SQL güvenlik açığı değerlendirmesi tarama özetlerini listeleyin.
az security va sql scans show SQL güvenlik açığı değerlendirmesi tarama özetlerini görüntüleyin.

Resource Manager şablonları

Azure Resource Manager şablonlarını kullanarak güvenlik açığı değerlendirme temellerini yapılandırmak için türünü kullanın Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines .

Temelleri eklemeden önce etkinleştirdiğinizden vulnerabilityAssessments emin olun.

Aşağıda, Temel Kural VA2065'i master veritabanına ve VA1143'i user veritabanına Resource Manager şablonunda kaynak olarak tanımlamaya yönelik bir örnek verilmiştir:

   "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"
                  ]
               }
            ]
         }
      }
   ]

Veritabanı ve user veritabanı için master kaynak adları farklı şekilde tanımlanır:

  • Ana veritabanı - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
  • Kullanıcı veritabanı - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",

Boole türlerini true/false olarak işlemek için taban çizgisi sonucunu "1"/"0" gibi ikili girişle ayarlayın.

   {
      "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"
               ]
            }
         ]
      }

   }