重要
注意:根据世纪互联发布的公告,2026 年 8 月 18 日,Microsoft Sentinel 的所有功能将在中国区域的 Azure 中正式停用。
作为安全运营中心 (SOC) 管理员,需要随时可以获得总体效率指标和度量值,以衡量团队的表现。 需要按许多不同的条件来查看一段时间内的事件操作,如严重性、MITRE 技巧、平均会审时间、平均解决时间等等。 Microsoft Sentinel 现在使用 Log Analytics 中新的“SecurityIncident”表和架构以及附带的“安全运营效率”工作簿提供此数据 。 你将能够直观显示团队在一段时间内的表现,并使用此见解来提高效率。 还可以针对事件表来写入和使用自己的 KQL 查询,以创建符合特定审核需求和 KPI 的自定义工作簿。
使用安全事件表
SecurityIncident 表是 Microsoft Sentinel 中的内置表。 可以在“日志”下的“SecurityInsights”集合中找到该表及其他表。 可以像在 Log Analytics 中的任何其他表一样对其进行查询。
每次创建或更新事件时,都会向表中添加一个新的日志条目。 这允许你跟踪对事件所做的更改,并允许更强大的 SOC 指标,但需要注意,每个事件更新在构造此表的查询时会创建一个新的日志条目,因为可能需要删除事件的重复条目(具体取决于正在运行的确切查询)。
例如,如果想要返回按事件编号排序的所有事件的列表,但只想返回每个事件的最新日志,则可以结合使用 KQL summarize 运算符和 arg_max() 聚合函数来执行此操作:
SecurityIncident
| summarize arg_max(LastModifiedTime, *) by IncidentNumber
事件指标的示例 KQL 查询
以下示例显示了可与 SecurityIncident 表一起使用的常见 KQL 查询。
事件状态 - 给定时间框架内按状态和严重性显示所有事件:
let startTime = ago(14d);
let endTime = now();
SecurityIncident
| where TimeGenerated >= startTime
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where LastModifiedTime between (startTime .. endTime)
| where Status in ('New', 'Active', 'Closed')
| where Severity in ('High','Medium','Low', 'Informational')
按百分位排序的关闭时间:
SecurityIncident
| summarize arg_max(TimeGenerated,*) by IncidentNumber
| extend TimeToClosure = (ClosedTime - CreatedTime)/1h
| summarize 5th_Percentile=percentile(TimeToClosure, 5),50th_Percentile=percentile(TimeToClosure, 50),
90th_Percentile=percentile(TimeToClosure, 90),99th_Percentile=percentile(TimeToClosure, 99)
按百分位数划分的分诊时间:
SecurityIncident
| summarize arg_max(TimeGenerated,*) by IncidentNumber
| extend TimeToTriage = (FirstModifiedTime - CreatedTime)/1h
| summarize 5th_Percentile=max_of(percentile(TimeToTriage, 5),0),50th_Percentile=percentile(TimeToTriage, 50),
90th_Percentile=percentile(TimeToTriage, 90),99th_Percentile=percentile(TimeToTriage, 99)
安全运营效率工作簿
作为对 SecurityIncidents 表的补充,我们为你提供了一个开箱即用的 安全运营效率 工作簿模板,可用于监视你的 SOC 运营。 工作簿包含以下指标:
- 随时间创建的事件
- 通过关闭分类、严重性、所有者和状态创建的事件
- 平均分诊时间
- 平均关闭时间
- 随时间按严重性、所有者、状态、产品和策略创建的事件
- 分类处理耗时百分位数
- 关闭所需时间百分位数
- 每位负责人的平均分诊时间
- 最近活动
- 最近关闭的分类
可通过在 Microsoft Sentinel 导航菜单中选择 工作簿,再选择 模板 选项卡来找到此新工作簿模板。从库中选择 安全运营效率,然后单击 查看保存的工作簿 和 查看模板 两个按钮中的任意一个。
可以使用模板来创建自己的自定义工作簿,以满足特定需求。
查看 SecurityIncidents 架构
以下架构参考描述了 SecurityIncident 表中可用的字段。
架构的数据模型
| 字段 | 数据类型 | 说明 |
|---|---|---|
| AdditionalData | 动态 | 警报数量、书签数量、评论数量、警报产品名称和策略 |
| AlertIds | 动态 | 创建此事件的警报 |
| BookmarkIds | 动态 | 已加书签的实体 |
| 分类 | 字符串 | 事件关闭分类 |
| 分类注释 | 字符串 | 事件关闭分类备注 |
| ClassificationReason | 字符串 | 事件关闭分类原因 |
| 关闭时间 | 日期/时间 | 事件最后一次关闭时的时间戳 (UTC) |
| 注释 | 动态 | 事件注释 |
| 创建时间 | 日期/时间 | 创建事件的时间戳 (UTC) |
| 说明 | 字符串 | 事件描述 |
| FirstActivityTime | 日期/时间 | 首次事件时间 |
| FirstModifiedTime | 日期/时间 | 首次修改事件的时间戳 (UTC) |
| IncidentName | 字符串 | 内部 GUID |
| IncidentNumber | int | |
| IncidentUrl | 字符串 | 事件链接 |
| 标签 | 动态 | 标签 |
| LastActivityTime | 日期/时间 | 最近事件时间 |
| LastModifiedTime | 日期/时间 | 上次修改事件的时间戳 (UTC) (当前记录描述的修改) |
| ModifiedBy | 字符串 | 修改事件的用户或系统 |
| 所有者 | 动态 | |
| RelatedAnalyticRuleIds | 动态 | 触发该事件警报的规则 |
| 严重性 | 字符串 | 事件的严重性(高/中/低/信息) |
| SourceSystem | 字符串 | 常量 ('Azure') |
| Status | 字符串 | |
| TenantId | 字符串 | |
| TimeGenerated | 日期/时间 | 创建当前记录的时间戳 (UTC) (在修改事件时) |
| 标题 | 字符串 | |
| 类型 | 字符串 | 常量 ('SecurityIncident') |
后续步骤
- 若要开始使用 Microsoft Sentinel,需要订阅 Azure。 如果你没有订阅,则可以注册试用版。
- 了解如何将数据载入 Microsoft Sentinel。