Sdílet prostřednictvím


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:

  1. 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.
  2. Pod nadpisem Zabezpečení vyberte Defender for Cloud.
  3. 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:

  1. 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.

  2. Vyberte příslušný obor.

  3. 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
  4. Vytvoření pravidla zákazu pro zjištění ohrožení zabezpečení na SQL serverech na počítačích

  5. Vyberte Použít pravidlo. Může trvat až 24 hodin, než se změny projeví.

  6. Zobrazení, přepsání nebo odstranění pravidla:

    1. Vyberte Zakázat pravidlo.
    2. V seznamu oborů se předplatná s aktivními pravidly zobrazují jako použité pravidlo.
    3. 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:

Popis Obor rozhraní API
Hromadné operace podle směrného plánu Systémová databáze Standardní hodnoty posouzení ohrožení zabezpečení SQL
Standardní hodnoty posouzení ohrožení zabezpečení SQL
Hromadné operace podle směrného plánu Uživatelská databáze Standardní hodnoty posouzení ohrožení zabezpečení sql databáze
Operace standardních hodnot s jedním pravidlem Uživatelská databáze Standardní hodnoty pravidel posouzení ohrožení zabezpečení sql databáze
Operace standardních hodnot s jedním pravidlem Systémová databáze Standardní hodnoty pravidel posouzení ohrožení zabezpečení SQL
Standardní hodnoty pravidel posouzení ohrožení zabezpečení SQL
Výsledky jedné kontroly Uživatelská databáze Výsledek kontroly posouzení ohrožení zabezpečení sql databáze
Výsledky jedné kontroly Systémová databáze Výsledek kontroly posouzení ohrožení zabezpečení SQL
Podrobnosti kontroly (souhrn) Uživatelská databáze Kontroly posouzení ohrožení zabezpečení sql databáze
Podrobnosti kontroly (souhrn) Systémová databáze Kontroly posouzení ohrožení zabezpečení SQL
Provedení ruční kontroly Uživatelská databáze Kontrola spuštění posouzení ohrožení zabezpečení sql databáze
Provedení ruční kontroly Systémová databáze Posouzení ohrožení zabezpečení SQL – Provedení kontroly
Nastavení VA (pro expresní konfiguraci se podporuje jenom GET) Uživatelská databáze Posouzení ohrožení zabezpečení sql databáze Nastavení
Operace Nastavení VA Server Posouzení ohrožení zabezpečení SQL Nastavení
Posouzení ohrožení zabezpečení SQL

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:

Použití 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:

  1. Na webu Azure Portal zakažte plán Defenderu pro Azure SQL.

  2. Pomocí PowerShellu můžete překonfigurovat pomocí 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:

  1. 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.

  2. Vyberte příslušný obor.

  3. 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

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

  4. Vyberte Použít pravidlo. Může trvat až 24 hodin, než se změny projeví.

  5. Zobrazení, přepsání nebo odstranění pravidla:

    1. Vyberte Zakázat pravidlo.

    2. V seznamu oborů se předplatná s aktivními pravidly zobrazují jako použité pravidlo.

      Screenshot of modify or delete an existing rule.

    3. 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 Aktualizace nastavení posouzení ohrožení zabezpečení databáze.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Aktualizace nastavení posouzení ohrožení zabezpečení spravované databáze.
Update-AzSqlInstanceVulnerabilityAssessmentSetting Aktualizace 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"
               ]
            }
         ]
      }

   }