Biztonsági réssel kapcsolatos eredmények kezelése az Azure SQL-adatbázisokban

Felhőhöz készült Microsoft Defender biztosít sebezhetőségi felmérést az Azure SQL-adatbázisokhoz. A biztonságirés-felmérés szoftveres biztonsági réseket keres az adatbázisokban, és megjeleníti az eredmények listáját. Az eredmények segítségével elháríthatja a szoftveres biztonsági réseket, és letilthatja az eredményeket.

Előfeltételek

A folytatás előtt győződjön meg arról, hogy az expressz vagy a klasszikus konfigurációt használja-e.

A használt konfiguráció megtekintése:

  1. Az Azure Portalon nyissa meg az adott erőforrást az Azure SQL Database-ben, az SQL Managed Instance Database-ben vagy az Azure Synapse-ben.
  2. A Biztonság fejléc alatt válassza a Felhőhöz készült Defender lehetőséget.
  3. Az Engedélyezés állapotában válassza a Konfigurálás a Microsoft Defender for SQL-beállítások panel megnyitásához a teljes kiszolgáló vagy felügyelt példány számára.

Ha a biztonságirés-beállítások a tárfiók konfigurálásának lehetőségét mutatják, akkor a klasszikus konfigurációt használja. Ha nem, az expressz konfigurációt használja.

Expressz konfiguráció

Vizsgálati előzmények megtekintése

A biztonságirés-felmérés panelen válassza az Előzmények vizsgálata lehetőséget az adatbázisban korábban futtatott összes vizsgálat előzményeinek megtekintéséhez.

Az expressz konfiguráció nem tárolja a vizsgálati eredményeket, ha megegyeznek a korábbi vizsgálatokkal. A vizsgálati előzményekben látható vizsgálati idő annak az utolsó vizsgálatnak az időpontja, ahol a vizsgálati eredmények megváltoztak.

Adott eredmények letiltása Felhőhöz készült Microsoft Defender (előzetes verzió)

Ha a cégnek a javítás helyett figyelmen kívül kell hagynia egy találatot, letilthatja a találatot. A letiltott eredmények nem befolyásolják a biztonságos pontszámot, és nem okoznak nemkívánatos zajt. A letiltott találatot a vizsgálati eredmények "Nem alkalmazható" szakaszában láthatja.

Ha egy találat megfelel a letiltó szabályokban meghatározott feltételeknek, az nem jelenik meg a találatok listájában. A tipikus forgatókönyvek a következők lehetnek:

  • Közepes vagy alacsonyabb súlyosságú eredmények letiltása
  • Nem javítható eredmények letiltása
  • A meghatározott hatókör szempontjából nem érdekes teljesítménytesztek eredményeinek letiltása

Fontos

Adott eredmények letiltásához engedélyekre van szüksége egy szabályzat szerkesztéséhez az Azure Policyban. További információ az Azure RBAC-engedélyekről az Azure Policyban.

Szabály létrehozása:

  1. A gépekEN futó SQL-kiszolgálók biztonságirés-felmérési eredményeinek a javaslatok részletes lapján válassza a Szabály letiltása lehetőséget.

  2. Válassza ki a megfelelő hatókört.

  3. Adja meg a feltételeket. Az alábbi feltételek bármelyikét használhatja:

    • Azonosító keresése
    • Súlyosság
    • Teljesítménytesztek
  4. Letiltó szabály létrehozása a gépeken futó SQL-kiszolgálókon található VA-eredményekhez

  5. Válassza a Szabály alkalmazása lehetőséget. A módosítások érvénybe lépése akár 24 órát is igénybe vehet.

  6. Szabály megtekintése, felülbírálása vagy törlése:

    1. Válassza a Szabály letiltása lehetőséget.
    2. A hatókörlistában az aktív szabályokkal rendelkező előfizetések szabályként jelennek meg.
    3. A szabály megtekintéséhez vagy törléséhez válassza a három pont menüt ("...").

E-mail-értesítések konfigurálása az Azure Logic Apps használatával

Az adatbázis biztonságirés-felmérési állapotának rendszeres frissítéséhez használhatja a testre szabható Azure Logic Apps-sablont.

A sablon használatával a következőt használhatja:

  • Válassza ki az e-mail-jelentések időzítését.
  • Konzisztens nézetet kap a sebezhetőségi felmérés állapotáról, amely letiltott szabályokat is tartalmaz.
  • Jelentések küldése Azure SQL-kiszolgálókhoz és SQL-virtuális gépekhez.
  • A jelentés struktúrájának és megjelenésének testreszabása a szervezeti szabványoknak megfelelően.

