重要
注意:根据 世纪互联发布的公告,Azure 中国区域中的所有 Microsoft Sentinel 功能将于 2026 年 8 月 18 日正式停用。
高级安全信息模型 (ASIM) 用户在查询中使用统一的分析程序而不是表名,从而以规范化的格式查看数据,并在单个查询中获取与架构相关的所有数据。 每个统一的分析程序使用多个特定于源的分析程序来处理每个源的特定详细信息。
若要了解分析程序如何适用于 ASIM 体系结构,请参阅 ASIM 体系结构图。
你可能需要管理每个统一解析器所使用的源特定解析器,以便执行以下操作:
将自定义的源专用解析器添加到统一解析器中
将统一解析器所使用的内置源特定解析器替换为自定义源特定解析器。 如果您想要执行以下操作,请替换内置解析器:
使用内置解析器的其他版本,而不是统一解析器默认使用的版本。
保留统一的分析程序所使用的特定于源的分析程序的版本,以防止自动更新。
使用内置分析程序的修改版本。
配置特定于源的分析程序,例如定义发送与分析程序相关的信息的源。
本文介绍如何管理统一解析器使用的源专用解析器。
先决条件
本文中的过程假定所有特定于源的分析程序均已部署到 Microsoft Sentinel 工作区。
有关详细信息,请参阅开发 ASIM 分析程序。
管理内置的统一的分析程序
由于无法直接编辑内置统一分析程序,因此可以通过部署自定义统一分析程序、添加或排除特定于源分析程序以及使用监视列表来控制分析程序行为来管理它们。
设置工作区
Microsoft Sentinel 用户无法编辑内置的统一的分析程序。 但可以使用以下机制来修改内置的统一的分析程序的行为:
为支持添加特定于源的分析程序,ASIM 使用统一的自定义的分析程序。 这些自定义的分析程序是工作区部署的,因此是可编辑的。 内置的统一的分析程序可自动获取这些自定义的分析程序(如果存在)。
你可以将初始的、空的、统一的自定义的分析程序部署到 Microsoft Sentinel 工作区,用于所有受支持的架构,也可以逐个部署,用于特定架构。 有关更多信息,请参阅 Microsoft Sentinel GitHub 存储库中的部署初始 ASIM 空白自定义统一解析器。
为支持排除内置的特定于源的分析程序,ASIM 使用了监视列表。 从 GitHub 上的 Microsoft Sentinel ASIM 监视列表部署模板将监视列表部署到Microsoft Sentinel工作区。
若要为内置和自定义分析程序定义源类型,ASIM 将使用监视列表。 将监视列表从 Microsoft Sentinel GitHub 存储库部署到 Microsoft Sentinel 工作区。
将自定义解析器添加到内置统一解析器中
若要添加自定义的分析程序,请在自定义的统一的分析程序中插入一行,以引用新的自定义的分析程序。
确保同时添加筛选自定义分析程序和无参数自定义分析程序。 若要详细了解如何编辑分析程序,请参阅文档 Azure Monitor 日志查询中的函数。
对于每个架构来说,要添加的行的语法各有不同:
| 图式 | 解析 器 | 要添加的行 |
|---|---|---|
| 警报事件 | Im_AlertEventCustom |
_parser_name_ (starttime, endtime, ipaddr_has_any_prefix, hostname_has_any, username_has_any, attacktactics_has_any, attacktechniques_has_any, threatcategory_has_any, alertverdict_has_any, eventseverity_has_any) |
| 审计事件 | Im_AuditEventCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any) |
| Authentication | Im_AuthenticationCustom |
_parser_name_ (starttime, endtime, targetusername_has_any, actorusername_has_any, srcipaddr_has_any_prefix, srchostname_has_any, targetipaddr_has_any_prefix, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype_in, eventresultdetails_in, eventresult) |
| DhcpEvent | Im_DhcpEventCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, srchostname_has_any, srcusername_has_any, eventresult) |
| DNS | Im_DnsCustom |
_parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype) |
| FileEvent | Im_FileEventCustom |
_parser_name_ (starttime, endtime, eventtype_in, srcipaddr_has_any_prefix, actorusername_has_any, targetfilepath_has_any, srcfilepath_has_any, hashes_has_any, dvchostname_has_any) |
| 网络会话 | Im_NetworkSessionCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, ipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult) |
| ProcessEvent | Im_ProcessEventCustom |
_parser_name_ (starttime, endtime, commandline_has_any, commandline_has_all, commandline_has_any_ip_prefix, actingprocess_has_any, targetprocess_has_any, parentprocess_has_any, targetusername_has, actorusername_has, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype) |
| RegistryEvent | Im_RegistryEventCustom |
_parser_name_ (starttime, endtime, eventtype_in, actorusername_has_any, registrykey_has_any, registryvalue_has_any, registryvaluedata_has_any, dvchostname_has_any) |
| 用户管理 | Im_UserManagementCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, targetusername_has_any, actorusername_has_any, eventtype_in) |
| WebSession | Im_WebSessionCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, ipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult) |
向已引用其他解析器的统一自定义解析器中添加另一个解析器时,请确保在前一行末尾加上逗号。
例如,以下代码展示了添加 added_parser 后的自定义统一分析器。 该 union isfuzzy=true 语句合并了现有和新的自定义分析器的结果,从而容忍它们之间的次要架构差异:
union isfuzzy=true
existing_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype),
added_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
使用内置解析器的修改版本
若要修改现有的、内置的特定于源的分析程序,请执行以下操作:
基于原始分析程序创建自定义分析程序, 并将自定义分析程序添加到内置统一分析器。 您可以使用工作区中已部署的 ASIM 解析器版本的该解析器作为起点。
向
ASim Disabled Parsers监视列表添加记录。将
CallerContext的值设为Exclude<parser name>,其中<parser name>是你要将该解析器排除在外的统一解析器名称。定义
SourceSpecificParser值Exclude<parser name>,其中<parser name>是你要排除的分析程序的名称,不带版本说明符。
例如,若要排除 Azure 防火墙 DNS 分析程序,请将以下记录添加到监视列表:
| CallerContext | SourceSpecificParser |
|---|---|
Exclude_Im_Dns |
Exclude_Im_Dns_AzureFirewall |
阻止自动更新内置分析程序
若要将内置特定于源分析程序固定到特定版本并防止自动更新,请完成以下步骤:
将所需的内置解析器版本(例如
_Im_Dns_AzureFirewallV02)添加到自定义统一解析器中。 有关详细信息,请参阅 向内置统一分析器添加自定义分析程序。为内置分析程序添加例外。 例如,若要完全拒绝自动更新并因此排除大量内置分析程序,请添加以下内容:
- 以
Any作为SourceSpecificParser字段的记录,以排除CallerContext的所有分析程序。 - CallerContext 和
Any字段中的SourceSpecificParser的记录,以排除所有内置分析程序。
有关详细信息,请参阅使用修改版的内置分析程序。
配置与特定源解析器相关的源
某些分析程序要求更新与分析程序相关的源列表。 例如,使用 Syslog 数据的分析程序可能无法确定哪些 Syslog 事件与分析程序相关。 此类分析器可使用 Sources_by_SourceType 监视列表来确定哪些源会发送与分析程序相关的信息。 对于此类解析,请将每个相关来源的记录添加到监视列表中:
- 将
SourceType字段设置为分析程序文档中指定的分析程序特定值。 - 将
Source字段设置为事件中使用的源的标识符。 你可能需要查询原始表(如 Syslog)来确定正确的值。
如果您的系统尚未部署Sources_by_SourceType监视列表,请使用 GitHub 上的 ASIM 监视列表部署模板将该监视列表部署到您的 Microsoft Sentinel 工作区中。
相关内容
了解有关 ASIM 分析程序的更多信息:
了解有关 ASIM 的大致信息: