Gestire i risultati della vulnerabilità nei database SQL di Azure

Microsoft Defender per il cloud fornisce una valutazione della vulnerabilità per i database SQL di Azure. La valutazione della vulnerabilità analizza i database per individuare le vulnerabilità software e fornisce un elenco dei risultati. È possibile usare i risultati per correggere le vulnerabilità del software e disabilitare i risultati.

Prerequisiti

Assicurarsi di sapere se si usano le configurazioni express o classiche prima di continuare.

Per visualizzare la configurazione in uso:

  1. Nella portale di Azure aprire la risorsa specifica in database SQL di Azure, Istanza gestita di SQL Database o Azure Synapse.
  2. Nell'intestazione Sicurezza selezionare Defender per il cloud.
  3. In Stato abilitazione selezionare Configura per aprire il riquadro impostazioni di Microsoft Defender per SQL per l'intero server o l'istanza gestita.

Se le impostazioni di vulnerabilità mostrano l'opzione per configurare un account di archiviazione, si usa la configurazione classica. In caso contrario, si usa la configurazione rapida.

Configurazione rapida

Visualizzare la cronologia analisi

Selezionare Cronologia analisi nel riquadro valutazione della vulnerabilità per visualizzare una cronologia di tutte le analisi eseguite in precedenza in questo database.

La configurazione rapida non archivia i risultati dell'analisi se sono identici alle analisi precedenti. L'ora di analisi visualizzata nella cronologia dell'analisi è l'ora dell'ultima analisi in cui i risultati dell'analisi sono stati modificati.

Disabilitare risultati specifici da Microsoft Defender per il cloud (anteprima)

Se un'organizzazione deve ignorare una ricerca anziché risolverla, è possibile disabilitare la ricerca. I risultati disabilitati non influiscono sul punteggio di sicurezza e non generano elementi non significativi. È possibile visualizzare la ricerca disabilitata nella sezione "Non applicabile" dei risultati dell'analisi.

Quando un risultato corrisponde ai criteri definiti nelle regole di disabilitazione, non verrà visualizzato nell'elenco di risultati. Gli scenari tipici possono includere:

  • Disabilitare i risultati con gravità media o inferiore
  • Disabilitare i risultati che non sono applicabili a patch
  • Disabilitare i risultati dai benchmark che non sono di interesse per un ambito definito

Importante

Per disabilitare risultati specifici, sono necessarie autorizzazioni per modificare un criterio in Criteri di Azure. Per altre informazioni, vedere Autorizzazioni di controllo degli accessi in base al ruolo di Azure in Criteri di Azure.

Per creare una regola:

  1. Nella pagina dei dettagli delle raccomandazioni per i risultati della valutazione della vulnerabilità nei server SQL nei computer deve essere corretto selezionare Disabilita regola.

  2. Selezionare l'ambito pertinente.

  3. Definire i criteri. È possibile usare uno dei criteri seguenti:

    • RICERCA DELL'ID
    • Gravità
    • Benchmark
  4. Creare una regola di disabilitazione per i risultati delle istanze di valutazione dei dati nei server SQL nei computer

  5. Selezionare Applica regola. Per rendere effettive le modifiche potrebbero essere necessarie fino a 24 ore.

  6. Per visualizzare, eseguire l'override o eliminare una regola:

    1. Selezionare Disabilita regola.
    2. Nell'elenco di ambiti le sottoscrizioni con regole attive vengono visualizzate come regola applicata.
    3. Per visualizzare o eliminare la regola, selezionare il menu con i puntini di sospensione ("...").

Configurare le notifiche di posta elettronica con App per la logica di Azure

Per ricevere aggiornamenti regolari dello stato di valutazione della vulnerabilità per il database, è possibile usare il modello di App per la logica di Azure personalizzabile.

L'uso del modello consentirà di:

  • Scegliere la tempistica dei report di posta elettronica.
  • Avere una visualizzazione coerente dello stato di valutazione della vulnerabilità che include regole disabilitate.
  • Inviare report per i server SQL di Azure e le macchine virtuali SQL.
  • Personalizzare la struttura e l'aspetto del report in base agli standard dell'organizzazione.