Sebezhetőségi felmérések programozott kezelése

Az expressz konfiguráció a REST API legújabb verziójában támogatott az alábbi funkciókkal:

Leírás Hatókör API
Alapszintű tömeges műveletek Rendszeradatbázis Az SQL sebezhetőségi felmérésének alapkonfigurációi
Az SQL sebezhetőségi felmérésének alapkonfigurációja
Alapszintű tömeges műveletek Felhasználói adatbázis Adatbázis SQL sebezhetőségi felmérésének alapkonfigurációi
Egyetlen szabály alapkonfigurációs műveletei Felhasználói adatbázis Adatbázis SQL biztonságirés-felmérési szabályának alapkonfigurációi
Egyetlen szabály alapkonfigurációs műveletei Rendszeradatbázis Az SQL biztonságirés-felmérési szabály alapkonfigurációi
Az SQL biztonságirés-felmérési szabály alapkonfigurációja
Egyetlen vizsgálati eredmény Felhasználói adatbázis Adatbázis sql sebezhetőségi felmérésének eredménye
Egyetlen vizsgálati eredmény Rendszeradatbázis Az SQL sebezhetőségi felmérésének eredménye
Vizsgálat részletei (összefoglalás) Felhasználói adatbázis Adatbázis sql biztonságirés-felmérésének vizsgálatai
Vizsgálat részletei (összefoglalás) Rendszeradatbázis Sql-sebezhetőségi felmérési vizsgálatok
Manuális vizsgálat végrehajtása Felhasználói adatbázis Adatbázis sql biztonságirés-felmérésének végrehajtása – vizsgálat
Manuális vizsgálat végrehajtása Rendszeradatbázis Sql-sebezhetőségi felmérés végrehajtása – vizsgálat
VA-beállítások (a GET csak az Express Configuration esetében támogatott) Felhasználói adatbázis Adatbázis SQL sebezhetőségi felmérései Gépház
VA Gépház műveletek Kiszolgáló Sql-sebezhetőségi felmérések Gépház
Sql-sebezhetőségi felmérések

Az Azure Resource Manager-sablonok használata

Az alábbi ARM-sablonnal hozzon létre egy új Azure SQL Logikai kiszolgálót, amely expressz konfigurációval rendelkezik az SQL sebezhetőségi felméréséhez.

Ha Azure Resource Manager-sablonokkal szeretné konfigurálni a sebezhetőségi felmérés alapkonfigurációit, használja a típust Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines . Az alaptervek hozzáadása előtt győződjön meg arról, hogy vulnerabilityAssessments engedélyezve van.

Íme néhány példa arra, hogyan állíthat be alapterveket ARM-sablonok használatával:

  • Köteg alapkonfiguráció beállítása a legújabb vizsgálati eredmények alapján:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    
  • Köteg alapkonfiguráció beállítása adott eredmények alapján:

    {
        "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"
                ]
            ]
         }
      }
    }
    
  • Alapterv beállítása egy adott szabályhoz:

    {
        "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" ]
            ]
        }
    }
    
  • Alapkonfigurációk beállítása a főadatbázison a legújabb vizsgálati eredmények alapján:

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

A PowerShell használata

Az expressz konfiguráció a PowerShell-parancsmagokban nem támogatott, de a PowerShell használatával meghívhatja a legújabb biztonságirés-felmérési képességeket a REST API használatával, például:

Az Azure parancssori felület használata

Expressz konfiguráció meghívása az Azure CLI használatával.

Hibaelhárítás

Vissza a klasszikus konfigurációra

Az Azure SQL-adatbázis átállítása az expressz sebezhetőségi értékelési konfigurációról a klasszikus konfigurációra:

  1. Tiltsa le az Azure-hoz készült Defender SQL-csomagot az Azure Portalon.

  2. A PowerShell használatával újrakonfigurálhatja a klasszikus felületet:

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

    Előfordulhat, hogy módosítania Update-AzSqlServerVulnerabilityAssessmentSetting kell az Áruház biztonságirés-felmérésének eredményei szerint egy tűzfalak és virtuális hálózatok mögött elérhető tárfiókot.

Errors

"A sebezhetőségi felmérés engedélyezve van ezen a kiszolgálón vagy annak egyik mögöttes adatbázisában egy nem kompatibilis verzióval"

Lehetséges okok:

  • Az expressz konfigurációra váltás kiszolgálóházirend-hiba miatt meghiúsult.

    Megoldás: Próbálja újra engedélyezni az expressz konfigurációt. Ha a probléma továbbra is fennáll, próbálja meg letiltani az SQL-hez készült Microsoft Defendert az Azure SQL-erőforrásban, válassza a Mentés lehetőséget, engedélyezze újra az SQL-hez készült Microsoft Defendert, és válassza a Mentés lehetőséget.

  • Az expressz konfigurációra való váltás adatbázisházirend-hiba miatt meghiúsult. Az adatbázis-szabályzatok nem láthatók az Azure Portal for Defender for SQL sebezhetőségi felmérésében, ezért az expressz konfigurációra való váltás ellenőrzési szakaszában ellenőrizzük őket.

    Megoldás: Tiltsa le a megfelelő kiszolgáló összes adatbázis-házirendét, majd próbáljon meg újra expressz konfigurációra váltani.

  • Fontolja meg a megadott PowerShell-szkript használatát segítségért.

Klasszikus konfiguráció

Vizsgálati előzmények megtekintése

A biztonságirés-felmérés panelen válassza az Előzmények vizsgálata lehetőséget az adatbázisban korábban futtatott összes vizsgálat előzményeinek megtekintéséhez.

Adott eredmények letiltása Felhőhöz készült Microsoft Defender (előzetes verzió)

Ha a cégnek figyelmen kívül kell hagynia egy találatot, és nem kell szervizelnie, akkor tetszés szerint letilthatja azt. A letiltott eredmények nem befolyásolják a biztonságos pontszámot, és nem okoznak nemkívánatos zajt.

Ha egy találat megfelel a letiltó szabályokban meghatározott feltételeknek, az nem jelenik meg a találatok listájában. A tipikus forgatókönyvek a következők lehetnek:

  • Közepes vagy alacsonyabb súlyosságú eredmények letiltása
  • Nem javítható eredmények letiltása
  • A meghatározott hatókör szempontjából nem érdekes teljesítménytesztek eredményeinek letiltása

Fontos

  • Adott eredmények letiltásához engedélyekre van szüksége egy szabályzat szerkesztéséhez az Azure Policyban. További információ az Azure RBAC-engedélyekről az Azure Policyban.
  • A letiltott megállapítások továbbra is szerepelni fognak a heti SQL biztonságirés-felmérési e-mail-jelentésben.
  • A letiltott szabályok a vizsgálati eredmények "Nem alkalmazható" szakaszában jelennek meg.

Szabály létrehozása:

  1. A gépekEN futó SQL-kiszolgálók biztonságirés-felmérési eredményeinek a javaslatok részletes lapján válassza a Szabály letiltása lehetőséget.

  2. Válassza ki a megfelelő hatókört.

  3. Adja meg a feltételeket. Az alábbi feltételek bármelyikét használhatja:

    • Azonosító keresése
    • Súlyosság
    • Teljesítménytesztek

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

  4. Válassza a Szabály alkalmazása lehetőséget. A módosítások érvénybe lépése akár 24 órát is igénybe vehet.

  5. Szabály megtekintése, felülbírálása vagy törlése:

    1. Válassza a Szabály letiltása lehetőséget.

    2. A hatókörlistában az aktív szabályokkal rendelkező előfizetések szabályként jelennek meg.

      Screenshot of modify or delete an existing rule.

    3. A szabály megtekintéséhez vagy törléséhez válassza a három pont menüt ("...").

Sebezhetőségi felmérések programozott kezelése

Azure PowerShell

Feljegyzés

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Fontos

A PowerShell Azure Resource Manager modul továbbra is támogatott, de minden jövőbeli fejlesztés az Az.Sql modulhoz tartozik. Ezekhez a parancsmagokhoz lásd: AzureRM.Sql. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak.

Az Azure PowerShell-parancsmagokkal programozott módon kezelheti a sebezhetőségi felméréseket. A támogatott parancsmagok a következők:

