如何使用和导出扫描结果
Defender for SQL 漏洞评估 (VA) 功能会每周扫描数据库,并生成有关识别的任何错误配置的报告。
所有结果都存储在 Azure Resource Graph (ARG) 中,这也是大多数 Defender for SQL UI 体验的来源。 结果写入到 ARG 时,也会使用其他 Microsoft Defender for Cloud 设置进行扩充(例如,已禁用的规则或豁免建议),让使用 ARG 中的数据代表所有结果和建议的有效状态。
本文会介绍几种方法来使用和导出扫描结果。
若要使用 Microsoft Defender for Cloud 在 ARG 中查询并导出结果,请执行以下操作:
登录 Azure 门户。
导航到“Microsoft Defender for Cloud”>“建议”。
搜索并选择以下任一项:
如果使用的是 Azure SQL 数据库 -
SQL databases should have vulnerability findings resolved
。如果使用的是计算上的 SQL -
SQL servers on machines should have vulnerability findings resolved
。
选择“打开查询”。
选择任一项
- 返回受影响的资源的查询 - 返回目前受影响的资源列表(每个资源提供建议状态)。
- 返回安全结果的查询 - 返回包含所有安全结果的列表(按适用的资源聚合的结果和子评估)。
选择“运行查询”。
选择“下载 CSV”,将结果导出到 CSV 文件。
这些查询是可编辑的,可以自定义为特定资源、结果集、结果状态等。
若要在 ARG 中查询并导出结果,请执行以下操作:
登录 Azure 门户。
导航到 Resource Graph 资源管理器。
编辑并输入以下查询:
securityresources | where type =~ "microsoft.security/assessments/subassessments" | extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id), subAssessmentId=tostring(properties.id), parentResourceId= extract("(.+)/providers/Microsoft.Security", 1, id) | extend resourceIdTemp = iff(properties.resourceDetails.id != "", properties.resourceDetails.id, extract("(.+)/providers/Microsoft.Security", 1, id)) | extend resourceId = iff(properties.resourceDetails.source =~ "OnPremiseSql", strcat(resourceIdTemp, "/servers/", properties.resourceDetails.serverName, "/databases/" , properties.resourceDetails.databaseName), resourceIdTemp) | where resourceId =~ "/subscriptions/resourcegroups/rgname/providers/microsoft.sql/servers/servername/databases/dbname" | where assessmentKey =~ "82e20e14-edc5-4373-bfc4-f13121257c37" | project resourceId, assessmentKey, subAssessmentId, name=properties.displayName, description=properties.description, severity=properties.status.severity, status=properties.status.code, cause=properties.status.cause, category=properties.category, impact=properties.impact, remediation=properties.remediation, benchmarks=properties.additionalData.benchmarks
选择“运行查询”。
选择“下载 CSV”,将结果导出到 CSV 文件。
此查询是可编辑的,可以自定义为特定资源、发现集、发现状态等。
若要从 SQL 数据库打开查询,请执行以下操作:
登录 Azure 门户。
导航到
Your SQL database
>Microsoft Defender for Cloud。选择“打开查询”。
选择“运行查询”。
选择“下载 CSV”,将结果导出到 CSV 文件。
此查询是可编辑的,可以自定义为特定资源、发现集、发现状态等。
Azure 逻辑应用是一项低代码或零代码的云服务,让你能够自动化工作流,并将位于云端和本地不同系统之间的数据和服务整合到一起。 可以使用 Azure 逻辑应用自动生成所有支持的 SQL 版本的漏洞评估报告,为扫描过的任何服务器发送每周漏洞报告摘要。 可以自定义 Azure 逻辑应用来运行不同的日程安排,例如每天、每周、每月等。 此外,还可以自定义 Azure 逻辑应用报告不同的范围,例如按数据库、服务器、资源组等。
可以使用这些说明,了解如何使用 Azure 逻辑应用的示例模板自动化电子邮件通知。
此示例 Azure 逻辑应用模板可自动生成每周电子邮件报告,汇总所选服务器列表中每个数据库的漏洞扫描结果。 部署该模板后,必须授权 Office 365 连接器生成有效的访问令牌才能对凭据进行身份验证。
然后,收件人会收到包含扫描结果发现的电子邮件。
示例电子邮件 Azure SQL 服务器:
示例电子邮件 SQL 虚拟机:
可以使用工作流自动化,根据对建议状态的更改触发操作。
也可以启用“连续导出”流式传输生成的警报和建议,也可以定义计划来发送所有新数据的定期快照。