Gestire le valutazioni delle vulnerabilità a livello di codice

La configurazione rapida è supportata nella versione più recente dell'API REST con le funzionalità seguenti:

Descrizione Ambito API
Operazioni bulk di base Database di sistema Baseline di valutazione della vulnerabilità Sql
Baseline di valutazione della vulnerabilità Sql
Operazioni bulk di base Database utente Baseline di valutazione della vulnerabilità sql del database
Operazioni di base su una singola regola Database utente Baseline delle regole di valutazione della vulnerabilità sql del database
Operazioni di base su una singola regola Database di sistema Baseline delle regole di valutazione della vulnerabilità SQL
Baseline delle regole di valutazione della vulnerabilità SQL
Risultati di analisi singola Database utente Risultato dell'analisi della valutazione della vulnerabilità sql del database
Risultati di analisi singola Database di sistema Risultato dell'analisi della valutazione della vulnerabilità Sql
Dettagli analisi (riepilogo) Database utente Analisi della valutazione della vulnerabilità sql del database
Dettagli analisi (riepilogo) Database di sistema Analisi di valutazione della vulnerabilità sql
Eseguire l'analisi manuale Database utente Analisi di esecuzione della valutazione della vulnerabilità sql del database
Eseguire l'analisi manuale Database di sistema Analisi di esecuzione della valutazione della vulnerabilità sql
Impostazioni dell'archiviazione automatica (GET è supportato solo per Express Configuration) Database utente Valutazioni della vulnerabilità sql del database Impostazioni
Operazioni di Impostazioni va Server Valutazioni delle vulnerabilità sql Impostazioni
Valutazioni delle vulnerabilità sql

Uso di modelli di Azure Resource Manager

Usare il modello di Resource Manager seguente per creare un nuovo server logico SQL di Azure con configurazione rapida per la valutazione della vulnerabilità di SQL.

Per configurare le baseline di valutazione della vulnerabilità usando i modelli di Azure Resource Manager, usare il Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines tipo . Assicurarsi che sia abilitato prima di vulnerabilityAssessments aggiungere linee di base.

Di seguito sono riportati alcuni esempi per configurare le linee di base usando i modelli di Resource Manager:

  • Configurare la linea di base batch in base ai risultati dell'analisi più recenti:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    
  • Configurare la linea di base batch in base a risultati specifici:

    {
        "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"
                ]
            ]
         }
      }
    }
    
  • Configurare la linea di base per una regola specifica:

    {
        "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" ]
            ]
        }
    }
    
  • Configurare le baseline batch nel database master in base ai risultati dell'analisi più recenti:

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

Utilizzo di PowerShell

La configurazione rapida non è supportata nei cmdlet di PowerShell, ma è possibile usare PowerShell per richiamare le funzionalità di valutazione della vulnerabilità più recenti usando l'API REST, ad esempio:

Utilizzare l'interfaccia della riga di comando di Azure

Richiamare la configurazione rapida usando l'interfaccia della riga di comando di Azure.

Risoluzione dei problemi

Ripristinare la configurazione classica

Per modificare un database SQL di Azure dalla configurazione di valutazione della vulnerabilità rapida alla configurazione classica:

  1. Disabilitare il piano Sql di Defender per Azure dal portale di Azure.

  2. Usare PowerShell per riconfigurare usando l'esperienza classica:

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

    Potrebbe essere necessario modificare Update-AzSqlServerVulnerabilityAssessmentSetting in base all'analisi di valutazione della vulnerabilità dell'archivio, un account di archiviazione accessibile dietro firewall e reti virtuali.

Errors

"Valutazione della vulnerabilità è abilitata in questo server o in uno dei relativi database sottostanti con una versione incompatibile"

