高级安全信息模型 (ASIM) Web 会话规范化架构参考

重要

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

Web 会话规范化架构用于描述 IP 网络活动。 例如,Web 服务器、Web 代理和 Web 安全网关会报告 IP 网络活动。

有关 Microsoft Sentinel 中规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM)。

架构概述

Web 会话规范化架构表示任何 HTTP 网络会话,它适合用于为常见的源类型提供支持,这些类型包括:

  • Web 服务器
  • Web 代理
  • Web 安全网关

ASIM Web 会话架构表示 HTTP 和 HTTPS 协议活动。 由于架构表示协议活动,因此它受 RFC 和正式分配的参数列表(本文在适当时会引用这些列表)管制。

Web 会话架构不表示来自源设备的审核事件。 例如,修改 Web 安全网关策略的事件不能由 Web 会话架构来表示。

由于 HTTP 会话是利用 TCP/IP 作为底层网络层会话的应用程序层会话,因此 Web 会话架构是 ASIM 网络会话架构的超集。

Web 会话架构中最重要的字段是:

  • Url,报告客户端从服务器请求的 URL。
  • SrcIpAddr(别名为 IpAddr),表示从其生成请求的 IP 地址。
  • EventResultDetails 字段,通常报告 HTTP 状态代码。

Web 会话事件还可以包括发起请求的用户和进程的用户信息和进程信息。

分析器

有关 ASIM 分析程序的详细信息,请参阅 ASIM 分析程序概述。

统一分析程序

若要使用统一所有 ASIM 现用分析程序的分析程序,并确保分析在所有配置的源上运行,请使用 _Im_WebSession 分析器。

特定于源的现成分析程序

有关 Microsoft Sentinel 直接提供的 Web 会话分析程序列表,请参考 ASIM 分析程序列表

添加自己的规范化分析器

为 Web 会话信息模型实现自定义分析程序时,请使用以下语法来命名 KQL 函数:

  • vimWebSession<vendor><Product>(对于参数化分析程序)
  • ASimWebSession<vendor><Product>(对于常规分析程序)

筛选分析程序参数

im 和 vim* 分析程序支持筛选参数。 尽管这些分析程序是可选的,但可使用它们来提高查询性能。

可使用以下筛选参数:

名称 类型 说明
starttime 日期/时间 仅筛选在此时间或之后启动的 Web 会话。 此参数筛选字段 TimeGenerated ,该字段是事件时间的标准设计器,无论 EventStartTime 和 EventEndTime 字段的特定于分析程序映射。
endtime 日期/时间 仅筛选在此时间或之前开始运行的 Web 会话。 此参数筛选字段 TimeGenerated ,该字段是事件时间的标准设计器,无论 EventStartTime 和 EventEndTime 字段的特定于分析程序映射。
srcipaddr_has_any_prefix 动态 仅筛选其源 IP 地址字段前缀位于所列出值之一中的 Web 会话。 值列表可能包括 IP 地址和 IP 地址前缀。 前缀应以 . 结尾,例如:10.0.。 列表的长度限制为 10,000 项。
ipaddr_has_any_prefix 动态 仅筛选其目标 IP 地址字段或源 IP 地址字段前缀位于所列出值之一中的网络会话。 前缀应以 . 结尾,例如:10.0.。 列表的长度限制为 10,000 项。

使用值 、SrcIpAddr 或 DstIpAddr 之一设置字段 Both,以反映匹配的字段。
url_has_any 动态 仅筛选其 URL 字段包含所列出的任何值的 Web 会话。 如果源没有报告 URL,分析程序可能会忽略作为参数传递的 URL 架构。 如果指定并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 项。
httpuseragent_has_any 动态 仅筛选其用户代理字段包含所列出的任何值的 Web 会话。 如果指定并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 项。
eventresultdetails_in 动态 仅筛选其 HTTP 状态代码(存储在 EventResultDetails 字段中)是列出的任何值的 Web 会话。
eventresult 字符串 仅筛选具有特定 EventResult 值的网络会话。

某些参数可以接受 dynamic 类型的值列表或单个字符串值。 若要将文本列表传递到需要动态值的参数,请显式使用动态文本。 例如:dynamic(['192.168.','10.'])

例如,若要仅筛选指定域名列表的 Web 会话,请使用:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

架构详细信息

Web 会话信息模型与 OSSEM 网络实体架构和 OSSEM HTTP 实体架构保持一致。

为了符合行业最佳做法,Web 会话架构使用描述符 Src 和 Dst 来标识会话源和目标设备,且不会在字段名称中包含标记 Dvc。

因此,举例而言,源设备主机名和 IP 地址分别命名为 SrcHostname 和 SrcIpAddr,而不是 SrcDvcHostname 和 SrcDvcIpAddr 。 前缀 Dvc 仅用于报告设备或中间设备(如果适用)。

描述与源和目标设备关联的用户和应用程序的字段也使用 Src 和 Dst 描述符 。

其他 ASIM 架构通常使用 Target 而不是 Dst 。

通用 ASIM 字段

重要

ASIM 通用字段一文详细介绍了所有架构的通用字段。

符合特定准则的通用字段

以下列表提及对 Web 会话事件有特定准则的字段:

字段 类 类型 说明
EventType 必需 Enumerated 描述记录报告的操作。 允许值包括:
- HTTPsession:表示用于 HTTP 或 HTTPS 的网络会话,通常由中介设备(如代理或 Web 安全网关)报告。
- WebServerSession:表示 Web 服务器报告的 HTTP 请求。 此类事件的网络相关信息通常较少。 报告的 URL 不应包含架构和服务器名称,而是只应包含 URL 的路径和参数部分。
- ApiRequest:表示报告的与 API 调用关联的 HTTP 请求,通常由应用程序服务器报告。 此类事件的网络相关信息通常较少。 由应用程序服务器进行报告时,报告的 URL 不应包含架构和服务器名称,而是只应包含 URL 的路径和参数部分。
EventResult 必需 Enumerated 描述事件结果,规范化为以下值之一:
- Success
- Partial
- Failure
- NA(不适用)

对于 HTTP 会话,Success 定义为低于 400 的状态代码,Failure 定义为高于 400 的状态代码。 有关 HTTP 状态代码的列表,请参阅 W3 Org。

源可以只提供“EventResultDetails”字段的值,必须分析该字段才能获取“EventResult”值。
EventResultDetails 建议 Enumerated 由万维网联盟定义的HTTP状态码

注意:可以在源记录中使用不同字词提供该值,这些字词应规范化为这些值。 原始值应存储在 EventOriginalResultDetails 字段中。
EventSchema 必需 Enumerated 此处所述的架构名称为 WebSession。
EventSchemaVersion 必需 SchemaVersion(字符串) 架构的版本。 此处记录的架构版本为 0.2.7
Dvc 字段 对于 Web 会话事件,设备字段引用报告 Web 会话事件的系统。 这通常是 HTTPSession 事件的中介设备,以及 WebServerSession 和 ApiRequest 事件的目标 Web 或应用程序服务器。

所有通用字段

下表中显示的字段是所有 ASIM 架构通用的。 上面指定的任何准则都将替代字段的一般准则。 例如,字段通常情况下可能是可选项,但可能是特定架构的必需项。 有关每个字段的更多详细信息,请参阅 ASIM 通用字段一文。

类 Fields
必需 - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- “EventProduct”
- EventVendor 事件供应商
- EventSchema
- EventSchemaVersion
- Dvc
建议 - EventResultDetails
- EventSeverity 事件严重性
- EventUid 事件
- DvcIpAddr
- DvcHostname
- Dvc域
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType-
- DvcAction
可选 - EventMessage
- 事件子类型
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner 事件所有者
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- 附加字段
- DvcDescription
- DvcScopeId(DvcScopeId)
- DvcScope(数字视觉示波器)

网络会话字段

HTTP 会话是利用 TCP/IP 作为底层网络层会话的应用程序层会话。 Web 会话架构是 ASIM 网络会话架构的超集,且所有网络架构字段也包含在 Web 会话架构中。

以下 ASIM 网络会话架构字段在用于 Web 会话事件时具有特定准则:

  • 别名 User 应引用 SrcUsername 而不是 DstUsername。
  • 除了存储在 EventResultDetails 中的 HTTP 状态代码之外,字段 EventOriginalResultDetails 还可以保存源所报告的任何结果。
  • 对于 Web 会话,主要目标字段是 Url 字段。 DstDomain 是可选的,而不是建议的。 具体而言,如果不提供该字段,则无需从分析程序中的 URL 提取它。
  • 字段 NetworkRuleName 和 NetworkRuleNumber 被分别重命名为 RuleName 和 RuleNumber。

Web 会话事件通常由中间设备报告,这些设备会终止来自客户端的 HTTP 连接,并与服务器发起新连接(充当代理)。 若要表示中间设备,请使用 ASIM 网络会话架构中间设备字段

HTTP 会话字段

下面是特定于 Web 会话的其他字段:

字段 类 类型 说明
URL 必需 URL(字符串) HTTP 请求 URL,包括参数。 对于 HTTPSession 事件,URL 可能包含架构,并且应包含服务器名称。 对于 WebServerSession 和 ApiRequest,URL 通常不包含架构和服务器(可以分别在 NetworkApplicationProtocol 和 DstFQDN 字段中找到它们)。

示例:https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory 可选 字符串 URL 的已定义分组,或 URL 的域部分。 类别通常由 Web 安全网关提供,基于 URL 指向的站点的内容。

