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:

  1. En Azure Portal, abra el recurso específico de Azure SQL Database, SQL Managed Instance o Azure Synapse.

  2. En el encabezado Seguridad, seleccione Defender for Cloud.

  3. 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.

    Opening the Defender for SQL configuration

    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.

  4. En la página Configuración del servidor, defina la configuración de Microsoft Defender para SQL:

    Configuring the SQL vulnerability assessment scans

    1. 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.

    2. 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.

  5. Los exámenes de evaluación de vulnerabilidades de SQL también se pueden ejecutar a petición:

    1. 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.

      Opening the scan results and manual scan options

    2. Para ejecutar un examen a petición para detectar vulnerabilidades en la base de datos, seleccione Examinar en la barra de herramientas:

      Select scan to run an on-demand vulnerability assessment scan of your SQL resource

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

Sampl scan report from the SQL vulnerability assessment scanner

Para corregir las vulnerabilidades detectadas:

  1. Revise los resultados y determine qué conclusiones del informe son verdaderos problemas de seguridad para su entorno.

  2. 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.

    Examining the findings from a vulnerability scan

  3. 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.

    Approving a finding as a baseline for future scans

  4. 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.

    Passed assessments indicating they've passed per custom baseline

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:

  1. 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.

  2. Seleccione el ámbito pertinente.

  3. Defina los criterios. Puede utilizar cualquiera de los criterios siguientes:

    • Identificador del resultado
    • severity
    • Pruebas comparativas

    Create a disable rule for VA findings on SQL servers on machines

  4. Seleccione Aplicar regla. Los cambios pueden tardar hasta 24 horas en surtir efecto.

  5. Para ver, invalidar o eliminar una regla:

    1. Seleccione Deshabilitar regla.

    2. En la lista de ámbitos, las suscripciones con reglas activas se muestran como Regla aplicada.

      Modify or delete an existing rule

    3. 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