SQL güvenlik açığı değerlendirmesi, veritabanı güvenlik açıklarını tanımlamanızı sağlar

Uygulama hedefi: Azure SQL veritabanı Azure SQL yönetilen örneği Azure SYNAPSE Analytics

SQL güvenlik açığı değerlendirmesi, olası veritabanı güvenlik açıklarını düzeltebileceğiniz, izleyebileceğiniz ve bu sorunları gidermenize yardımcı olabilecek, kolay yapılandırmalı bir hizmettir. Veritabanı güvenliğinizi proaktif olarak geliştirmek için bu hizmeti kullanın.

Güvenlik açığı değerlendirmesi, SQL teklifi Için Azure Defender 'ın, gelişmiş SQL güvenlik özelliklerine yönelik Birleşik bir paket olan parçasıdır. Güvenlik açığı değerlendirmesi, SQL Portal için merkezi Azure Defender aracılığıyla erişilebilir ve yönetilebilir.

Not

Azure SQL veritabanı, Azure SQL yönetilen örneği ve Azure SYNAPSE Analytics için güvenlik açığı değerlendirmesi desteklenir. Azure SQL veritabanı, Azure SQL yönetilen örneği ve Azure SYNAPSE Analytics 'teki veritabanları, bu makalenin geri kalanında veritabanı olarak ve sunucu, Azure SQL veritabanı ve Azure SYNAPSE için veritabanları barındıran sunucuya başvurmaktadır.

SQL güvenlik açığı değerlendirmesi nedir?

SQL güvenlik açığı değerlendirmesi, güvenlik durumlarınızın görünürlüğünü sağlayan bir hizmettir. Güvenlik açığı değerlendirmesi, güvenlik sorunlarını çözmek ve veritabanı güvenlerinizi geliştirmek için uygulanabilir adımları içerir. Değişikliklerin SQL güvenlik duruşunuzu izlemek ve geliştirmek zor olan dinamik bir veritabanı ortamını izlemenize yardımcı olabilir.

Güvenlik açığı değerlendirmesi, Azure SQL veritabanı 'nda yerleşik olarak bulunan bir tarama hizmetidir. Hizmet, güvenlik açıklarına işaret eden kuralların bilgi bankasını kullanır. Yanlış yapılandırma, aşırı izin ve korunmayan hassas veriler gibi en iyi uygulamalardan sapmaları vurgular.

Kurallar Microsoft 'un en iyi uygulamalarını temel alır ve veritabanınıza ve değerli verilere en büyük riskleri sunan güvenlik sorunlarına odaklanmaktadır. Sunucu düzeyi sorunları ve sunucu düzeyi güvenlik sorunlarını (sunucu güvenlik duvarı ayarları ve sunucu düzeyi izinleri gibi) kapsar.

Taramanın sonuçları, her bir sorunu çözmek ve uygulanabilir olduğunda özelleştirilmiş düzeltme betikleri sağlamak için eylem yapılabilir adımları içerir. İçin kabul edilebilir bir taban çizgisi ayarlayarak, ortamınız için bir değerlendirme raporu özelleştirebilirsiniz:

  • İzin konfigürasyonları
  • Özellik yapılandırması
  • Veritabanı ayarları

Güvenlik açığı değerlendirmesini yapılandırma

Güvenlik açığı değerlendirmesini yapılandırmak için aşağıdaki adımları uygulayın:

  1. Azure Portal, Azure SQL VERITABANı, SQL yönetilen örnek veritabanı veya Azure SYNAPSE içinde belirli bir kaynağı açın.

  2. Güvenlik başlığı altında Güvenlik Merkezi' ni seçin.

  3. Sunucu veya yönetilen örnek için SQL için Azure Defender ayarları bölmesini açmak üzere bağlantıyı Yapılandır ' ı seçin.

    Defender for SQL yapılandırması açılıyor

    Not

    SQL güvenlik açığı değerlendirmesi, SQL Için Azure Defender planının taramalar çalıştırabilmesini gerektirir. SQL için Azure Defender 'ı etkinleştirme hakkında daha fazla bilgi için bkz. SQL Için Azure Defender.

  4. Sunucu ayarları SAYFASıNDA, SQL Için Azure Defender ayarlarını tanımlayın:

    SQL güvenlik açığı değerlendirme taramalarını yapılandırma

    1. Sunucudaki tüm veritabanları için tarama sonuçlarınızın veya yönetilen örneğin depolanacağı bir depolama hesabı yapılandırın. Depolama hesapları hakkında daha fazla bilgi için bkz. Azure depolama hesapları hakkında.

      İpucu

      Güvenlik duvarları ve sanal ağlar arkasında güvenlik açığı değerlendirmesi taramaları depolama hakkında daha fazla bilgi için bkz. Store güvenlik açığı değerlendirmesi tarama sonuçları güvenlik duvarları ve sanal ağlar 'ın arkasında erişilebilen bir depolama hesabında.

    2. Güvenlik yapılandırmalarını algılamak üzere haftalık taramaların otomatik olarak çalıştırılması için güvenlik açığı değerlendirmelerini yapılandırmak için, dönemsel yinelenen taramaları Açık olarak ayarlayın. Sonuçlar, tarama raporları gönderme sırasında sağladığınız e-posta adreslerine gönderilir. Ayrıca yöneticilere ve abonelik sahiplerine e-posta bildirimi göndermenizi etkinleştirerek Yöneticiler ve abonelik sahiplerine e-posta bildirimi de gönderebilirsiniz.

  5. SQL güvenlik açığı değerlendirmesi taramaları, isteğe bağlı olarak da çalıştırılabilir:

    1. Önceki taramaların Tarama sonuçlarına erişmek için kaynağın Güvenlik Merkezi sayfasında, güvenlik açığı değerlendirmesi ' nde ek bulguları görüntüle ' yi seçin.

      Tarama sonuçlarını ve el ile tarama seçeneklerini açma

    2. Veritabanınızı güvenlik açıklarına karşı taramak üzere isteğe bağlı bir tarama çalıştırmak için araç çubuğundan Tara ' yı seçin:

      SQL kaynağınızın isteğe bağlı güvenlik açığı değerlendirmesi taramasını çalıştırmak için Tara ' yı seçin

Not

Tarama hafif ve güvenlidir. Çalışması birkaç saniye sürer ve tamamen salt okunurdur. Veritabanınızda herhangi bir değişiklik yapmaz.

Güvenlik açıklarını düzeltin

Bir güvenlik açığı taraması tamamlandığında rapor Azure portal görüntülenir. Rapor şunları gösterir:

  • Güvenlik durumlarınızın bir özeti
  • Bulunan sorunların sayısı ve
  • Risklerin önem derecesine göre Özet
  • Daha fazla araştırmalar için bulguları listesi

SQL güvenlik açığı değerlendirme tarayıcısı 'ndan sampl tarama raporu

Bulunan güvenlik açıklarını düzeltmek için:

  1. Sonuçlarınızı gözden geçirin ve rapor bulduklarını, ortamınız için doğru güvenlik sorunları olduğunu öğrenin.

  2. Etkisini ve güvenlik denetiminin neden başarısız olduğunu anlamak için, başarısız olan her sonucu seçin.

    İpucu

    Bulmalar ayrıntıları sayfası, sorunun nasıl çözümleneceğini açıklayan, eyleme dönüştürülebilir düzeltme bilgilerini içerir.

    Güvenlik açığı taramasından bulguları İnceleme

  3. Değerlendirme sonuçlarınızı gözden geçirdikten sonra, belirli sonuçları ortamınızda kabul edilebilir bir taban çizgisi olarak işaretleyebilirsiniz. Taban çizgisi temelde sonuçların nasıl raporlanıldığını özelleştirirsiniz. Sonraki taramalarda, taban çizgisiyle eşleşen sonuçlar geçiş olarak değerlendirilir. Temel güvenlik durumlarınızı kurduktan sonra, güvenlik açığı değerlendirmesi yalnızca temelden sapmalarla ilgili raporlar. Bu şekilde, ilgili sorunlara dikkat etmeniz için ilgilenmeniz gerekir.

    Daha sonraki taramalar için bir bulma temeli olarak onaylama

  4. Taban çizgilerini değiştirirseniz, bir isteğe bağlı tarama çalıştırmak ve özelleştirilmiş raporu görüntülemek için Tara düğmesini kullanın. Taban çizgisine eklediğiniz tüm bulgular artık, taban çizgisi değişiklikleri nedeniyle başarılı oldukları bir belirtile geçirilir .

    Özel taban çizgisi başına geçtiğini belirten değerlendirmeler başarılı oldu

Güvenlik açığı değerlendirme taramalarınız artık veritabanınızın yüksek düzeyde güvenlik tuttuğunu ve kuruluş ilkelerinizin karşılanmasını sağlamak için kullanılabilir.

Gelişmiş yetenekler

Değerlendirme raporunu dışarı aktarın

Tarama sonuçlarınızın indirilebilir bir Excel raporunu oluşturmak için tarama sonuçlarını dışarı aktar ' ı seçin. Bu rapor, değerlendirmenin özetini görüntüleyen bir Özet sekmesi içerir. Rapor, başarısız olan tüm denetimleri içerir. Ayrıca, taramanın tüm sonuç kümesini içeren bir sonuçlar sekmesi de bulunur. Sonuçlar, çalıştırılan tüm denetimleri ve her biri için sonuç ayrıntılarını içerir.

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

Daha önce bu veritabanında çalıştırılan 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. Bu taramanın ayrıntılı sonuçlarını görüntülemek için listeden belirli bir tarama seçin.

Azure Güvenlik Merkezi 'nden belirli bulguları devre dışı bırakma (Önizleme)

Bir bulmayı yok saymanız gereken bir kuruluş varsa, bunu düzeltmek yerine isteğe bağlı olarak devre dışı bırakabilirsiniz. Devre dışı bulgular, güvenli puanınızı etkilemez veya istenmeyen gürültü oluşturmaz.

Bir bulma, devre dışı bırakma kurallarında tanımladığınız ölçütlerle eşleştiğinde, bu, bulguları listesinde görünmez. Tipik senaryolar şunlardır:

  • Ortalamanın altında önem derecesine sahip bulguları devre dışı bırak
  • Patchable olmayan bulguları devre dışı bırak
  • Tanımlı bir kapsam için ilgilenmeyen kıyaslamalardan bulguları devre dışı bırakın

Önemli

Belirli bulguları devre dışı bırakmak için Azure Ilkesinde bir ilkeyi düzenleme izinlerinizin olması gerekir. Azure Ilkesinde Azure RBAC izinlerihakkında daha fazla bilgi edinin.

Bir kural oluşturmak için:

  1. MAKINELERDEKI SQL sunucularınızda bulunan güvenlik açığı değerlendirmesi için öneriler ayrıntısı 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 derecesi
    • Karşılaştırmalar

    Makinelerdeki SQL sunucularında VA bulguları için devre dışı bırakma kuralı oluşturma

  4. Kural Uygula' yı seçin. Değişikliklerin etkili olması 24 saat 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çeneğini belirleyin.

    2. Kapsam listesinden, etkin kuralların bulunduğu abonelikler kural uygulandı olarak gösterilir.

      Mevcut bir kuralı değiştirme veya silme

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

Güvenlik açığı değerlendirmelerini programlamayla yönetme

Azure PowerShell’i kullanma

Not

Bu makale Azure Az PowerShell modülünü kullanacak şekilde güncelleştirilmiştir. Az PowerShell modülü, Azure ile etkileşim kurmak için önerilen PowerShell modülüdü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. Azurerd. SQL. Az Module ve Azurerd modüllerinde komutların bağımsız değişkenleri önemli ölçüde aynıdır.

Güvenlik açığı değerlendirmelerinizi programlı bir şekilde yönetmek için Azure PowerShell cmdlet 'lerini kullanabilirsiniz. Desteklenen Cmdlet 'ler şunlardır:

Bağlantı olarak cmdlet adı Açıklama
Clear-Azsqldatabasebir, Veitsessmentrulebaseline Güvenlik açığı değerlendirme kuralı temelini temizler.
İlk olarak, bu cmdlet 'i temizlemek için kullanmadan önce temeli ayarlayın.
Clear-Azsqldatabasebir Azıyassessmentsetting Bir veritabanının güvenlik açığı değerlendirmesi ayarlarını temizler.
Clear-Azsqlınstancedatabasebir Yönetilen bir veritabanının güvenlik açığı değerlendirme kuralı temelini temizler.
İlk olarak, bu cmdlet 'i temizlemek için kullanmadan önce temeli ayarlayın.
Clear-Azsqlınstancedatabase, Azıyassessmentsetting Yönetilen bir veritabanının güvenlik açığı değerlendirmesi ayarlarını temizler.
Clear-Azsqlınstancebir Azıyassessmentsetting Yönetilen bir örneğin güvenlik açığı değerlendirmesi ayarlarını temizler.
Convert-Azsqldatabasebir Azıyassessmentscan Bir veritabanının bir Excel dosyasına yönelik güvenlik açığı değerlendirmesi tarama sonuçlarını dönüştürür.
Convert-Azsqlınstancedatabasebir Azıyassessmentscan Yönetilen bir veritabanının bir Excel dosyasına yönelik güvenlik açığı değerlendirmesi tarama sonuçlarını dönüştürür.
Get-Azsqldatabasebir Belirli bir kural için bir veritabanının güvenlik açığı değerlendirme kuralı temelini alır.
Get-Azsqlınstancedatabasebir Belirli bir kural için yönetilen bir veritabanının güvenlik açığı değerlendirme kuralı temelini alır.
Get-Azsqldatabasebir Azı_vsessmentscanrecord Belirli bir veritabanıyla ilişkili tüm güvenlik açığı değerlendirmesi taraması kayıtlarını alır.
Get-Azsqlınstancedatabasebir yardımcı Belirli bir yönetilen veritabanıyla ilişkili tüm güvenlik açığı değerlendirmesi taraması kayıtlarını alır.
Get-Azsqldatabasebir Azıyassessmentsetting Bir veritabanının güvenlik açığı değerlendirmesi ayarlarını döndürür.
Get-Azsqlınstancedatabase, Azıyassessmentsetting Yönetilen bir veritabanının güvenlik açığı değerlendirmesi ayarlarını döndürür.
Set-Azsqldatabasebir Azıyassessmentrutabaseline Güvenlik açığı değerlendirme kuralı temelini ayarlar.
Set-Azsqlınstancedatabasebir bilgisayar \ Eyas/Baseline Yönetilen bir veritabanı için güvenlik açığı değerlendirme kuralı temelini ayarlar.
Start-Azsqldatabase, Azıyassessmentscan Bir veritabanında güvenlik açığı değerlendirmesi taramasının başlangıcını tetikler.
Start-azsqlınstancedatabase Yönetilen bir veritabanında güvenlik açığı değerlendirmesi taramasının başlangıcını tetikler.
Update-Azsqldatabasebir, Veitsessmentsetting Bir veritabanının güvenlik açığı değerlendirmesi ayarlarını güncelleştirir.
Update-Azsqlınstancedatabasebir, Veitsessmentsetting Yönetilen bir veritabanının güvenlik açığı değerlendirmesi ayarlarını güncelleştirir.
Update-Azsqlınstancebir Azıyassessmentsetting Yönetilen bir örneğin güvenlik açığı değerlendirmesi ayarlarını güncelleştirir.
   

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

Resource Manager şablonlarını kullanma

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

Taban çizgileri eklemeden önce etkin olduğunuzdan emin olun vulnerabilityAssessments .

İşte master user bir kaynak yöneticisi şablonundaki kaynak olarak VERITABANı ve VA1143 'e VA2065 temel kuralı tanımlamak için bir örnek:

   "resources": [
      {
         "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
         "apiVersion": "2018-06-01-preview",
         "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/vulnerabilityAssessments/rules/baselines",
         "apiVersion": "2018-06-01-preview",
         "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"
                  ]
               }
            ]
         }
      }
   ]

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

  • Ana veritabanı-"ad": "[Concat (Parametreler (' server_name '), '/', parametreler (' database_name '), '/default/VA2065/Master')]",
  • Kullanıcı veritabanı-"ad": "[Concat (Parametreler (' server_name '), '/', parametreler (' database_name '), '/default/VA2065/varsayılan')]",

Boolean türlerini doğru/yanlış olarak işlemek için, taban çizgisi sonucunu "1"/"0" gibi ikili girişle ayarlayın.

   {
      "type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
      "apiVersion": "2018-06-01-preview",
      "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"
               ]
            }
         ]
      }

   }

Sonraki adımlar