La evaluación de vulnerabilidades de SQL ayuda a identificar los puntos vulnerables de la base de datos
SE APLICA A:
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
La evaluación de vulnerabilidades de SQL es un servicio fácil de configurar que puede detectar y corregir posibles puntos vulnerables en la base de datos, así como realizar un seguimiento de estos. Úsela para mejorar la seguridad de la base de datos de manera proactiva.
La evaluación de vulnerabilidades forma parte de la oferta Microsoft Defender para SQL, que es un paquete unificado de funcionalidades de seguridad avanzadas de SQL. Se puede acceder a la evaluación de vulnerabilidades y administrarla a través del portal central de Microsoft Defender para SQL.
Nota:
Se admite la evaluación de vulnerabilidades para Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics. En lo que resta de artículo, se hace referencia a las bases de datos de Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics colectivamente como "bases de datos", y por servidor se entiende el servidor donde se hospedan las bases de datos de Azure SQL Database y Azure Synapse.
¿Qué es la evaluación de vulnerabilidades de SQL?
La evaluación de vulnerabilidades de SQL es un servicio que proporciona visibilidad del estado de seguridad. La evaluación de vulnerabilidades incluye pasos procesables para resolver problemas de seguridad y mejorar la seguridad de la base de datos. Puede ayudarle a supervisar un entorno de base de datos dinámico en el que es difícil realizar un seguimiento de los cambios y mejorar su posición de seguridad de SQL.
La evaluación de vulnerabilidad es un servicio de detección integrado en Azure SQL Database. Este servicio emplea una base de conocimiento de reglas que marcan las vulnerabilidades de seguridad. Se resaltan las desviaciones de los procedimientos recomendados, como configuraciones inadecuadas, permisos excesivos y datos confidenciales desprotegidos.
Las reglas se basan en los procedimientos recomendados de Microsoft y se centran en los problemas de seguridad que presentan mayores riesgos para la base de datos y sus valiosos datos. Tratan los problemas de nivel de base de datos y los problemas de seguridad de nivel de servidor, como la configuración del firewall de servidor y los permisos de nivel de servidor.
Los resultados del examen incluyen pasos que requieren acción para corregir cada uno de los problemas y proporcionan scripts de solución personalizados donde sea aplicable. Para personalizar un informe de evaluación de su entorno, debe establecer una línea de base aceptable de lo siguiente:
- Configuraciones de permisos
- Configuraciones de características
- Configuración de base de datos
Configuración de la evaluación de vulnerabilidades
Realice los siguientes pasos para configurar la evaluación de vulnerabilidades:
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.
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.
Nota:
La evaluación de vulnerabilidades de SQL requiere el plan Microsoft Defender para SQL para poder ejecutar exámenes. Para obtener más información sobre cómo habilitar Microsoft Defender para SQL, consulte Microsoft Defender para SQL.
En la página Configuración del servidor, defina la configuración de Microsoft Defender para SQL:
Configure una cuenta de almacenamiento en la que se almacenarán los resultados del examen de todas las bases de datos del servidor o instancia administrada. Para más información sobre las cuentas de almacenamiento, vea Acerca de las cuentas de almacenamiento de Azure.
Sugerencia
Para obtener más información sobre el almacenamiento de exámenes de evaluación de vulnerabilidades detrás de firewalls y redes virtuales, consulte Almacenamiento de los resultados del examen de evaluación de vulnerabilidad en una cuenta de almacenamiento accesible detrás de firewalls y redes virtuales.
Para configurar las evaluaciones de vulnerabilidades para que ejecuten exámenes semanales de forma automática para detectar configuraciones de seguridad incorrectas, establezca Exámenes periódicos en Activado. Los resultados se envían a las direcciones de correo electrónico que especifica en Enviar informes de examen a. También puede enviar por correo electrónico una notificación a los administradores y a los propietarios de la suscripción habilitando Enviar también por correo electrónico una notificación a los administradores y a los propietarios de la suscripción.
Los exámenes de evaluación de vulnerabilidades de SQL también se pueden ejecutar a petición:
En la página Defender for Cloud del recurso, seleccione View additional findings in Vulnerability Assessment (Ver conclusiones adicionales de la evaluación de vulnerabilidades) para acceder a los resultados de exámenes anteriores.
Para ejecutar un examen a petición para detectar vulnerabilidades en la base de datos, seleccione Examinar en la barra de herramientas:
Nota:
El examen es ligero y seguro. Tarda unos segundos en ejecutarse y es completamente de lectura. No realiza ningún cambio en la base de datos.
Corrección de vulnerabilidades
Cuando se completa un examen de vulnerabilidades, el informe se muestra en Azure Portal. El informe presenta lo siguiente:
- Una visión general del estado de seguridad
- El número de problemas encontrados
- Un resumen de los riesgos por gravedad
- Una lista de conclusiones para otras investigaciones
Para corregir las vulnerabilidades detectadas:
Revise los resultados y determine qué conclusiones del informe son verdaderos problemas de seguridad para su entorno.
Seleccione cada uno de los resultados erróneos para comprender su impacto y por qué se produjo un error en la comprobación de seguridad.
Sugerencia
En la página de detalles de las conclusiones se incluye información de corrección procesable que explica cómo resolver el problema.
Cuando revise los resultados de la evaluación, puede marcar los resultados específicos como una línea de base aceptable en su entorno. La base de referencia es fundamentalmente una personalización de cómo se notifican los resultados. Los resultados que coinciden con la base de referencia se consideran efectuados en exámenes posteriores. Una vez establecido el estado de seguridad de la base de referencia, la evaluación de vulnerabilidades solo informa de las desviaciones con respecto a esa base de referencia. De esta manera, podrá centrar su atención en los problemas relevantes.
Si cambia las bases de referencia, use el botón Examinar para ejecutar un examen a petición y ver el informe personalizado. Todas las conclusiones que haya agregado a la base de referencia ahora aparecerán en Efectuado con una indicación de que han realizado debido a los cambios de base de referencia.
Los exámenes de evaluación de vulnerabilidades ahora pueden usarse para supervisar que la base de datos mantiene un alto nivel de seguridad y que se cumplen las directivas de la organización.
Capacidades avanzadas
Exportación de un informe de evaluación
Seleccione Exportar resultados del examen para crear un informe de Excel del resultado del examen que se pueda descargar. Este informe contiene una pestaña de resumen que muestra un resumen de la evaluación, incluidas todas las comprobaciones con errores. También incluye una pestaña Resultados, que refleja el conjunto completo de resultados del examen. Los resultados incluyen todas las comprobaciones que se han ejecutado y los detalles de resultado de cada una de ellas.
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. Seleccione un examen concreto en la lista para ver los resultados detallados del examen.
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. Entre los escenarios típicos se incluyen:
- Deshabilitar resultados con gravedad inferior a media
- 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
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
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. |
| Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan | Convierte los resultados del examen de evaluación de vulnerabilidades de una base de datos administrada en un archivo de Excel. |
| 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.
Uso de 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/vulnerabilityAssessments/rules/baselines",
"apiVersion": "2018-06-01-preview",
"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/vulnerabilityAssessments/rules/baselines",
"apiVersion": "2018-06-01-preview",
"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/vulnerabilityAssessments/rules/baselines",
"apiVersion": "2018-06-01-preview",
"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"
]
}
]
}
}
Permisos
Uno de los siguientes permisos es necesario para ver los resultados de la evaluación de vulnerabilidades en la recomendación de Microsoft Defender for Cloud SQL de que las bases de datos SQL deben tener los resultados de vulnerabilidad resueltos:
- Administrador de seguridad
- Lector de seguridad
Se requieren los permisos siguientes para guardar los cambios en la configuración de evaluación de vulnerabilidades:
- Administrador de seguridad SQL
- Lector de datos de blobs de almacenamiento
- Rol de propietario en la cuenta de almacenamiento
Los siguientes permisos son necesarios para abrir vínculos en notificaciones por correo electrónico sobre los resultados del examen o para ver los resultados del examen a nivel del recurso:
- Administrador de seguridad SQL
- Lector de datos de blobs de almacenamiento
Residencia de datos
La evaluación de vulnerabilidades de SQL consulta el servidor de SQL Server mediante consultas disponibles públicamente en recomendaciones de Microsoft Defender for Cloud para la evaluación de vulnerabilidades de SQL y almacena los resultados de la consulta. Los datos se almacenan en la cuenta de almacenamiento propiedad del usuario configurada.
La evaluación de vulnerabilidades de SQL permite especificar la región donde se almacenarán los datos eligiendo la ubicación de la cuenta de almacenamiento. El usuario es responsable de la seguridad y la resistencia de los datos de la cuenta de almacenamiento.
Pasos siguientes
- Obtenga más información sobre Microsoft Defender para SQL.
- Más información sobre la clasificación y detección de datos
- Obtenga 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.