你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Microsoft Sentinel 中的摘要规则在后台聚合大量数据,以便跨所有日志层实现更流畅的安全操作体验。 摘要数据在自定义日志表中预编译,并提供快速的查询性能,包括对从 低成本日志层派生的数据运行的查询。 摘要规则可帮助优化数据,以便:
- 分析和报告,尤其是针对大型数据集和时间范围的分析和报告,这是安全和事件分析、月度或年度业务报告等所必需的。
- 可节省 详细日志的成本,只需在成本较低的日志层中保留少量日志或保留时间,并仅将汇总数据发送到 Analytics 表进行分析和报告。
- 安全和数据隐私,方法是删除或模糊处理汇总的可共享数据中的隐私详细信息,并限制对包含原始数据的表的访问。
Microsoft Sentinel使用 Analytics 数据计划将摘要规则结果存储在自定义表中。 有关数据计划和存储成本的详细信息,请参阅 日志表计划。
本文介绍如何在 Microsoft Sentinel 中创建摘要规则或部署预生成的摘要规则模板,并提供使用摘要规则的常见方案示例。
重要
2027 年 3 月 31 日之后,Azure 门户将不再支持Microsoft Sentinel,并且仅在Microsoft Defender门户中可用。 在Azure 门户中使用Microsoft Sentinel的所有客户都将重定向到 Defender 门户,并且仅在 Defender 门户中使用Microsoft Sentinel。 从 2025 年 7 月开始,许多新客户 会自动加入并重定向到 Defender 门户。
如果仍在Azure 门户中使用Microsoft Sentinel,建议开始规划到 Defender 门户的转换,以确保平稳过渡,并充分利用 Microsoft Defender 提供的统一安全操作体验。 有关详细信息,请参阅是时候移动了:为提高安全性而停用Microsoft Sentinel Azure 门户。
先决条件
若要在 Microsoft Sentinel 中创建摘要规则,请执行以下操作:
必须在至少一个工作区中启用Microsoft Sentinel,并主动使用日志。
必须能够访问具有Microsoft Sentinel参与者权限的Microsoft Sentinel。 有关详细信息,请参阅 Microsoft Sentinel 中的角色和权限。
若要在 Microsoft Defender 门户中创建摘要规则,必须先将工作区载入 Defender 门户。 有关详细信息,请参阅将Microsoft Sentinel连接到Microsoft Defender门户。
建议在创建规则之前,在“日志”页中试验摘要规则查询。 验证查询是否未达到或接近查询限制,并检查查询是否生成预期架构和预期结果。 如果查询接近查询限制,请考虑使用较小的 binSize 值,以便每个箱处理较少的数据。 还可以修改查询以返回更少的记录或删除具有较高量的字段。
创建新的摘要规则
创建新的摘要规则,将特定的大型数据集聚合到动态表中。 配置规则频率,以确定从原始数据更新聚合数据集的频率。
打开“摘要规则”向导:
选择“ + 创建 ”并输入以下详细信息:
名称。 为规则输入有意义的名称。
说明。 输入可选说明。
目标表。 定义聚合数据的自定义日志表:
如果选择“ 现有自定义日志表”,请选择要使用的表。
如果选择“ 新建自定义日志表”,请为表输入有意义的名称。 完整表名使用以下语法:
<tableName>_CL。
建议在工作区上启用 SummaryLogs 诊断设置,以获取历史运行和故障的可见性。 如果未启用 SummaryLogs 诊断设置,系统会提示你在 “诊断设置” 区域中启用它们。
如果 SummaryLogs 诊断设置已启用,但你想要修改设置,请选择“ 配置高级诊断设置”。 返回到 “摘要规则”向导 页时,请确保选择“ 刷新 ”以刷新设置详细信息。
重要
SummaryLogs 诊断设置需要额外的成本。 有关详细信息,请参阅 Azure Monitor 中的诊断设置。
选择“ 下一步:设置摘要逻辑 > ”以继续。
在 “设置摘要逻辑 ”页上,输入摘要查询。 例如,若要汇总 Google Cloud Platform 中的数据,可能需要输入:
GCPAuditLogs | where ServiceName == 'pubsub.googleapis.com' | summarize count() by Severity有关详细信息,请参阅示例摘要规则方案和Kusto 查询语言 (Azure Monitor 中的 KQL) 。
选择 “预览结果 ”以显示使用配置的查询收集的数据示例。
在 “查询计划 ”区域中,定义以下详细信息:
- 你希望规则运行的频率
- 是否希望规则以任何类型的延迟(以分钟为单位)运行
- 希望规则开始运行时
在计划中定义的时间基于
timegenerated数据中的列选择“ 下一步:查看 + 创建 >>保存” 以完成摘要规则。
现有摘要规则列在 “摘要规则 ”页上,你可以在其中查看规则状态。 对于每个规则,选择行末尾的选项菜单,以执行以下操作之一:
- 在 “日志 ”页中查看规则的当前数据,就像要立即运行查询一样
- 查看所选规则的运行历史记录
- 禁用或启用规则。
- 编辑规则配置
若要删除规则,请选择规则行,然后在页面顶部的工具栏中选择 “删除 ”。
注意
Azure Monitor 还支持通过 API 或 Azure 资源监视器 (ARM) 模板创建摘要规则。 有关详细信息,请参阅 创建或更新摘要规则。
部署预生成的摘要规则模板
摘要规则模板是预构建的摘要规则,可以按原样部署或根据需要进行自定义。
部署摘要规则模板:
打开内容中心,按摘要规则筛选内容类型,以查看可用的摘要规则模板。
选择摘要规则模板。
此时会打开一个面板,其中包含有关摘要规则模板的信息,其中显示了说明、摘要查询和目标表等字段。
选择“ 安装” 以安装模板。
选择“摘要规则”页上的“模板”选项卡,然后选择安装的摘要规则。
选择“ 创建 ”以打开“摘要规则”向导,其中已预填充所有字段。
完成“摘要规则”向导,然后选择“ 保存” 以部署摘要规则。
有关摘要规则向导的详细信息,请参阅 创建新的摘要规则。
Microsoft Sentinel 中的示例摘要规则方案
本部分介绍在 Microsoft Sentinel 中创建摘要规则的常见方案,以及有关如何配置每个规则的建议。 有关详细信息和示例,请参阅汇总从辅助表的原始数据到 Microsoft Sentinel 中的 Analytics 表的见解和用于辅助日志引入的日志源。
在网络流量中快速查找恶意 IP 地址
场景:你是威胁猎手,团队的目标之一是识别过去 90 天内恶意 IP 地址在网络流量日志中从活动事件中交互的所有实例。
挑战:Microsoft Sentinel目前每天引入多个 TB 的网络日志。 你需要快速浏览它们,以查找恶意 IP 地址的匹配项。
解决方案:建议使用摘要规则执行以下操作:
为与事件相关的每个 IP 地址创建摘要数据集,包括
SourceIP、、DestinationIPMaliciousIP、RemoteIP,每个都列出重要属性,例如IPType、FirstTimeSeen和LastTimeSeen。使用摘要数据集可以快速搜索特定的 IP 地址,并缩小找到 IP 地址的时间范围。 即使搜索的事件发生在 90 天前(超出其工作区保留期),也可以执行此操作。
在此示例中,将摘要配置为每天运行,以便查询每天添加新的摘要记录,直到它过期。
创建针对 摘要数据集运行不到两分钟的分析规则,快速钻取恶意 IP 地址与公司网络交互时的特定时间范围。
请确保将运行间隔配置为至少 5 分钟,以适应不同的摘要有效负载大小。 这可确保即使存在事件引入延迟,也不会丢失。
例如:
let csl_columnmatch=(column_name: string) { summarized_CommonSecurityLog | where isnotempty(column_name) | extend Date = format_datetime(TimeGenerated, "yyyy-MM-dd"), IPaddress = column_ifexists(column_name, ""), FieldName = column_name | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public") | where isnotempty(IPaddress) | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor }; union csl_columnmatch("SourceIP") , csl_columnmatch("DestinationIP") , csl_columnmatch("MaliciousIP") , csl_columnmatch("RemoteIP") // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress运行后续搜索或与其他数据关联 以完成攻击事件。
针对网络数据生成有关威胁情报匹配的警报
针对干扰、高容量和低安全值网络数据生成有关威胁情报匹配的警报。
场景:需要为防火墙日志生成分析规则,以便根据威胁情报域名列表匹配系统中已访问的域名。
大多数数据源都是原始日志,这些日志具有干扰性,且具有较高的容量,但安全值较低,包括 IP 地址、Azure 防火墙流量、Fortigate 流量等。 每天的总容量约为 1 TB。
挑战:创建单独的规则需要多个逻辑应用,需要额外的设置和维护开销以及成本。
解决方案:建议使用摘要规则执行以下操作:
创建摘要规则:
扩展查询以从 CommonSecurityLog_CL 表中提取关键字段,例如源地址、目标地址和目标端口,该表是带有辅助计划的 CommonSecurityLog 。
对活动威胁情报指示器执行内部查找,以识别与源地址的任何匹配项。 这允许你与已知威胁交叉引用数据。
项目相关信息,包括生成时间、活动类型、任何恶意源 IP 以及目标详细信息。 设置希望查询运行的频率和目标表,例如 MaliciousIPDetection 。 此表中的结果位于分析层中,并相应地收费。
创建警报:
在 Microsoft Sentinel中创建分析规则,根据 MaliciousIPDetection 表的结果发出警报。 此步骤对于主动威胁检测和事件响应至关重要。
示例摘要规则:
CommonSecurityLog_CL
| extend sourceAddress = tostring(parse_json(Message).sourceAddress), destinationAddress = tostring(parse_json(Message).destinationAddress), destinationPort = tostring(parse_json(Message).destinationPort)
| lookup kind=inner (ThreatIntelligenceIndicator | where Active == true ) on $left.sourceAddress == $right.NetworkIP
| project TimeGenerated, Activity, Message, DeviceVendor, DeviceProduct, sourceMaliciousIP =sourceAddress, destinationAddress, destinationPort