La evaluación de vulnerabilidades de SQL ayuda a identificar los puntos vulnerables de la base de datos.SQL Vulnerability Assessment helps you identify database vulnerabilities

SE APLICA A: Azure SQL Database Azure SQL Managed Instance

La evaluación de vulnerabilidades de SQL es un servicio fácil de configurar que puede detectar, realizar un seguimiento y corregir posibles puntos vulnerables en la base de datos.SQL Vulnerability Assessment is an easy-to-configure service that can discover, track, and help you remediate potential database vulnerabilities. Úsela para mejorar la seguridad de la base de datos de manera proactiva.Use it to proactively improve your database security.

La evaluación de vulnerabilidades forma parte de la oferta Azure Defender for SQL, que es un paquete unificado de funcionalidades de seguridad avanzadas de SQL.Vulnerability Assessment is part of the Azure Defender for SQL offering, which is a unified package for advanced SQL security capabilities. Se puede acceder a la evaluación de vulnerabilidades y administrarla a través del portal central de Azure Defender for SQL.Vulnerability Assessment can be accessed and managed via the central Azure Defender for SQL portal.

Nota

Se admite la evaluación de vulnerabilidades para Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics.Vulnerability Assessment is supported for Azure SQL Database, Azure SQL Managed Instance, and 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.Databases in Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics are referred to collectively in the remainder of this article as databases, and the server is referring to the server that hosts databases for Azure SQL Database and Azure Synapse.

Evaluación de vulnerabilidadVulnerability Assessment

La evaluación de vulnerabilidades de SQL es un servicio que proporciona visibilidad del estado de seguridad.SQL Vulnerability Assessment is a service that provides visibility into your security state. La evaluación de vulnerabilidades incluye pasos procesables para resolver problemas de seguridad y mejorar la seguridad de la base de datos.Vulnerability Assessment includes actionable steps to resolve security issues and enhance your database security. En este sentido, le puede ayudar a:It can help you:

  • Satisfacer los requisitos de cumplimiento que requieren los informes de examen de base de datosMeet compliance requirements that require database scan reports.
  • Cumplir los estándares de privacidad de los datosMeet data privacy standards.
  • Supervisar un entorno de base de datos dinámico donde resulta difícil realizar un seguimiento de los cambiosMonitor a dynamic database environment where changes are difficult to track.

La evaluación de vulnerabilidad es un servicio de detección integrado en Azure SQL Database.Vulnerability Assessment is a scanning service built into Azure SQL Database. Este servicio emplea una base de conocimiento de reglas que marcan las vulnerabilidades de seguridad.The service employs a knowledge base of rules that flag security vulnerabilities. Se resaltan las desviaciones de los procedimientos recomendados, como configuraciones inadecuadas, permisos excesivos y datos confidenciales desprotegidos.It highlights deviations from best practices, such as misconfigurations, excessive permissions, and unprotected sensitive data.

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.The rules are based on Microsoft's best practices and focus on the security issues that present the biggest risks to your database and its valuable data. 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.They cover database-level issues and server-level security issues, like server firewall settings and server-level permissions. Estas reglas también representan muchos de los requisitos que deben cumplir diversos organismos reguladores para satisfacer los estándares de cumplimiento.These rules also represent many of the requirements from various regulatory bodies to meet their compliance standards.

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.Results of the scan include actionable steps to resolve each issue and provide customized remediation scripts where applicable. Para personalizar un informe de evaluación de su entorno, debe establecer una línea de base aceptable de lo siguiente:You can customize an assessment report for your environment by setting an acceptable baseline for:

  • Configuraciones de permisosPermission configurations
  • Configuraciones de característicasFeature configurations
  • Configuración de base de datosDatabase settings

Implementación de una evaluación de vulnerabilidadesImplement Vulnerability Assessment

Con los siguientes pasos se implementa una evaluación de vulnerabilidades:The following steps implement the vulnerability assessment:

1. Ejecución de un examen1. Run a scan

  1. Vaya al recurso de Azure SQL Database, Base de datos de instancia administrada de SQL o Azure Synapse en Azure Portal.Go to your Azure SQL Database, SQL Managed Instance Database, or Azure Synapse resource in the Azure portal.

  2. En el encabezado Seguridad, seleccione Security Center.Under the Security heading, select Security center.

  3. Luego, haga clic en Seleccionar almacenamiento en el panel Evaluación de vulnerabilidades para abrir el panel Configuración de la evaluación de vulnerabilidades de todo el servidor o instancia administrada.Then click Select Storage on the Vulnerability Assessment pane to open the Vulnerability Assessment settings pane for either the entire server or managed instance.

    Nota

    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.For more information about storing Vulnerability Assessment scans behind firewalls and VNets, see Store Vulnerability Assessment scan results in a storage account accessible behind firewalls and VNets.

  4. 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.Configure a storage account where your scan results for all databases on the server or managed instance will be stored. Para más información sobre las cuentas de almacenamiento, vea Acerca de las cuentas de almacenamiento de Azure.For information about storage accounts, see About Azure storage accounts. Una vez configurado el almacenamiento, seleccione Examinar para examinar la base de datos en busca de vulnerabilidades.After storage is configured, select Scan to scan your database for vulnerabilities.

