Condividi tramite


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. Nel portale di Azure, aprire la risorsa specifica nel database SQL di Azure, nel database dell'istanza gestita di SQL o in Azure Synapse.
  2. Nell'intestazione Sicurezza, selezionare Defender for 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
  • Disabilita i risultati a cui non è possibile applicare patch
  • Disabilitare i risultati dei benchmark che non sono di interesse per un determinato ambito

Importante

Per disabilitare risultati specifici, sono necessarie le 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 utilizzare 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. L'applicazione delle modifiche potrebbe richiedere fino a 24 ore.

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

    1. Selezionare Disabilita regola.
    2. Nell'elenco degli 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 Scope 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 Impostazioni di valutazione della vulnerabilità sql del database
Operazioni relative alle impostazioni di valutazione delle istanze di Azure Server Impostazioni di valutazione della vulnerabilità sql
Valutazioni delle vulnerabilità sql

Usare i 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
            }
    }
    

Con 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:

Uso dell'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 cambiare un database Azure SQL dalla configurazione rapida di valutazione della vulnerabilità alla configurazione classica:

  1. Disattivare il piano Defender per Azure SQL dal portale di Azure.

  2. Utilizzare PowerShell per riconfigurare 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.

Errori

"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
  • Disabilita i risultati a cui non è possibile applicare patch
  • Disabilitare i risultati dei benchmark che non sono di interesse per un determinato ambito

Importante

  • Per disabilitare risultati specifici, sono necessarie le 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 utilizzare uno dei criteri seguenti:

    • Ricerca dell'ID
    • Gravità
    • Benchmark

    Screenshot della creazione di una regola di disabilitazione per i risultati delle istanze di valutazione dei dati nei server SQL nei computer.

  4. Selezionare Applica regola. L'applicazione delle modifiche potrebbe richiedere 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 della modifica o dell'eliminazione di una regola esistente.

    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 di PowerShell Azure Az consigliato per l'interazione 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 Azure Resource Manager di PowerShell è ancora supportato, ma tutte le future attività di sviluppo sono incentrate sul 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 Aggiorna le impostazioni di valutazione della vulnerabilità di un database.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Aggiorna le impostazioni di valutazione della vulnerabilità di un database gestito.
Update-AzSqlInstanceVulnerabilityAssessmentSetting Aggiorna 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"
               ]
            }
         ]
      }

   }