Správa zjištění ohrožení zabezpečení v databázích Azure SQL
Microsoft Defender for Cloud poskytuje posouzení ohrožení zabezpečení pro databáze Azure SQL. Posouzení ohrožení zabezpečení kontroluje ohrožení zabezpečení vašich databází a obsahuje seznam zjištění. Tato zjištění můžete použít k nápravě ohrožení zabezpečení softwaru a zakázání zjištění.
Požadavky
Než budete pokračovat, ujistěte se, že používáte expresní nebo klasické konfigurace .
Pokud chcete zjistit, jakou konfiguraci používáte:
- Na webu Azure Portal otevřete konkrétní prostředek ve službě Azure SQL Database, službě SQL Managed Instance Database nebo Azure Synapse.
- Pod nadpisem Zabezpečení vyberte Defender for Cloud.
- Ve stavu povolení vyberte Konfigurovat a otevřete podokno nastavení Microsoft Defenderu pro SQL pro celý server nebo spravovanou instanci.
Pokud nastavení ohrožení zabezpečení zobrazuje možnost konfigurace účtu úložiště, používáte klasickou konfiguraci. Pokud ne, používáte expresní konfiguraci.
Expresní konfigurace
Zobrazení historie prohledávání
Výběrem možnosti Historie kontroly v podokně posouzení ohrožení zabezpečení zobrazíte historii všech kontrol, které byly dříve spuštěny v této databázi.
Konfigurace Expressu neukládá výsledky kontroly, pokud jsou identické s předchozími kontrolami. Čas kontroly zobrazený v historii kontroly je čas poslední kontroly, kdy se výsledky kontroly změnily.
Zakázání konkrétních zjištění v programu Microsoft Defender for Cloud (Preview)
Pokud potřebujete, aby organizace místo nápravy ignorovala hledání, můžete hledání zakázat. Zakázaná zjištění nemají vliv na vaše skóre zabezpečení ani negenerují nežádoucí šum. Zakázané hledání uvidíte v části Nepoužitelné výsledky kontroly.
Když hledání odpovídá kritériím definovaným v pravidlech zákazu, nezobrazí se v seznamu zjištění. Mezi obvyklé scénáře patří:
- Zakázání zjištění se střední nebo nižší závažností
- Zakázání zjištění, která nejsou opravitelná
- Zákaz zjištění z srovnávacích testů, které nejsou pro definovaný obor zajímavé
Důležité
Pokud chcete zakázat konkrétní zjištění, potřebujete oprávnění k úpravě zásad ve službě Azure Policy. Další informace najdete v oprávněních Azure RBAC ve službě Azure Policy.
Vytvoření pravidla:
Na stránce s podrobnostmi doporučení pro zjištění posouzení ohrožení zabezpečení na serverech SQL na počítačích by se mělo napravit, vyberte Zakázat pravidlo.
Vyberte příslušný obor.
Definujte kritéria. Můžete použít některou z následujících kritérií:
- Vyhledání ID
- Závažnost
- Srovnávací testy
Vytvoření pravidla zákazu pro zjištění ohrožení zabezpečení na SQL serverech na počítačích
Vyberte Použít pravidlo. Může trvat až 24 hodin, než se změny projeví.
Zobrazení, přepsání nebo odstranění pravidla:
- Vyberte Zakázat pravidlo.
- V seznamu oborů se předplatná s aktivními pravidly zobrazují jako použité pravidlo.
- Pokud chcete pravidlo zobrazit nebo odstranit, vyberte nabídku se třemi tečky (...).
Konfigurace e-mailových oznámení pomocí Azure Logic Apps
Pokud chcete dostávat pravidelné aktualizace stavu posouzení ohrožení zabezpečení pro vaši databázi, můžete použít přizpůsobitelnou šablonu Azure Logic Apps.
Použití šablony vám umožní:
- Zvolte načasování e-mailových sestav.
- Máte konzistentní přehled o stavu posouzení ohrožení zabezpečení, který zahrnuje zakázaná pravidla.
- Odesílání sestav pro sql servery Azure a virtuální počítače SQL
- Přizpůsobte si strukturu sestav a vzhled tak, aby odpovídaly standardům vaší organizace.
Správa posouzení ohrožení zabezpečení prostřednictvím kódu programu
Expresní konfigurace se podporuje v nejnovější verzi rozhraní REST API s následujícími funkcemi:
Použití šablon Azure Resource Manageru
Pomocí následující šablony ARM vytvořte nový logický server Azure SQL s expresní konfigurací pro posouzení ohrožení zabezpečení SQL.
Pokud chcete nakonfigurovat standardní hodnoty posouzení ohrožení zabezpečení pomocí šablon Azure Resource Manageru, použijte tento Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
typ. Před přidáním směrných plánů se ujistěte, že vulnerabilityAssessments
je tato možnost povolená.
Tady je několikpříkladůch
Nastavení směrného plánu dávky na základě nejnovějších výsledků kontroly:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
Nastavení směrného plánu dávky na základě konkrétních výsledků:
{ "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" ] ] } } }
Nastavení směrného plánu pro konkrétní pravidlo:
{ "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" ] ] } }
Nastavení dávkových směrných plánů v hlavní databázi na základě nejnovějších výsledků kontroly:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
Pomocí prostředí PowerShell
Konfigurace Expressu není v rutinách PowerShellu podporovaná, ale pomocí PowerShellu můžete vyvolat nejnovější možnosti posouzení ohrožení zabezpečení pomocí rozhraní REST API, například:
- Povolení expresní konfigurace na Azure SQL Serveru
- Nastavení standardních hodnot na základě nejnovějších výsledků kontroly pro všechny databáze na Azure SQL Serveru
- Referenční informace k příkazům PowerShellu pro expresní konfiguraci
Pomocí Azure CLI
Vyvolání expresní konfigurace pomocí Azure CLI
Řešení problému
Návrat ke klasické konfiguraci
Použijte následující postup ke změně databáze Azure SQL z konfigurace expresního posouzení ohrožení zabezpečení na klasickou konfiguraci:
Zakažte plán Defender pro Azure SQL z webu Azure Portal.
Pomocí služby PowerShell změňte konfiguraci prostřednictvím klasického prostředí:
Update-AzSqlServerAdvancedThreatProtectionSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -Enable 1 Update-AzSqlServerVulnerabilityAssessmentSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -StorageAccountName "mystorage" ` -RecurringScansInterval Weekly ` -ScanResultsContainerName "vulnerability-assessment"
Možná budete muset upravit
Update-AzSqlServerVulnerabilityAssessmentSetting
podle kontroly posouzení ohrožení zabezpečení úložiště v účtu úložiště přístupném za branami firewall a virtuálními sítěmi.
Chyby
Na tomto serveru nebo na jedné z jejích podkladových databází s nekompatibilní verzí je povolené posouzení ohrožení zabezpečení.
Možné příčiny:
Přepnutí na expresní konfiguraci selhalo kvůli chybě zásad serveru.
Řešení: Zkuste znovu povolit expresní konfiguraci. Pokud problém přetrvává, zkuste v prostředku Azure SQL zakázat Microsoft Defender for SQL, vyberte Uložit, znovu povolte Microsoft Defender pro SQL a pak vyberte Uložit.
Přepnutí na expresní konfiguraci selhalo kvůli chybě zásad databáze. Zásady databáze se nezobrazují na webu Azure Portal pro posouzení ohrožení zabezpečení v programu Defender for SQL, takže je kontrolujeme během fáze ověřování přepnutí na expresní konfiguraci.
Řešení: Zakažte všechny zásady databáze pro příslušný server a zkuste přepnout na expresní konfiguraci znovu.
Pokud potřebujete pomoc, zvažte použití poskytnutého skriptu PowerShellu.
Klasická konfigurace
Zobrazení historie prohledávání
Výběrem možnosti Historie kontroly v podokně posouzení ohrožení zabezpečení zobrazíte historii všech kontrol, které byly dříve spuštěny v této databázi.
Zakázání konkrétních zjištění v programu Microsoft Defender for Cloud (Preview)
Pokud potřebujete, aby organizace hledání ignorovala a nemusela ji opravovat, můžete ji volitelně zakázat. Zakázaná zjištění nemají vliv na vaše skóre zabezpečení ani negenerují nežádoucí šum.
Když hledání odpovídá kritériím definovaným v pravidlech zákazu, nezobrazí se v seznamu zjištění. Mezi obvyklé scénáře patří:
- Zakázání zjištění se střední nebo nižší závažností
- Zakázání zjištění, která nejsou opravitelná
- Zákaz zjištění z srovnávacích testů, které nejsou pro definovaný obor zajímavé
Důležité
- Pokud chcete zakázat konkrétní zjištění, potřebujete oprávnění k úpravě zásad ve službě Azure Policy. Další informace najdete v oprávněních Azure RBAC ve službě Azure Policy.
- Zakázaná zjištění budou stále zahrnuta do týdenní e-mailové sestavy posouzení ohrožení zabezpečení SQL.
- Zakázaná pravidla se zobrazují v části Nepoužitelné výsledky kontroly.
Vytvoření pravidla:
Na stránce s podrobnostmi doporučení pro zjištění posouzení ohrožení zabezpečení na serverech SQL na počítačích by se mělo napravit, vyberte Zakázat pravidlo.
Vyberte příslušný obor.
Definujte kritéria. Můžete použít některou z následujících kritérií:
- Vyhledání ID
- Závažnost
- Srovnávací testy
Vyberte Použít pravidlo. Může trvat až 24 hodin, než se změny projeví.
Zobrazení, přepsání nebo odstranění pravidla:
Vyberte Zakázat pravidlo.
V seznamu oborů se předplatná s aktivními pravidly zobrazují jako použité pravidlo.
Pokud chcete pravidlo zobrazit nebo odstranit, vyberte nabídku se třemi tečky (...).
Správa posouzení ohrožení zabezpečení prostřednictvím kódu programu
Azure PowerShell
Poznámka:
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Důležité
Modul Azure Resource Manager v PowerShellu je stále podporovaný, ale veškerý budoucí vývoj je určený pro modul Az.Sql. Tyto rutiny najdete v tématu AzureRM.Sql. Argumenty pro příkazy v modulu Az a v modulech AzureRm jsou podstatně identické.
Pomocí rutin Azure PowerShellu můžete programově spravovat posouzení ohrožení zabezpečení. Podporované rutiny jsou:
Název rutiny jako odkaz | Popis |
---|---|
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Vymaže směrný plán pravidla posouzení ohrožení zabezpečení. Nejprve nastavte směrný plán, než tuto rutinu použijete k vymazání. |
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting | Vymaže nastavení posouzení ohrožení zabezpečení databáze. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Vymaže směrný plán pravidla posouzení ohrožení zabezpečení spravované databáze. Nejprve nastavte směrný plán, než tuto rutinu použijete k vymazání. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Vymaže nastavení posouzení ohrožení zabezpečení spravované databáze. |
Clear-AzSqlInstanceVulnerabilityAssessmentSetting | Vymaže nastavení posouzení ohrožení zabezpečení spravované instance. |
Convert-AzSqlDatabaseVulnerabilityAssessmentScan | Převede výsledky kontroly posouzení ohrožení zabezpečení databáze na excelový soubor (export). |
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Převede výsledky kontroly posouzení ohrožení zabezpečení spravované databáze na excelový soubor (export). |
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Získá směrný plán pravidla posouzení ohrožení zabezpečení databáze pro dané pravidlo. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Získá směrný plán pravidla posouzení ohrožení zabezpečení spravované databáze pro dané pravidlo. |
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord | Získá všechny záznamy kontroly posouzení ohrožení zabezpečení přidružené k dané databázi. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord | Získá všechny záznamy kontroly posouzení ohrožení zabezpečení přidružené k dané spravované databázi. |
Get-AzSqlDatabaseVulnerabilityAssessmentSetting | Vrátí nastavení posouzení ohrožení zabezpečení databáze. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Vrátí nastavení posouzení ohrožení zabezpečení spravované databáze. |
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Nastaví standardní hodnoty pravidel posouzení ohrožení zabezpečení. |
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Nastaví směrný plán pravidla posouzení ohrožení zabezpečení pro spravovanou databázi. |
Start-AzSqlDatabaseVulnerabilityAssessmentScan | Aktivuje spuštění kontroly posouzení ohrožení zabezpečení v databázi. |
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Aktivuje spuštění kontroly posouzení ohrožení zabezpečení ve spravované databázi. |
Update-AzSqlDatabaseVulnerabilityAssessmentSetting | Aktualizuje nastavení posouzení ohrožení zabezpečení databáze. |
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Aktualizuje nastavení posouzení ohrožení zabezpečení spravované databáze. |
Update-AzSqlInstanceVulnerabilityAssessmentSetting | Aktualizuje nastavení posouzení ohrožení zabezpečení spravované instance. |
Příklad skriptu najdete v tématu Podpora PowerShellu pro posouzení ohrožení zabezpečení Azure SQL.
Azure CLI
Důležité
Následující příkazy Azure CLI jsou určené pro databáze SQL hostované na virtuálních počítačích nebo místních počítačích. Posouzení ohrožení zabezpečení týkající se služby Azure SQL Database najdete na webu Azure Portal nebo v části PowerShellu.
Pomocí příkazů Azure CLI můžete programově spravovat posouzení ohrožení zabezpečení. Podporované příkazy jsou:
Název příkazu jako odkaz | Popis |
---|---|
az security va sql baseline delete |
Odstranění standardních hodnot pravidel posouzení ohrožení zabezpečení SQL |
az security va sql baseline list |
Zobrazení standardních hodnot posouzení ohrožení zabezpečení SQL pro všechna pravidla |
az security va sql baseline set |
Nastaví standardní hodnoty posouzení ohrožení zabezpečení SQL. Nahradí aktuální směrný plán. |
az security va sql baseline show |
Zobrazení standardních hodnot pravidel posouzení ohrožení zabezpečení SQL |
az security va sql baseline update |
Aktualizace standardních hodnot pravidel posouzení ohrožení zabezpečení SQL Nahradí aktuální směrný plán pravidla. |
az security va sql results list |
Zobrazit všechny výsledky kontroly posouzení ohrožení zabezpečení SQL |
az security va sql results show |
Zobrazení výsledků kontroly posouzení ohrožení zabezpečení SQL |
az security va sql scans list |
Zobrazí seznam všech souhrnů kontroly posouzení ohrožení zabezpečení SQL. |
az security va sql scans show |
Zobrazení souhrnů kontroly posouzení ohrožení zabezpečení SQL |
Šablony Resource Manageru
Pokud chcete nakonfigurovat standardní hodnoty posouzení ohrožení zabezpečení pomocí šablon Azure Resource Manageru, použijte tento Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines
typ.
Před přidáním směrných plánů se ujistěte, že jste povolili vulnerabilityAssessments
.
Tady je příklad definování pravidla standardního plánu VA2065 pro master
databázi a VA1143 pro user
databázi jako prostředky v šabloně Resource Manageru:
"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"
]
}
]
}
}
]
Pro master
databázi a user
databázi jsou názvy prostředků definovány odlišně:
- Hlavní databáze – "name": "[concat(parameters('server_name');'/', parameters('database_name'), '/default/VA2065/master')]",
- Uživatelská databáze – "name": "[concat(parameters('server_name');'/', parameters('database_name'), '/default/VA2065/default')]",
Pokud chcete zpracovat logické typy jako true/false, nastavte výsledek směrného plánu s binárním vstupem, jako je 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"
]
}
]
}
}
Související obsah
- Přečtěte si další informace o programu Microsoft Defender pro Azure SQL.
- Přečtěte si další informace o zjišťování a klasifikaci dat.
- Přečtěte si další informace o ukládání výsledků kontroly posouzení ohrožení zabezpečení do účtu úložiště přístupného za branami firewall a virtuálními sítěmi.
- Projděte si běžné dotazy k databázím Azure SQL.