Examen de una base de datos

Nota

El examen es ligero y seguro.The scan is lightweight and safe. Tarda unos segundos en ejecutarse y es completamente de lectura.It takes a few seconds to run and is entirely read-only. No realiza ningún cambio en la base de datos.It doesn't make any changes to your database.

2. Visualización del informe2. View the report

Una vez completado el examen, el informe del examen se muestra automáticamente en Azure Portal.When your scan is finished, your scan report is automatically displayed in the Azure portal. El informe presenta una visión general del estado de seguridad.The report presents an overview of your security state. En él se muestra el número de problemas encontrados y sus respectivos niveles de gravedad.It lists how many issues were found and their respective severities. Los resultados incluyen advertencias sobre las desviaciones con respecto a los procedimientos recomendados, así como una instantánea de la configuración relacionada con la seguridad, como las entidades de seguridad y los roles de base de datos y sus permisos asociados.Results include warnings on deviations from best practices and a snapshot of your security-related settings, such as database principals and roles and their associated permissions. El informe de examen también proporciona un mapa de los datos confidenciales detectados en la base de datos,The scan report also provides a map of sensitive data discovered in your database. e incluye recomendaciones para clasificar los datos por medio de la detección y clasificación de datos.It includes recommendations to classify that data by using data discovery and classification.

Visualización del informe

3. Análisis de resultados y solución de problemas3. Analyze the results and resolve issues

Revise los resultados y determine qué resultados del informe son, verdaderamente, problemas de seguridad en su entorno.Review your results and determine the findings in the report that are true security issues in your environment. Examine con detalle cada resultado erróneo para entender el impacto de la búsqueda y por qué se ha producido un error en las comprobaciones de seguridad.Drill down to each failed result to understand the impact of the finding and why each security check failed. Use la información de corrección que requiere acción que se proporciona en el informe para resolver el problema.Use the actionable remediation information provided by the report to resolve the issue.

Análisis del informe

4. Establecimiento de la línea base4. Set your baseline

Cuando revise los resultados de la evaluación, puede marcar los resultados específicos como una línea de base aceptable en su entorno.As you review your assessment results, you can mark specific results as being an acceptable baseline in your environment. La línea de base es fundamentalmente una personalización de cómo se notifican los resultados.The baseline is essentially a customization of how the results are reported. Los resultados que coinciden con la línea de base se consideran como correctos en análisis posteriores.Results that match the baseline are considered as passing in subsequent scans. Una vez establecido el estado de seguridad de línea de base, la evaluación de vulnerabilidades solo informa de las desviaciones con respecto a esa línea de base.After you've established your baseline security state, Vulnerability Assessment only reports on deviations from the baseline. De esta manera, podrá centrar su atención en los problemas relevantes.In this way, you can focus your attention on the relevant issues.

Establecimiento de la línea base

5. Ejecución de un nuevo examen para ver el informe de seguimiento personalizado5. Run a new scan to see your customized tracking report

Después de completar la configuración de sus líneas de base de la regla, ejecute un examen nuevo para ver el informe personalizado.After you finish setting up your Rule Baselines, run a new scan to view the customized report. Ahora, la evaluación de vulnerabilidades informa solo de los problemas de seguridad que se desvían de la línea de base aprobada.Vulnerability Assessment now reports only the security issues that deviate from your approved baseline state.

Visualización del informe personalizado

La evaluación de vulnerabilidad puede usarse ahora para supervisar que la base de datos mantenga un alto nivel de seguridad en todo momento y que se cumplan las directivas de la organización.Vulnerability Assessment can now be used to monitor that your database maintains a high level of security at all times, and that your organizational policies are met. Si se requieren informes de cumplimiento, los informes de evaluación de vulnerabilidades pueden ser útiles para facilitar el proceso de cumplimiento.If compliance reports are required, Vulnerability Assessment reports can be helpful to facilitate the compliance process.

6. Configuración de exámenes periódicos6. Set up periodic recurring scans