Possibili cause:

  • Il passaggio alla configurazione rapida non è riuscito a causa di un errore dei criteri del server.

    Soluzione: riprovare per abilitare la configurazione rapida. Se il problema persiste, provare a disabilitare Microsoft Defender per SQL nella risorsa SQL di Azure, selezionare Salva, abilitare di nuovo Microsoft Defender per SQL e selezionare Salva.

  • Il passaggio alla configurazione rapida non è riuscito a causa di un errore dei criteri del database. I criteri di database non sono visibili nella valutazione della vulnerabilità di portale di Azure per Defender per SQL, quindi vengono controllati durante la fase di convalida del passaggio alla configurazione rapida.

    Soluzione: disabilitare tutti i criteri di database per il server pertinente e quindi provare a passare di nuovo alla configurazione rapida.

  • Prendere in considerazione l'uso dello script di PowerShell fornito per assistenza.

Configurazione classica

Visualizzare la cronologia analisi

Selezionare Cronologia analisi nel riquadro valutazione della vulnerabilità per visualizzare una cronologia di tutte le analisi eseguite in precedenza in questo database.

Disabilitare risultati specifici da Microsoft Defender per il cloud (anteprima)

Se l'organizzazione deve ignorare un risultato invece di correggerlo, è possibile disabilitarlo facoltativamente. I risultati disabilitati non influiscono sul punteggio di sicurezza e non generano elementi non significativi.

Quando un risultato corrisponde ai criteri definiti nelle regole di disabilitazione, non verrà visualizzato nell'elenco di risultati. Gli scenari tipici possono includere:

  • Disabilitare i risultati con gravità media o inferiore
  • Disabilitare i risultati che non sono applicabili a patch
  • Disabilitare i risultati dai benchmark che non sono di interesse per un ambito definito

Importante

  • Per disabilitare risultati specifici, sono necessarie autorizzazioni per modificare un criterio in Criteri di Azure. Per altre informazioni, vedere Autorizzazioni di controllo degli accessi in base al ruolo di Azure in Criteri di Azure.
  • I risultati disabilitati verranno comunque inclusi nel report settimanale sulla valutazione della vulnerabilità SQL.
  • Le regole disabilitate vengono visualizzate nella sezione "Non applicabile" dei risultati dell'analisi.

Per creare una regola:

  1. Nella pagina dei dettagli delle raccomandazioni per i risultati della valutazione della vulnerabilità nei server SQL nei computer deve essere corretto selezionare Disabilita regola.

  2. Selezionare l'ambito pertinente.

  3. Definire i criteri. È possibile usare uno dei criteri seguenti:

    • RICERCA DELL'ID
    • Gravità
    • Benchmark

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

  4. Selezionare Applica regola. Per rendere effettive le modifiche potrebbero essere necessarie fino a 24 ore.

  5. Per visualizzare, eseguire l'override o eliminare una regola:

    1. Selezionare Disabilita regola.

    2. Nell'elenco di ambiti le sottoscrizioni con regole attive vengono visualizzate come regola applicata.

      Screenshot of modify or delete an existing rule.

    3. Per visualizzare o eliminare la regola, selezionare il menu con i puntini di sospensione ("...").

Gestire le valutazioni delle vulnerabilità a livello di codice

Azure PowerShell

Nota

Questo articolo usa il modulo Azure Az PowerShell, che è il modulo PowerShell consigliato per interagire con Azure. Per iniziare a usare il modulo Az PowerShell, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Importante

Il modulo Di Azure Resource Manager di PowerShell è ancora supportato, ma tutto lo sviluppo futuro è destinato al modulo Az.Sql. Per informazioni su questi cmdlet, vedere AzureRM.Sql. Gli argomenti per i comandi nei moduli Az e AzureRm sono sostanzialmente identici.

È possibile usare i cmdlet di Azure PowerShell per gestire a livello di codice le valutazioni delle vulnerabilità. I cmdlet supportati sono:

Nome del cmdlet come collegamento Descrizione
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Ottiene la baseline della regola di valutazione della vulnerabilità.
Prima di tutto, impostare la linea di base prima di usare questo cmdlet per cancellarla.
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting Cancella le impostazioni di valutazione della vulnerabilità di un database.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Cancella la baseline delle regole di valutazione della vulnerabilità di un database gestito.
Prima di tutto, impostare la linea di base prima di usare questo cmdlet per cancellarla.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Cancella le impostazioni di valutazione della vulnerabilità di un database gestito.
Clear-AzSqlInstanceVulnerabilityAssessmentSetting Cancella le impostazioni di valutazione della vulnerabilità di un'istanza gestita.
Convert-AzSqlDatabaseVulnerabilityAssessmentScan Converte i risultati dell'analisi della valutazione della vulnerabilità di un database in un file di Excel (esportazione).
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Converte i risultati dell'analisi della valutazione della vulnerabilità di un database gestito in un file di Excel (esportazione).
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Ottiene la baseline della regola di valutazione della vulnerabilità di un database per una determinata regola.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Ottiene la baseline della regola di valutazione della vulnerabilità di un database gestito per una determinata regola.
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord Ottiene tutti i record di analisi della valutazione della vulnerabilità associati a un determinato database.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord Ottiene tutti i record di analisi della valutazione della vulnerabilità associati a un determinato database gestito.
Get-AzSqlDatabaseVulnerabilityAssessmentSetting Restituisce le impostazioni di valutazione della vulnerabilità di un database.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Restituisce le impostazioni di valutazione della vulnerabilità di un database gestito.
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Imposta la baseline della regola di valutazione della vulnerabilità.
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Imposta la baseline delle regole di valutazione della vulnerabilità per un database gestito.
Start-AzSqlDatabaseVulnerabilityAssessmentScan Attiva l'avvio di un'analisi di valutazione della vulnerabilità in un database.
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Attiva l'avvio di un'analisi di valutazione della vulnerabilità in un database gestito.
Update-AzSqlDatabaseVulnerabilityAssessmentSetting Aggiornamenti le impostazioni di valutazione della vulnerabilità di un database.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Aggiornamenti le impostazioni di valutazione della vulnerabilità di un database gestito.
Update-AzSqlInstanceVulnerabilityAssessmentSetting Aggiornamenti le impostazioni di valutazione della vulnerabilità di un'istanza gestita.

Per un esempio di script, vedere Il supporto di PowerShell per la valutazione della vulnerabilità di Azure SQL.

Interfaccia della riga di comando di Azure

Importante

I comandi dell'interfaccia della riga di comando di Azure seguenti sono destinati ai database SQL ospitati in macchine virtuali o computer locali. Per le valutazioni delle vulnerabilità relative alle database SQL di Azure, vedere la sezione portale di Azure o PowerShell.

È possibile usare i comandi dell'interfaccia della riga di comando di Azure per gestire a livello di codice le valutazioni delle vulnerabilità. I comandi supportati sono:

Nome del comando come collegamento Descrizione
az security va sql baseline delete Eliminare la baseline delle regole di valutazione della vulnerabilità SQL.
az security va sql baseline list Visualizzare la baseline di valutazione della vulnerabilità SQL per tutte le regole.
az security va sql baseline set Imposta la baseline di valutazione della vulnerabilità SQL. Sostituisce la linea di base corrente.
az security va sql baseline show Visualizzare la baseline delle regole di valutazione della vulnerabilità SQL.
az security va sql baseline update Aggiornare la baseline delle regole di valutazione della vulnerabilità SQL. Sostituisce la linea di base della regola corrente.
az security va sql results list Visualizzare tutti i risultati dell'analisi della valutazione della vulnerabilità SQL.
az security va sql results show Visualizzare i risultati dell'analisi della valutazione della vulnerabilità SQL.
az security va sql scans list Elencare tutti i riepiloghi dell'analisi della valutazione della vulnerabilità SQL.
az security va sql scans show Visualizzare i riepiloghi dell'analisi della valutazione della vulnerabilità SQL.

Modelli di Resource Manager

Per configurare le baseline di valutazione della vulnerabilità usando i modelli di Azure Resource Manager, usare il Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines tipo .

Assicurarsi di aver abilitato vulnerabilityAssessments prima di aggiungere linee di base.

Di seguito è riportato un esempio per la definizione della regola di base VA2065 nel master database e va1143 nel user database come risorse in un modello di Resource Manager:

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

Per master database e user database, i nomi delle risorse vengono definiti in modo diverso:

  • Database master - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
  • Database utente - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",

Per gestire i tipi booleani come true/false, impostare il risultato della linea di base con input binario come "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"
               ]
            }
         ]
      }

   }

Passaggi successivi