Parancsmag neve hivatkozásként Leírás
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Törli a sebezhetőségi felmérési szabály alapkonfigurációit.
Először állítsa be az alaptervet, mielőtt ezzel a parancsmaggal törli azt.
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting Törli az adatbázis sebezhetőségi felmérési beállításait.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Törli a felügyelt adatbázisok biztonságirés-felmérési szabályának alapkonfigurációját.
Először állítsa be az alaptervet, mielőtt ezzel a parancsmaggal törli azt.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Törli a felügyelt adatbázisok sebezhetőségi felmérési beállításait.
Clear-AzSqlInstanceVulnerabilityAssessmentSetting Törli a felügyelt példány biztonságirés-felmérési beállításait.
Convert-AzSqlDatabaseVulnerabilityAssessmentScan Egy adatbázis sebezhetőségi felmérési eredményeit Excel-fájllá alakítja (exportálja).
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan A felügyelt adatbázisok biztonságirés-felmérési eredményeit Excel-fájllá (exportálássá) alakítja át.
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Lekéri egy adatbázis biztonságirés-felmérési szabályának alapkonfigurációját egy adott szabályhoz.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Lekéri egy felügyelt adatbázis biztonságirés-felmérési szabályának alapkonfigurációját egy adott szabályhoz.
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord Lekéri az adott adatbázishoz társított biztonságirés-felmérési rekordokat.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord Lekéri az adott felügyelt adatbázishoz társított biztonságirés-felmérési rekordokat.
Get-AzSqlDatabaseVulnerabilityAssessmentSetting Egy adatbázis sebezhetőségi felmérési beállításait adja vissza.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Egy felügyelt adatbázis sebezhetőségi felmérési beállításait adja vissza.
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline A sebezhetőségi felmérési szabály alapkonfigurációjának beállítása.
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Beállítja a biztonságirés-felmérési szabály alapkonfigurációt egy felügyelt adatbázishoz.
Start-AzSqlDatabaseVulnerabilityAssessmentScan Elindítja egy biztonságirés-felmérés indítását egy adatbázisban.
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Aktiválja egy biztonságirés-felmérés indítását egy felügyelt adatbázisban.
Update-AzSqlDatabaseVulnerabilityAssessmentSetting Frissítések adatbázis sebezhetőségi felmérési beállításait.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Frissítések egy felügyelt adatbázis biztonságirés-felmérési beállításait.
Update-AzSqlInstanceVulnerabilityAssessmentSetting Frissítések felügyelt példány biztonságirés-felmérési beállításait.

Példaszkriptre az Azure SQL sebezhetőségi felmérésének PowerShell-támogatásával kapcsolatban.

Azure CLI

Fontos

Az alábbi Azure CLI-parancsok virtuális gépeken vagy helyszíni gépeken üzemeltetett SQL-adatbázisokhoz használhatók. Az Azure SQL Database-ekkel kapcsolatos sebezhetőségi felmérésekért tekintse meg az Azure Portal vagy a PowerShell szakaszt.

Az Azure CLI-parancsokkal programozott módon kezelheti a sebezhetőségi felméréseket. A támogatott parancsok a következők:

Parancsnév hivatkozásként Leírás
az security va sql baseline delete Az SQL biztonságirés-felmérési szabály alapkonfigurációja törlése.
az security va sql baseline list Az SQL biztonságirés-felmérés alapkonfigurációjának megtekintése az összes szabályhoz.
az security va sql baseline set Beállítja az SQL biztonságirés-felmérés alapkonfigurációt. Lecseréli az aktuális alaptervet.
az security va sql baseline show Az SQL biztonságirés-felmérési szabály alapkonfigurációja.
az security va sql baseline update Az SQL biztonságirés-felmérési szabály alapkonfigurációja. Az aktuális szabály alapkonfigurációjának lecserélése.
az security va sql results list Tekintse meg az SQL sebezhetőségi felmérésének összes eredményét.
az security va sql results show Az SQL sebezhetőségi felmérésének eredményeinek megtekintése.
az security va sql scans list Listázz minden SQL-sebezhetőségi felmérési összefoglalót.
az security va sql scans show Az SQL sebezhetőségi felmérésének áttekintési összefoglalóinak megtekintése.

Resource Manager-sablonok

Ha Azure Resource Manager-sablonokkal szeretné konfigurálni a sebezhetőségi felmérés alapkonfigurációit, használja a típust Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines .

Az alaptervek hozzáadása előtt győződjön meg arról, hogy engedélyezve vulnerabilityAssessments van.

Íme egy példa a VA2065 alapkonfigurációs szabály adatbázisba, master a VA1143 pedig erőforrásként való definiálására user a Resource Manager-sablonban:

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

Az adatbázis és user az adatbázis esetében master az erőforrásnevek eltérően vannak definiálva:

  • Főadatbázis – "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
  • Felhasználói adatbázis – "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",

Ha a logikai típusokat igaz/hamis értékként szeretné kezelni, állítsa be az alapértékeket olyan bináris bemenettel, mint az "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"
               ]
            }
         ]
      }

   }