Vaya a la opción Evaluación de vulnerabilidades para activar Exámenes periódicos.Go to the Vulnerability Assessment settings to turn on Periodic recurring scans. Esta opción configura la evaluación de vulnerabilidades para ejecutar automáticamente un examen en la base de datos una vez por semana.This setting configures Vulnerability Assessment to automatically run a scan on your database once per week. Un resumen de los resultados de los exámenes se envía a las direcciones de correo electrónico que especifique.A scan result summary is sent to the email addresses you provide.

opción de exámenes periódicos

7. Exportación de un informe de evaluación7. Export an assessment report

Seleccione Exportar resultados del examen para crear un informe de Excel del resultado del examen que se pueda descargar.Select Export Scan Results to create a downloadable Excel report of your scan result. Este informe contiene una pestaña de resumen que muestra un resumen de la evaluación,This report contains a summary tab that displays a summary of the assessment. incluidas todas las comprobaciones con errores.The report includes all failed checks. También incluye una pestaña Resultados, que refleja el conjunto completo de resultados del examen.It also includes a Results tab that contains the full set of results from the scan. Los resultados incluyen todas las comprobaciones que se han ejecutado y los detalles de resultado de cada una de ellas.The results include all checks that were run and the result details for each.

8. Visualización del historial de exámenes8. View scan history

Seleccione Historial de exámenes en el panel Evaluación de vulnerabilidades para ver el historial de todos los exámenes ejecutados previamente en la base de datos.Select Scan History in the Vulnerability Assessment pane to view a history of all scans previously run on this database. Seleccione un examen concreto en la lista para ver los resultados detallados del examen.Select a particular scan in the list to view the detailed results of that scan.

La evaluación de vulnerabilidad puede usarse ahora para supervisar que la base de datos mantenga un alto nivel de seguridad en todo momento y que se cumplan las directivas de la organización.Vulnerability Assessment can now be used to monitor that your database maintains a high level of security at all times, and that your organizational policies are met. Si se requieren informes de cumplimiento, los informes de evaluación de vulnerabilidades pueden ser útiles para facilitar el proceso de cumplimiento.If compliance reports are required, Vulnerability Assessment reports can be helpful to facilitate the compliance process.

Administrar las evaluaciones de vulnerabilidades con Azure PowerShellManage vulnerability assessments by using Azure PowerShell

Nota

