Administración de los resultados de vulnerabilidades en las bases de datos de Azure SQL
Microsoft Defender for Cloud proporciona una evaluación de vulnerabilidades para las bases de datos de Azure SQL. La evaluación de vulnerabilidades examina las bases de datos en busca de vulnerabilidades de software y proporciona una lista de resultados. Puede usar los resultados para corregir las vulnerabilidades de software y deshabilitar los resultados.
Requisitos previos
Asegúrese de que sabe si usa las configuraciones rápidas o clásicas antes de continuar.
Para ver qué configuración usa:
- En Azure Portal, abra el recurso específico de Azure SQL Database, SQL Managed Instance o Azure Synapse.
- En el encabezado Seguridad, seleccione Defender for Cloud.
- En Estado de habilitación, seleccione Configurar en el vínculo para abrir el panel de configuración de Microsoft Defender para SQL para todo el servidor o la instancia administrada.
Si la configuración de vulnerabilidad muestra la opción para configurar una cuenta de almacenamiento, significa que usa la configuración clásica. Si no es así, usa la configuración rápida.
Configuración rápida
Visualización del historial de exámenes
Seleccione Historial de exámenes en el panel Evaluación de vulnerabilidades para ver el historial de todos los exámenes ejecutados previamente en esta base de datos.
La configuración rápida no almacena los resultados del examen si son idénticos a los exámenes anteriores. La hora de examen que se muestra en el historial de exámenes es la hora del último examen en el que cambiaron los resultados.
Deshabilitación de resultados específicos de Microsoft Defender for Cloud (versión preliminar)
Si tiene la necesidad organizativa de omitir un resultado, en lugar de corregirlo, puede deshabilitarlo. Los resultados deshabilitados no afectan a la puntuación de seguridad ni generan ruido no deseado. Puede ver el resultado deshabilitado en la sección "No aplicable" de los resultados del examen.
Cuando un resultado coincide con los criterios que ha definido en las reglas de deshabilitación, no aparecerá en la lista de resultados. Los escenarios típicos pueden incluir:
- Deshabilitación de los resultados con gravedad media o inferior
- Deshabilitar resultados que no se pueden revisar
- Deshabilitar resultados de los puntos de referencia que no son de interés para un ámbito definido
Importante
Para deshabilitar conclusiones específicas, necesita permisos para editar directivas en Azure Policy. Obtenga más información en Permisos de Azure RBAC en Azure Policy.
Para crear una regla:
En la página de detalles de recomendaciones de Es necesario corregir los resultados de la evaluación de vulnerabilidades de los servidores SQL Server en las máquinas, seleccione Deshabilitar regla.
Seleccione el ámbito pertinente.
Defina los criterios. Puede utilizar cualquiera de los criterios siguientes:
- Identificador del resultado
- severity
- Pruebas comparativas
Creación de una regla de deshabilitación para los resultados de VA en servidores SQL Server en máquinas virtuales
Seleccione Aplicar regla. Los cambios pueden tardar hasta 24 horas en surtir efecto.
Para ver, invalidar o eliminar una regla:
- Seleccione Deshabilitar regla.
- En la lista de ámbitos, las suscripciones con reglas activas se muestran como Regla aplicada.
- Para ver o eliminar la regla, seleccione el menú de puntos suspensivos ("...").
Configuración de notificaciones por correo electrónico mediante Azure Logic Apps
Para recibir actualizaciones periódicas del estado de evaluación de vulnerabilidades de la base de datos, puede usar la plantilla personalizable de Azure Logic Apps.
El uso de la plantilla le permitirá:
- Elegir el calendario de los informes de correo electrónico.
- Tener una visión coherente del estado de evaluación de vulnerabilidades que incluye reglas deshabilitadas.
- Enviar informes para servidores de Azure SQL y máquinas virtuales SQL.
- Personalizar la estructura del informe y la apariencia para que coincidan con los estándares de la organización.
Administración de las evaluaciones de vulnerabilidades mediante programación
La configuración rápida se admite en la versión más reciente de la API de REST con la siguiente funcionalidad:
Utilización de plantillas del Administrador de recursos de Azure
Use la siguiente plantilla de ARM para crear un nuevo servidor lógico Azure SQL con configuración rápida para la evaluación de vulnerabilidades de SQL.
Para configurar las bases de referencia de evaluación de vulnerabilidades mediante plantillas de Azure Resource Manager, use el tipo Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
. Antes de agregar líneas de base, asegúrese de que vulnerabilityAssessments
está habilitado.
Estos son varios ejemplos de cómo configurar líneas de base mediante plantillas de ARM:
Configure la línea de base por lotes en función de los resultados del último examen:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
Configure la línea de base por lotes en función de resultados específicos:
{ "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" ] ] } } }
Configure la línea de base para una regla específica:
{ "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" ] ] } }
Configure líneas de base por lotes en la base de datos maestra en función de los resultados del último examen:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
Usar PowerShell
La configuración rápida no se admite en los cmdlets de PowerShell, pero puede usar PowerShell para invocar las funcionalidades de evaluación de vulnerabilidades más recientes mediante la API de REST, por ejemplo:
- Habilitar la configuración rápida en un servidor de Azure SQL Server
- Configurar líneas de base basadas en los resultados del último examen de todas las bases de datos de un servidor de Azure SQL Server
- Referencia de comandos del PowerShell de configuración rápida
Uso de la CLI de Azure
Invocación de la configuración rápida mediante la CLI de Azure.
Solución de problemas
Revertir a la configuración clásica
Para cambiar una base de datos de Azure SQL de la configuración rápida de evaluación de vulnerabilidades a la configuración clásica:
Deshabilite el plan de Defender para Azure SQL en Azure Portal.
Use PowerShell para volver establecer la configuración mediante la experiencia clásica:
Update-AzSqlServerAdvancedThreatProtectionSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -Enable 1 Update-AzSqlServerVulnerabilityAssessmentSetting ` -ResourceGroupName "demo-rg" ` -ServerName "dbsrv1" ` -StorageAccountName "mystorage" ` -RecurringScansInterval Weekly ` -ScanResultsContainerName "vulnerability-assessment"
Es posible que tenga que ajustar
Update-AzSqlServerVulnerabilityAssessmentSetting
de acuerdo con examen de evaluación de vulnerabilidades del almacén da como resultado una cuenta de almacenamiento accesible detrás de firewalls y redes virtuales.
Errors
"La evaluación de vulnerabilidades está habilitada en este servidor o en una de sus bases de datos subyacentes con una versión incompatible"
Causas posibles:
Error al cambiar a la configuración rápida debido a un problema con la directiva del servidor.
Solución: vuelva a intentar habilitar la configuración rápida. Si el problema persiste, intente deshabilitar Microsoft Defender para SQL en el recurso de Azure SQL, seleccione Guardar, habilite Microsoft Defender para SQL de nuevo y seleccione Guardar.
Error al cambiar a la configuración rápida debido a un problema con la directiva de la base de datos. Las directivas de base de datos no se muestran en Azure Portal para la evaluación de vulnerabilidades de Defender para SQL, por lo que las comprobamos durante la fase de validación al cambiar a la configuración rápida.
Solución: deshabilite todas las directivas de base de datos para el servidor pertinente e intente cambiar de nuevo a la configuración rápida.
Considere usar el script de PowerShell proporcionado para obtener ayuda.
Configuración clásica
Visualización del historial de exámenes
Seleccione Historial de exámenes en el panel Evaluación de vulnerabilidades para ver el historial de todos los exámenes ejecutados previamente en esta base de datos.
Deshabilitación de resultados específicos de Microsoft Defender for Cloud (versión preliminar)
Si tiene la necesidad organizativa de omitir un resultado, en lugar de corregirlo, tiene la opción de deshabilitarlo. Los resultados deshabilitados no afectan a la puntuación de seguridad ni generan ruido no deseado.
Cuando un resultado coincide con los criterios que ha definido en las reglas de deshabilitación, no aparecerá en la lista de resultados. Los escenarios típicos pueden incluir:
- Deshabilitación de los resultados con gravedad media o inferior
- Deshabilitar resultados que no se pueden revisar
- Deshabilitar resultados de los puntos de referencia que no son de interés para un ámbito definido
Importante
- Para deshabilitar conclusiones específicas, necesita permisos para editar directivas en Azure Policy. Obtenga más información en Permisos de Azure RBAC en Azure Policy.
- Los resultados deshabilitados se seguirán incluyendo en el informe semanal de correo electrónico de evaluación de vulnerabilidades de SQL.
- Las reglas deshabilitadas se muestran en la sección "No aplicable" de los resultados del examen.
Para crear una regla:
En la página de detalles de recomendaciones de Es necesario corregir los resultados de la evaluación de vulnerabilidades de los servidores SQL Server en las máquinas, seleccione Deshabilitar regla.
Seleccione el ámbito pertinente.
Defina los criterios. Puede utilizar cualquiera de los criterios siguientes:
- Identificador del resultado
- severity
- Pruebas comparativas
Seleccione Aplicar regla. Los cambios pueden tardar hasta 24 horas en surtir efecto.
Para ver, invalidar o eliminar una regla:
Seleccione Deshabilitar regla.
En la lista de ámbitos, las suscripciones con reglas activas se muestran como Regla aplicada.
Para ver o eliminar la regla, seleccione el menú de puntos suspensivos ("...").
Administración de las evaluaciones de vulnerabilidades mediante programación
Azure PowerShell
Nota:
En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Importante
El módulo de Azure Resource Manager para PowerShell todavía es compatible, pero todo el desarrollo futuro se realizará para el módulo Az.Sql. Para estos cmdlets, consulte AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos.
Puede usar los cmdlets de Azure PowerShell para administrar mediante programación sus evaluaciones de vulnerabilidad. Los cmdlets compatibles son:
Nombre del cmdlet como vínculo | Descripción |
---|---|
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Borra la base de referencia de la regla de evaluación de vulnerabilidad. En primer lugar, establezca la línea de base antes de usar este cmdlet para eliminarla. |
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting | Borra la configuración de evaluación de vulnerabilidades de una base de datos. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Borra la base de referencia de la regla de evaluación de vulnerabilidades de una base de datos administrada. En primer lugar, establezca la línea de base antes de usar este cmdlet para eliminarla. |
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Borra la configuración de la evaluación de vulnerabilidades de una base de datos administrada. |
Clear-AzSqlInstanceVulnerabilityAssessmentSetting | Borra la configuración de la evaluación de vulnerabilidades de una instancia administrada. |
Convert-AzSqlDatabaseVulnerabilityAssessmentScan | Convierte los resultados del examen de evaluación de vulnerabilidades de una base de datos en un archivo de Excel (exportar). |
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Convierte los resultados del examen de evaluación de vulnerabilidades de una base de datos administrada en un archivo de Excel (exportar). |
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Obtiene la base de referencia de la regla de evaluación de vulnerabilidades de una base de datos para una regla determinada. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Obtiene la base de referencia de la regla de evaluación de vulnerabilidades de una base de datos administrada para una regla determinada. |
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord | Obtiene todos los registros de examen de evaluación de vulnerabilidades asociados con una base de datos dada. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord | Obtiene todos los registros de examen de evaluación de vulnerabilidades asociados con una base de datos administrada dada. |
Get-AzSqlDatabaseVulnerabilityAssessmentSetting | Devuelve la configuración de la evaluación de vulnerabilidades de una base de datos. |
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Devuelve la configuración de la evaluación de vulnerabilidad de una base de datos administrada. |
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline | Establece la base de referencia de la regla de evaluación de vulnerabilidad. |
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline | Establece la base de referencia de la regla de evaluación de vulnerabilidades de una base de datos administrada. |
Start-AzSqlDatabaseVulnerabilityAssessmentScan | Desencadena el inicio de un examen de evaluación de vulnerabilidades en una base de datos. |
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Desencadena el inicio de un examen de evaluación de vulnerabilidades en una base de datos administrada. |
Update-AzSqlDatabaseVulnerabilityAssessmentSetting | Actualiza la configuración de evaluación de vulnerabilidades de una base de datos. |
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting | Actualiza la configuración de la evaluación de vulnerabilidades de una base de datos administrada. |
Update-AzSqlInstanceVulnerabilityAssessmentSetting | Actualiza la configuración de la evaluación de vulnerabilidades de una instancia administrada. |
Para obtener un ejemplo de script, consulte la página de soporte técnico de PowerShell para la evaluación de vulnerabilidades de Azure SQL.
Azure CLI
Importante
Los siguientes comandos de la CLI de Azure son para bases de datos SQL hospedadas en máquinas virtuales o máquinas locales. Para obtener evaluaciones de vulnerabilidad con respecto a instancias de Azure SQL Database, consulte la sección de Azure Portal o PowerShell.
Puede usar los comandos de la CLI de Azure para administrar mediante programación sus evaluaciones de vulnerabilidad. Estos son los comandos admitidos:
Nombre del comando como vínculo | Descripción |
---|---|
az security va sql baseline delete |
Permite eliminar la línea de base de la regla de evaluación de vulnerabilidades de SQL. |
az security va sql baseline list |
Permite ver la línea de base de evaluación de vulnerabilidades de SQL para todas las reglas. |
az security va sql baseline set |
Permite establecer la línea de base de la evaluación de vulnerabilidades de SQL. Permite reemplazar la línea de base actual. |
az security va sql baseline show |
Permite ver la línea de base de la regla de evaluación de vulnerabilidades de SQL. |
az security va sql baseline update |
Permite actualizar la línea de base de la regla de evaluación de vulnerabilidades de SQL. Permite reemplazar la línea de base de la regla actual. |
az security va sql results list |
Permite ver los resultados del examen de la evaluación de vulnerabilidades de SQL. |
az security va sql results show |
Permite ver los resultados del examen de la evaluación de vulnerabilidades de SQL. |
az security va sql scans list |
Permite enumerar los resúmenes del examen de la evaluación de vulnerabilidades de SQL. |
az security va sql scans show |
Permite ver los resúmenes del examen de la evaluación de vulnerabilidades de SQL. |
Plantillas de Resource Manager
Para configurar las bases de referencia de evaluación de vulnerabilidades mediante plantillas de Azure Resource Manager, use el tipo Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines
.
Antes de agregar líneas base, asegúrese de haber habilitado vulnerabilityAssessments
.
Este es un ejemplo para definir la regla de línea de base VA2065 en la base de datos master
y VA1143 en la base de datos user
como recursos en una plantilla de 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"
]
}
]
}
}
]
En la base de datos master
y la base de datos user
, los nombres de los recursos se definen de forma diferente:
- Base de datos maestra: "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
- Base de datos de usuario: "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",
Para controlar tipos de booleanos como true o false, establezca el resultado de la línea de base con entrada binaria como "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"
]
}
]
}
}
Contenido relacionado
- Más información sobre Microsoft Defender para Azure SQL
- Más información sobre la clasificación y detección de datos
- Más información sobre el Almacenamiento de los resultados del examen de evaluación de vulnerabilidad en una cuenta de almacenamiento accesible detrás de firewalls y redes virtuales
- Consulte las preguntas más frecuentes sobre bases de datos de Azure SQL.