示例:搜索引擎、成人、新闻、广告和停靠域。
UrlOriginal 可选 URL(字符串) URL 的原始值(如果报告设备修改了 URL,并且已提供这两个值)。
HttpVersion 可选 字符串 HTTP 请求版本。

示例:2.0
HttpRequestMethod 建议 Enumerated HTTP 方法。 这些值已在 RFC 7231 和 RFC 5789 中定义,包括 GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 和 PATCH。

示例:GET
HttpStatusCode Alias HTTP 状态代码。 EventResultDetails 的别名。
HttpContentType 可选 字符串 HTTP 响应内容类型标头。

注意:HttpContentType 字段可以包含内容格式和额外参数,例如用于获取实际格式的编码。

示例:text/html; charset=ISO-8859-4
HttpContentFormat 可选 字符串 HttpContentType 的内容格式部分

示例:text/html
HttpReferrer 可选 字符串 HTTP 引用器标头。

注意:与 OSSEM 同步的 ASIM 为引用网站使用正确的拼写方式,而不使用原始 HTTP 头拼写方式。

示例:https://developer.mozilla.org/docs
HttpUserAgent 可选 字符串 HTTP 用户代理标头。

示例:
Mozilla/5.0(Windows NT 10.0;WOW64)
AppleWebKit/537.36(KHTML,例如 Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias HttpUserAgent 的别名
HttpRequestXff 可选 IP 地址 HTTP X-Forwarded-For 标头。

示例:120.12.41.1
HttpRequestTime 可选 整数 将请求发送到服务器所花费的时间,以毫秒为单位(如果适用)。

示例:700
HttpResponseTime 可选 整数 在服务器中接收响应所花费的时间,以毫秒为单位(如果适用)。

示例:800
HttpHost 可选 字符串 HTTP 请求所面向的虚拟 Web 服务器。 此值通常基于 HTTP 主机头。
FileName 可选 字符串 对于 HTTP 上传,该字段表示上传的文件的名称。
FileMD5 可选 MD5 对于 HTTP 上传,该字段表示上传文件的 MD5 哈希。

示例:75a599802f1fa166cdadb360960b1dd0
FileSHA1 可选 SHA1 对于 HTTP 上传,该字段表示上传文件的 SHA1 哈希。

示例:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 可选 SHA256 对于 HTTP 上传,该字段表示上传文件的 SHA256 哈希。

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 可选 SHA512 对于 HTTP 上传,该字段表示上传文件的 SHA512 哈希。
Hash Alias 别名化为可用 Hash 字段。
HashType 有條件的 Enumerated Hash 字段中的哈希类型。 可能的值包括:MD5、SHA1、SHA256 和 SHA512。
FileSize 可选 Long 对于 HTTP 上传,该字段表示上传文件的大小(以字节为单位)。
FileContentType 可选 字符串 对于 HTTP 上传,该字段表示上传文件的内容类型。
HttpCookie 可选 字符串 客户端发送给服务器的HTTP Cookie头部内容,包含会话数据的名称值对。

示例:session_id=abc123; user_pref=dark_mode
HttpIsProxied 可选 布尔 表示 HTTP 请求是否通过代理服务器发送。

示例:true
HttpRequestBodyBytes 可选 Long HTTP 请求体的大小(字节计),不包括头部。

示例:1024
HttpRequestCacheControl 可选 字符串 HTTP 内容 Cache-Control 请求头,指定客户端的缓存指令。

示例:no-cache
HttpRequestHeaderCount 可选 整数 请求中包含的HTTP头部数量。

示例:12
HttpResponseBodyBytes 可选 Long HTTP 响应体的大小(字节单位),不包括头部。

示例:8192
HttpResponseCacheControl 可选 字符串 HTTP Cache-Control 响应头部的内容,指定服务器缓存指令。

示例:max-age=3600, public
HttpResponse已过期 可选 字符串 HTTP Expires 响应头部的内容,表示响应内容何时到期。

示例:Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount 可选 整数 响应中包含的HTTP头数。

示例:15

其他字段

如果事件由 Web 会话的某个终结点报告,则它可以包含有关发起或终止了该会话的进程的信息。 在这种情况下,可以使用 ASIM 进程事件架构来规范化此信息。

架构更新

Web 会话架构依赖于网络会话架构。 因此,网络会话架构更新也适用于 Web 会话架构。

下面是架构版本 0.2.5 中的更改:

  • 添加了字段 HttpHost。

下面是 0.2.6 版架构中的更改:

  • FileSize 的类型已从 Integer 更改为 Long。

以下是0.2.7版本的变更:

  • 添加了字段 HttpCookie、HttpIsProxied、HttpRequestBodyBytes、HttpRequestCacheControl、HttpRequestHeaderCount、HttpResponseBodyBytes、HttpResponseCacheControl、HttpResponseExpires 和 HttpResponseHeaderCount。