Este artículo se ha actualizado para usar el nuevo módulo Az de Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Aún puede usar el módulo de AzureRM que continuará recibiendo correcciones de errores hasta diciembre de 2020 como mínimo.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para más información acerca del nuevo módulo Az y la compatibilidad con AzureRM, consulte Introducing the new Azure PowerShell Az module (Presentación del nuevo módulo Az de Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obtener instrucciones sobre la instalación del módulo Az, consulte Instalación de Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

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.The PowerShell Azure Resource Manager module is still supported, but all future development is for the Az.Sql module. Para estos cmdlets, consulte AzureRM.Sql.For these cmdlets, see AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

Puede usar los cmdlets de Azure PowerShell para administrar mediante programación sus evaluaciones de vulnerabilidad.You can use Azure PowerShell cmdlets to programmatically manage your vulnerability assessments. Los cmdlets compatibles son:The supported cmdlets are:

Nombre del cmdlet como vínculoCmdlet name as a link DescripciónDescription
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaselineClear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Borra la base de referencia de la regla de evaluación de vulnerabilidades.Clears the Vulnerability Assessment rule baseline.
En primer lugar, establezca la línea de base antes de usar este cmdlet para eliminarla.First, set the baseline before you use this cmdlet to clear it.
Clear-AzSqlDatabaseVulnerabilityAssessmentSettingClear-AzSqlDatabaseVulnerabilityAssessmentSetting Borra la configuración de evaluación de vulnerabilidades de una base de datos.Clears the Vulnerability Assessment settings of a database.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaselineClear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Borra la base de referencia de la regla de evaluación de vulnerabilidad de una base de datos administrada.Clears the Vulnerability Assessment rule baseline of a managed database.
En primer lugar, establezca la línea de base antes de usar este cmdlet para eliminarla.First, set the baseline before you use this cmdlet to clear it.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSettingClear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Borra la configuración de la evaluación de vulnerabilidad de una base de datos administrada.Clears the Vulnerability Assessment settings of a managed database.
Clear-AzSqlInstanceVulnerabilityAssessmentSettingClear-AzSqlInstanceVulnerabilityAssessmentSetting Borra la configuración de la evaluación de vulnerabilidad de una instancia administrada.Clears the Vulnerability Assessment settings of a managed instance.
Convert-AzSqlDatabaseVulnerabilityAssessmentScanConvert-AzSqlDatabaseVulnerabilityAssessmentScan Convierte los resultados del examen de evaluación de vulnerabilidad de una base de datos en un archivo de Excel.Converts Vulnerability Assessment scan results of a database to an Excel file.
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScanConvert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Convierte los resultados del examen de evaluación de vulnerabilidad de una base de datos administrada en un archivo de Excel.Converts Vulnerability Assessment scan results of a managed database to an Excel file.
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaselineGet-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Obtiene la base de referencia de la regla de evaluación de vulnerabilidad de una base de datos de una regla dada.Gets the Vulnerability Assessment rule baseline of a database for a given rule.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaselineGet-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Obtiene la base de referencia de la regla de evaluación de vulnerabilidad de una base de datos administrada de una regla dada.Gets the Vulnerability Assessment rule baseline of a managed database for a given rule.
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecordGet-AzSqlDatabaseVulnerabilityAssessmentScanRecord Obtiene todos los registros de examen de evaluación de vulnerabilidades asociados con una base de datos dada.Gets all Vulnerability Assessment scan records associated with a given database.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecordGet-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord Obtiene todos los registros de examen de evaluación de vulnerabilidad asociados con una base de datos administrada dada.Gets all Vulnerability Assessment scan records associated with a given managed database.
Get-AzSqlDatabaseVulnerabilityAssessmentSettingGet-AzSqlDatabaseVulnerabilityAssessmentSetting Devuelve la configuración de evaluación de vulnerabilidades de una base de datos.Returns the Vulnerability Assessment settings of a database.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSettingGet-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Devuelve la configuración de la evaluación de vulnerabilidad de una base de datos administrada.Returns the Vulnerability Assessment settings of a managed database.
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaselineSet-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline Establece la base de referencia de la regla de evaluación de vulnerabilidades.Sets the Vulnerability Assessment rule baseline.
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaselineSet-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline Establece la base de referencia de la regla de evaluación de vulnerabilidad de una base de datos administrada.Sets the Vulnerability Assessment rule baseline for a managed database.
Start-AzSqlDatabaseVulnerabilityAssessmentScanStart-AzSqlDatabaseVulnerabilityAssessmentScan Desencadena el inicio de un examen de evaluación de vulnerabilidad en una base de datos.Triggers the start of a Vulnerability Assessment scan on a database.
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScanStart-AzSqlInstanceDatabaseVulnerabilityAssessmentScan Desencadena el inicio de un examen de evaluación de vulnerabilidad en una base de datos administrada.Triggers the start of a Vulnerability Assessment scan on a managed database.
Update-AzSqlDatabaseVulnerabilityAssessmentSettingUpdate-AzSqlDatabaseVulnerabilityAssessmentSetting Actualiza la configuración de evaluación de vulnerabilidades de una base de datos.Updates the Vulnerability Assessment settings of a database.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSettingUpdate-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting Actualiza la configuración de la evaluación de vulnerabilidad de una base de datos administrada.Updates the Vulnerability Assessment settings of a managed database.
Update-AzSqlInstanceVulnerabilityAssessmentSettingUpdate-AzSqlInstanceVulnerabilityAssessmentSetting Actualiza la configuración de la evaluación de vulnerabilidad de una instancia administrada.Updates the Vulnerability Assessment settings of a managed instance.
   

Para obtener un ejemplo de script, consulte Azure SQL Vulnerability Assessment PowerShell support (soporte técnico de PowerShell para la valoración de vulnerabilidades de Azure SQL).For a script example, see Azure SQL Vulnerability Assessment PowerShell support.

Administración de reglas de línea de base de evaluación de vulnerabilidades con plantillas de Resource ManagerManage Vulnerability Assessment baseline rules by using Resource Manager templates

Para configurar las líneas de base de evaluación de vulnerabilidades mediante plantillas de Azure Resource Manager, debe usar el tipo Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines.To configure Vulnerability Assessment baselines by using Azure Resource Manager templates, use the Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines type.

Antes de agregar líneas base, asegúrese de haber habilitado vulnerabilityAssessments.Ensure that you have enabled vulnerabilityAssessments before you add baselines.

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:Here's an example for defining Baseline Rule VA2065 to master database and VA1143 to user database as resources in a Resource Manager template:

   "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:For master database and user database, the resource names are defined differently:

  • Base de datos maestra: "name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",Master database - "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')]",User database - "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".To handle Boolean types as true/false, set the baseline result with binary input like "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"
               ]
            }
         ]
      }

   }

Pasos siguientesNext steps