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:
- Azure portalında belirli bir kaynağı Azure SQL Veritabanı, SQL Yönetilen Örneği Veritabanı veya Azure Synapse'te açın.
- Güvenlik başlığı altında Bulut için Defender'ı seçin.
- 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:
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.
İlgili kapsamı seçin.
Ölçütlerinizi tanımlayın. Aşağıdaki ölçütlerden herhangi birini kullanabilirsiniz:
- Kimlik Bulma
- Önem
- Karşılaştırmalar
Makinelerdeki SQL sunucularında VA bulguları için devre dışı bırakma kuralı oluşturma
Kuralı uygula'yı seçin. Değişikliklerin geçerli olması 24 saate kadar sürebilir.
Bir kuralı görüntülemek, geçersiz kılmak veya silmek için:
- Kuralı devre dışı bırak'ı seçin.
- Kapsam listesinde etkin kurallara sahip abonelikler Kural uygulandı olarak gösterilir.
- 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:
Azure Resource Manager şablonlarını kullanma
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 SQL Server'da hızlı yapılandırmayı etkinleştirme
- Azure SQL Server'daki tüm veritabanları için en son tarama sonuçlarını temel alarak temelleri ayarlama
- Hızlı yapılandırma PowerShell komutları başvurusu
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:
Azure portalından Azure için Defender SQL planını devre dışı bırakın.
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-AzSqlServerVulnerabilityAssessmentSetting
yapmak 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:
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.
İlgili kapsamı seçin.
Ölçütlerinizi tanımlayın. Aşağıdaki ölçütlerden herhangi birini kullanabilirsiniz:
- Kimlik Bulma
- Önem
- Karşılaştırmalar
Kuralı uygula'yı seçin. Değişikliklerin geçerli olması 24 saate kadar sürebilir.
Bir kuralı görüntülemek, geçersiz kılmak veya silmek için:
Kuralı devre dışı bırak'ı seçin.
Kapsam listesinde etkin kurallara sahip abonelikler Kural uygulandı olarak gösterilir.
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"
]
}
]
}
}
İlgili içerik
- Azure SQL için Microsoft Defender hakkında daha fazla bilgi edinin.
- Veri bulma ve sınıflandırma hakkında daha fazla bilgi edinin.
- Güvenlik açığı değerlendirmesi tarama sonuçlarını güvenlik duvarlarının ve sanal ağların arkasında erişilebilen bir depolama hesabında depolama hakkında daha fazla bilgi edinin.
- Azure SQL veritabanları hakkında sık sorulan sorulara göz atın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin