你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

有关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 分析程序。

开箱即用的特定于源分析程序

有关提供现成的 Web 会话分析程序列表Microsoft Sentinel请参阅 ASIM 分析程序列表

添加自己的规范化分析程序

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

  • vimWebSession<vendor><Product> 用于参数化分析器
  • ASimWebSession<vendor><Product> 用于常规分析程序

筛选分析程序参数

imvim* 分析程序支持筛选参数。 虽然这些分析器是可选的,但它们可以提高查询性能。

以下筛选参数可用:

名称 类型 说明
starttime datetime 仅筛选在此时间或之后 开始的 Web 会话。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。
endtime datetime 仅筛选在此时间或之前 开始 运行的 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 个项目。

ASimMatchingIpAddr 字段使用 、 或 BothSrcIpAddrDstIpAddr之一进行设置,以反映匹配的字段或字段。
url_has_any 动态 仅筛选 URL 字段 具有列出的任何值的 Web 会话。 如果源不报告,分析程序可能会忽略作为参数传递的 URL 的架构。 如果指定,并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 个项目。
httpuseragent_has_any 动态 仅筛选 用户代理字段 已列出任何值的 Web 会话。 如果指定,并且会话不是 Web 会话,则不会返回任何结果。 列表的长度限制为 10,000 个项目。
eventresultdetails_in 动态 仅筛选存储在 EventResultDetails 字段中的 HTTP 状态代码是列出的任何值的 Web 会话。
eventresult string 仅筛选具有特定 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 会话架构使用描述符 SrcDst 来标识会话源和目标设备,而不在字段名称中包含令牌 Dvc

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

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

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

常见 ASIM 字段

重要

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

具有特定准则的通用字段

以下列表提到了具有 Web 会话事件特定准则的字段:

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

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

源只能为 EventResultDetails 字段提供值,必须对其进行分析才能获取 EventResult 值。
EventResultDetails 建议 枚举 万维网联盟定义的 HTTP 状态代码

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

所有常见字段

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

Fields
强制 - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
建议 - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
可选 - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

网络会话字段

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

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

  • 别名“用户”应引用 SrcUsername ,而不是 DstUsername
  • 除了存储在 EventResultDetails 中的 HTTP 状态代码外,EventOriginalResultDetails 字段还可以保存源报告的任何结果。
  • 对于 Web 会话,主要目标字段是 Url 字段DstDomain 是可选的,而不是推荐的。 具体而言,如果不可用,则无需从分析器中的 URL 中提取它。
  • 字段 NetworkRuleName 和 分别重命名RuleName为 和 RuleNumberNetworkRuleNumber

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

HTTP 会话字段

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

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

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

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

例如:2.0
HttpRequestMethod 建议 枚举 HTTP 方法。 这些值在 RFC 7231RFC 5789 中定义,包括 GET、、HEADPOSTPUTDELETECONNECTOPTIONSTRACEPATCH

例如:GET
HttpStatusCode 别名 HTTP 状态代码。 EventResultDetails 的别名。
HttpContentType 可选 String HTTP 响应内容类型标头。

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

例如:text/html; charset=ISO-8859-4
HttpContentFormat 可选 String HttpContentType 的内容格式部分

例如:text/html
HttpReferrer 可选 String HTTP 引用网站标头。

注意:ASIM 与 OSSEM 同步时,对 引用网站使用正确的拼写,而不是使用原始 HTTP 标头拼写。

例如:https://developer.mozilla.org/docs
HttpUserAgent 可选 String HTTP 用户代理标头。

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

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

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

例如:800
HttpHost 可选 String HTTP 请求面向的虚拟 Web 服务器。 此值通常基于 HTTP 主机标头
FileName 可选 String 对于 HTTP 上传,为上传的文件的名称。
FileMD5 可选 MD5 对于 HTTP 上传,为已上传文件的 MD5 哈希。

例如:75a599802f1fa166cdadb360960b1dd0
FileSHA1 可选 SHA1 对于 HTTP 上传,为上传文件的 SHA1 哈希。

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

示例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 可选 SHA512 对于 HTTP 上传,为上传文件的 SHA512 哈希。
散 列 别名 可用哈希字段的别名。
HashType 条件 枚举 哈希字段中哈希的类型。 可能的值包括: MD5SHA1SHA256SHA512
FileSize 可选 长型 对于 HTTP 上传,为上传文件的大小(以字节为单位)。
FileContentType 可选 String 对于 HTTP 上传,为已上传文件的内容类型。
HttpCookie 可选 String 从客户端发送到服务器的 HTTP Cookie 标头的内容,其中包含会话数据的名称值对。

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

例如:true
HttpRequestBodyBytes 可选 长型 HTTP 请求正文的大小(以字节为单位),不包括标头。

例如:1024
HttpRequestCacheControl 可选 String HTTP Cache-Control 请求标头的内容,指定来自客户端的缓存指令。

例如:no-cache
HttpRequestHeaderCount 可选 整数 请求中包含的 HTTP 标头数。

例如:12
HttpResponseBodyBytes 可选 长型 HTTP 响应正文的大小(以字节为单位),不包括标头。

例如:8192
HttpResponseCacheControl 可选 String HTTP Cache-Control 响应标头的内容,指定来自服务器的缓存指令。

例如:max-age=3600, public
HttpResponseExpires 可选 String 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、、HttpIsProxiedHttpRequestBodyBytesHttpRequestCacheControlHttpResponseCacheControlHttpResponseExpiresHttpRequestHeaderCountHttpResponseBodyBytes和 。HttpResponseHeaderCount

后续步骤

有关更多信息,请参阅: