在 Microsoft Defender for Cloud 中扫描您的 SQL 服务器以查找漏洞

重要

注意:根据世纪互联发布的公告2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。

本文介绍如何对计算机上的 SQL Server 进行漏洞评估、查看扫描发现以及管理基线并禁用规则。

计算机上 SQL Server 的漏洞评估

适用于计算机上 SQL Server 的 Microsoft Defender 将对 Azure 原生 SQL Server 的保护扩展到支持混合环境,并保护托管在 Azure、其他云环境中以及本地计算机上的 SQL Server(所有受支持的版本):

集成式漏洞评估扫描程序可发现、跟踪并帮助你修正潜在的数据库漏洞。 扫描结果概述了 SQL 计算机的安全状态以及有关安全发现的详细信息。

注意

  • 扫描是轻量级的、安全的,每个数据库只需几秒钟,并且完全是只读的。 此功能不会对数据库做出任何更改。
  • 要使某些漏洞评估规则正确运行,需要对以下存储过程执行权限:xp_instance_regread、sysmail_help_profile_sp。

浏览漏洞评估报告

漏洞评估服务每 12 小时扫描数据库一次。

漏洞评估仪表板概述了所有数据库的评估结果。 它还按风险分布汇总了健康和不健康的数据库以及失败的检查。

可以直接从 Defender for Cloud 查看漏洞评估结果。

  1. 在 Defender for Cloud 的边栏中,打开“建议”页。

  2. 选择建议计算机上的 SQL 服务器应已修复漏洞结果。 有关详细信息,请参阅 Defender for Cloud 建议参考页

    计算机上的 SQL Server 的建议卡片截图,其中的漏洞结果应已在 Defender for Cloud 中得到解决。

    此时会显示 SQL 服务器漏洞建议的详细视图。

    显示漏洞检测结果的计算机上的 SQL Server 建议详情视图截图。

  3. 查看有关建议的其他信息:

    • 如需已扫描资源(数据库)的概述和已测试的安全检查列表,请打开“受影响的资源”并选择相关服务器。

    • 如需按特定 SQL 数据库分组的漏洞的概述,请选择相关数据库。

    在每个视图中,安全检查按照严重性排序。 选择特定安全检查以查看详细信息窗格,其中包含说明、修正方法以及“影响”或“基准”等其他相关信息 。

设置基线

查看 SQL 漏洞评估结果时,可以将特定发现标记为环境中可接受的基线。 基线自定义报告结果的方式。 与基线匹配的结果在后续扫描中会被视为通过。 建立基线安全状态后,漏洞评估扫描程序仅报告与该基线的偏差,以便你可以专注于相关问题。

漏洞评估结果页的屏幕截图,可在其中将结果标记为环境的可接受基线。

导出结果

使用 Microsoft Defender for Cloud 的连续导出功能,将漏洞评估结果导出到 Azure 事件中心或 Log Analytics 工作区。

在交互式图形报告中查看漏洞

Defender for Cloud 集成的 Azure Monitor 工作簿库包含一份交互式报告,其中提供了针对计算机、容器注册表中的容器以及 SQL 服务器的漏洞扫描发现结果。

这些扫描器各自的发现分别载于单独的建议中:

漏洞评估结果报告收集这些发现,并按严重性、资源类型和类别对其进行组织。 你可以在 Defender for Cloud 的侧边栏中的工作簿库里找到此报告。

Defender for Cloud 的漏洞评估结果报告

禁用特定结果

如果需要忽略发现结果,而不是修正漏洞,则可以选择禁用发现结果。 禁用发现结果不会影响安全分数,也不会产生有害的噪音。

当发现结果与在禁用规则中定义的条件相匹配时,它不会显示在发现结果列表中。 典型方案包括:

  • 禁用严重性低于中等的结果
  • 禁用不可修补的发现结果
  • 禁用与定义的范围无关的基准的发现结果

重要

若要禁用特定发现结果,你需要拥有在 Azure Policy 中编辑策略的权限。 若要了解详细信息,请参阅 Azure Policy 中的 Azure RBAC 权限

若要创建规则,请执行以下操作:

  1. 计算机上的 SQL 服务器应已解决漏洞发现的建议详细信息页中,选择“禁用规则”。

  2. 选择相关范围。

  3. 定义你的条件。 可以使用以下任一条件:

    • 发现结果 ID
    • 严重性
    • 基准

    为计算机上的 SQL Server 漏洞评估发现项创建禁用规则。

  4. 选择 应用规则。 更改最多可能需要 24 小时才能生效。

  5. 若要查看、替代或删除规则,请执行以下操作:

    1. 选择 禁用规则

    2. 在范围列表中,具有有效规则的订阅显示为“已应用规则”。

      显示如何在 Defender for Cloud 门户中修改或删除现有规则的屏幕截图。

    3. 若要查看或删除规则,请选择省略号菜单(“...”)。

以编程方式管理漏洞评估

可以使用 Azure PowerShell cmdlet 以编程方式管理漏洞评估。

使用 Azure PowerShell

可以使用 Azure PowerShell cmdlet 以编程方式管理漏洞评估。 受支持的 cmdlet 如下:

作为链接的 Cmdlet 名称 说明
Add-AzSecuritySqlVulnerabilityAssessmentBaseline 添加 SQL 漏洞评估基线。
Get-AzSecuritySqlVulnerabilityAssessmentBaseline 获取 SQL 漏洞评估基线。
Get-AzSecuritySqlVulnerabilityAssessmentScanResult 获取 SQL 漏洞评估扫描结果。
Get-AzSecuritySqlVulnerabilityAssessmentScanRecord 获取 SQL 漏洞评估扫描记录。
Remove-AzSecuritySqlVulnerabilityAssessmentBaseline 删除 SQL 漏洞评估基线。
Set-AzSecuritySqlVulnerabilityAssessmentBaseline 在一个特定的数据库上设置新 SQL 漏洞评估基线会丢弃旧基线(如果存在)。

数据驻留

注意

更改适用于计算机上 SQL 的 Defender 计划所使用的 Log Analytics 工作区会重置扫描结果和基线设置。 如果在 90 天内还原到原始Log Analytics工作区,则再次提供扫描结果和基线设置。

SQL 漏洞评估使用 Defender for Cloud 中针对 SQL 漏洞评估建议公开提供的查询语句来查询 SQL Server,并存储查询结果。 SQL 漏洞评估数据存储在计算机连接到Log Analytics工作区的位置。 例如,如果将 SQL 虚拟机连接到中国北部Log Analytics工作区,结果将存储在中国北部。 仅当在Log Analytics工作区上启用 SQL 漏洞评估时,才会收集此数据。

还会收集有关连接的计算机的元数据信息,具体而言是:

  • 操作系统名称、类型和版本
  • 计算机完全限定域名 (FQDN)
  • Connected Machine 代理程序版本
  • UUID (BIOS ID)
  • SQL Server 名称和基础数据库名称

可以通过选择Log Analytics工作区位置来指定存储 SQL 漏洞评估数据的区域。 Microsoft可能会将数据复制到其他区域,以确保复原能力,但不会在地理位置之外复制数据。

下一步