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:
- Nel portale di Azure, aprire la risorsa specifica nel database SQL di Azure, nel database dell'istanza gestita di SQL o in Azure Synapse.
- Nell'intestazione Sicurezza, selezionare Defender for Cloud.
- 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:
Nella pagina dei dettagli delle raccomandazioni per i risultati della valutazione della vulnerabilità nei server SQL nei computer deve essere corretto selezionare Disabilita regola.
Selezionare l'ambito pertinente.
Definire i criteri. È possibile utilizzare uno dei criteri seguenti:
- Ricerca dell'ID
- Gravità
- Benchmark
Creare una regola di disabilitazione per i risultati delle istanze di valutazione dei dati nei server SQL nei computer
Selezionare Applica regola. L'applicazione delle modifiche potrebbe richiedere fino a 24 ore.
Per visualizzare, eseguire l'override o eliminare una regola:
- Selezionare Disabilita regola.
- Nell'elenco degli ambiti, le sottoscrizioni con regole attive vengono visualizzate come Regola applicata.
- 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:
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:
- Abilitare la configurazione rapida in un'istanza di SQL Server di Azure
- Configurare le linee di base in base ai risultati più recenti dell'analisi per tutti i database in un'istanza di SQL Server di Azure
- Informazioni di riferimento sui comandi di PowerShell per la configurazione rapida
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:
Disattivare il piano Defender per Azure SQL dal portale di Azure.
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:
Nella pagina dei dettagli delle raccomandazioni per i risultati della valutazione della vulnerabilità nei server SQL nei computer deve essere corretto selezionare Disabilita regola.
Selezionare l'ambito pertinente.
Definire i criteri. È possibile utilizzare uno dei criteri seguenti:
- Ricerca dell'ID
- Gravità
- Benchmark
Selezionare Applica regola. L'applicazione delle modifiche potrebbe richiedere fino a 24 ore.
Per visualizzare, eseguire l'override o eliminare una regola:
Selezionare Disabilita regola.
Nell'elenco di ambiti, le sottoscrizioni con regole attive vengono visualizzate come regola applicata.
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"
]
}
]
}
}
Contenuto correlato
- Altre informazioni su Microsoft Defender per Azure SQL.
- Altre informazioni su Individuazione dati e classificazione.
- Altre informazioni sull’archiviazione dei risultati dell'analisi di valutazione della vulnerabilità in un account di archiviazione accessibile dietro i firewall e le reti virtuali.
- Vedere domande comuni sui database SQL di Azure.