重要
注意:根据世纪互联发布的公告,2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。
Microsoft Defender for Cloud 为 Azure SQL 数据库提供了漏洞评估。 漏洞评估会扫描数据库中的软件漏洞,并提供结果列表。 你可以使用结果修正软件漏洞并禁用结果。
先决条件
在继续操作之前,请确保你知道使用的是快速配置还是经典配置。
若要查看正在使用的配置,请执行以下操作:
- 在 Azure 门户中打开 Azure SQL 数据库、SQL 托管实例数据库或 Azure Synapse 中的特定资源。
- 在“安全性”标题下,选择 Defender for Cloud 。
- 在“启用状态”中,选择“配置”以打开整个服务器或托管实例的 Microsoft Defender for SQL 设置窗格。
如果漏洞设置显示用于配置存储帐户的选项,则你使用的是经典配置。 否则,使用的是快速配置。
快速配置
查看扫描历史记录
选择漏洞评估窗格中的“扫描历史记录”,查看以前对此数据库运行的所有扫描的历史记录。
如果快速配置与以前的扫描相同,则不会存储扫描结果。 扫描历史记录中显示的扫描时间是上次扫描结果更改的时间。
禁用 Microsoft Defender for Cloud 的特定检测结果(预览)
如果组织需要忽略发现结果,而不是修正漏洞,则可以禁用发现结果。 禁用发现结果不会影响安全功能分数,也不会产生有害的噪音。 可以在扫描结果的“不适用”部分看到已禁用的检测结果。
当查找与禁用规则中定义的条件匹配时,它不会显示在发现列表中。 典型方案可能包括:
- 禁用严重性中等或更低的发现结果
- 禁用不可修补的检测
- 禁用与定义的范围无关的基准的结果
重要
若要禁用特定发现结果,你需要拥有在 Azure Policy 中编辑策略的权限。 若要了解详细信息,请参阅 Azure Policy 中的 Azure RBAC 权限。
若要创建规则,请执行以下步骤:
在“应修正关于计算机上 SQL Server 的漏洞评估结果”的建议详细信息页中,选择“禁用规则”。
选择相关范围。
定义条件。 可以使用以下任一条件:
- 正在查找 ID
- 严重程度
- 基准
针对计算机中 SQL Server 上的漏洞 VA 结果创建禁用规则
选择“应用规则”。 更改最多可能需要 24 小时才能生效。
查看、替代或删除规则:
- 选择“禁用规则”。
- 在范围列表中,具有活动规则的订阅将显示为规则已应用。
- 若要查看或删除规则,请选择省略号菜单(“...”)。
使用 Azure 逻辑应用配置电子邮件通知
若要接收数据库漏洞评估状态的定期更新,可以使用可自定义的 Azure 逻辑应用模板。
使用模板可以:
- 选择电子邮件报告的时间。
- 具有漏洞评估状态的一致视图,包括禁用规则。
- 发送 Azure SQL 服务器和 SQL VM 的报告。
- 自定义报告结构和外观,以符合组织标准。
以编程方式管理漏洞评估
具有以下功能的最新 REST API 版本支持快速配置:
DESCRIPTION | Scope | API |
---|---|---|
基线批量操作 | 系统数据库 |
Sql 漏洞评估基线 Sql 漏洞评估基线 |
基线批量操作 | 用户数据库 | 数据库 SQL 漏洞评估基准 |
单一规则基线操作 | 用户数据库 | 数据库 Sql 漏洞评估规则基线 |
单一规则基线操作 | 系统数据库 |
Sql 漏洞评估规则基线 Sql 漏洞评估规则基线 |
单次扫描结果 | 用户数据库 | 数据库 Sql 漏洞评估扫描结果 |
单次扫描结果 | 系统数据库 | Sql 漏洞评估扫描结果 |
扫描详细信息(摘要) | 用户数据库 | 数据库 Sql 漏洞评估扫描 |
扫描详细信息(摘要) | 系统数据库 | Sql 漏洞评估扫描 |
执行手动扫描 | 用户数据库 | 数据库 Sql 漏洞评估执行扫描 |
执行手动扫描 | 系统数据库 | Sql 漏洞评估执行扫描 |
VA 设置(快速配置仅支持 GET) | 用户数据库 | 数据库 Sql 漏洞评估设置 |
VA 设置操作 | 服务器 |
Sql 漏洞评估设置 Sql 漏洞评估 |
Azure 资源管理器模板
使用以下 ARM 模板创建新的 Azure SQL 逻辑服务器,其中包含 SQL 漏洞评估的快速配置。
若要使用 Azure 资源管理器模板配置漏洞评估基线,请使用 Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
类型。 在添加基线之前,确保已启用 vulnerabilityAssessments
。
下面是有关如何使用 ARM 模板设置基线的几个示例:
基于最新扫描结果设置批处理基线:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
基于特定结果设置批处理基线:
{ "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" ] ] } } }
为特定规则设置基线:
{ "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" ] ] } }
基于最新扫描结果在 master 数据库上设置批处理基线:
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
PowerShell
PowerShell cmdlet 不支持快速配置,但可以使用 PowerShell 并使用 REST API 调用最新的漏洞评估功能,例如:
- 在 Azure SQL 服务器上启用快速配置
- 基于 Azure SQL 服务器中所有数据库的最新扫描结果设置基线
- 快速配置 PowerShell 命令参考
Azure CLI
使用 Azure CLI 调用快速配置。
相关内容
- 详细了解 Microsoft Defender for Azure SQL。
- 详细了解数据发现和分类。
- 了解关于将漏洞评估扫描结果存储在可从防火墙和 VNet 后面访问的存储帐户中的详细信息。
- 查看有关 Azure SQL 数据库的常见问题。