你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft Sentinel身份验证架构用于描述与用户身份验证、登录和注销相关的事件。身份验证事件由许多报告设备发送,通常与其他事件一起作为事件流的一部分。 例如,Windows 将多个身份验证事件与其他 OS 活动事件一起发送。
身份验证事件包括来自专注于身份验证的系统(例如 VPN 网关或域控制器)的事件,以及对最终系统(如计算机或防火墙)的直接身份验证。
有关Microsoft Sentinel规范化的详细信息,请参阅规范化和高级安全信息模型 (ASIM) 。
解析 器
从 Microsoft Sentinel GitHub 存储库部署 ASIM 身份验证分析程序。 有关 ASIM 分析程序的详细信息,请参阅 文章 ASIM 分析程序概述。
统一分析器
若要使用统一所有 ASIM 现成分析器的分析程序,并确保分析跨所有配置的源运行,请使用 imAuthentication 筛选分析程序或 ASimAuthentication 无参数分析器。
特定于源分析程序
有关Microsoft Sentinel提供的身份验证分析程序列表,请参阅 ASIM 分析程序列表:
添加自己的规范化分析程序
为身份验证信息模型实现自定义分析程序时,使用以下语法命名 KQL 函数:
-
vimAuthentication<vendor><Product>用于筛选分析程序 -
ASimAuthentication<vendor><Product>用于无参数分析程序
有关将自定义分析程序添加到统一分析程序的信息,请参阅 管理 ASIM 分析程序。
筛选分析程序参数
im和 vim* 分析程序支持筛选参数。 虽然这些分析器是可选的,但它们可以提高查询性能。
以下筛选参数可用:
| 名称 | 类型 | 说明 |
|---|---|---|
| starttime | datetime | 仅筛选在此时间或之后运行的身份验证事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| endtime | datetime | 仅筛选在此时间或之前完成运行的身份验证事件。 此参数筛选 TimeGenerated 字段,该字段是事件时间的标准指示符,而不考虑 EventStartTime 和 EventEndTime 字段的特定于分析器的映射。 |
| targetusername_has | string | 仅筛选具有任何列出的用户名的身份验证事件。 |
例如,若要仅筛选从最后一天到特定用户的身份验证事件,请使用:
imAuthentication (targetusername_has = 'johndoe', starttime = ago(1d), endtime=now())
提示
若要将文本列表传递给需要动态值的参数,请显式使用 动态文本。 例如:dynamic(['192.168.','10.'])。
规范化内容
规范化的身份验证分析规则是独一无二的,因为它们检测跨源的攻击。 因此,例如,如果用户从不同的国家/地区登录到不同的不相关的系统,Microsoft Sentinel现在将检测到此威胁。
有关使用规范化身份验证事件的分析规则的完整列表,请参阅 身份验证架构安全内容。
架构概述
身份验证信息模型与 OSSEM 登录实体架构保持一致。
下表中列出的字段特定于身份验证事件,但与其他架构中的字段类似,并遵循类似的命名约定。
身份验证事件引用以下实体:
- TargetUser - 用于向系统进行身份验证的用户信息。 TargetSystem 是身份验证事件的主要使用者,别名“用户”将标识的 TargetUser 别名。
- TargetApp - 向 进行身份验证的应用程序。
- 目标 - 运行 TargetApp* 的系统。
- 执行组件 - 启动身份验证的用户(如果不同于 TargetUser)。
- ActingApp - 执行组件 用于执行身份验证的应用程序。
- Src - 执行组件 用于启动身份验证的系统。
这些实体之间的关系最好如下所示:
在源系统 Src 上运行代理应用程序(代理应用程序)的 Actor 尝试以 TargetUser 身份对目标系统 TargetDvc 上的目标应用程序 TargetApp 进行身份验证。
架构详细信息
在下表中, 类型 是指逻辑类型。 有关详细信息,请参阅 逻辑类型。
常见 ASIM 字段
重要
ASIM 通用字段一文中详细介绍了所有架构通用的字段。
具有特定准则的通用字段
以下列表提到了具有身份验证事件特定准则的字段:
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| EventType | 强制 | 枚举 | 描述记录报告的操作。 对于身份验证记录,支持的值包括: - Logon - Logoff- Elevate |
| EventResultDetails | 建议 | 枚举 | 与事件结果关联的详细信息。 当结果为失败时,通常会填充此字段。 允许的值包括: - No such user or password. 当原始事件在没有引用密码的情况下报告没有此类用户时,也应使用此值。- No such user- Incorrect password- Incorrect key- Account expired- Password expired- User locked- User disabled- Logon violates policy. 当原始事件报告时,应使用此值,例如:需要 MFA、非工作时间登录、条件访问限制或过于频繁的尝试。- Session expired- Other可以使用不同的术语在源记录中提供该值,这些术语应规范化为这些值。 原始值应存储在 EventOriginalResultDetails 字段中 |
| EventSubType | 可选 | 枚举 | 登录类型。 允许的值包括: - System- Interactive- RemoteInteractive- Service- RemoteService- Remote - 当远程登录类型未知时使用。- AssumeRole - 通常在事件类型为 Elevate时使用。 可以使用不同的术语在源记录中提供该值,这些术语应规范化为这些值。 原始值应存储在 EventOriginalSubType 字段中。 |
| EventSchemaVersion | 强制 | SchemaVersion (String) | 架构的版本。 此处记录的架构版本为 0.1.4 |
| EventSchema | 强制 | 枚举 | 此处记录的架构名称为 “身份验证”。 |
| Dvc 字段 | - | - | 对于身份验证事件,设备字段是指报告事件的系统。 |
所有常见字段
下表中显示的字段对所有 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 |
特定于身份验证的字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| LogonMethod | 可选 | String | 用于执行身份验证的方法。 允许的值包括:Managed Identity、、Service Principal、Username & Password、Multi factor authenticationPasswordlessPKI、、 PAM和 Other。 例子: Managed Identity |
| LogonProtocol | 可选 | String | 用于执行身份验证的协议。 例如: NTLM |
执行组件字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| ActorUserId | 可选 | String | Actor 的计算机可读字母数字唯一表示形式。 有关详细信息,以及有关其他 ID 的备用字段,请参阅 User 实体。 例如: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| ActorScope | 可选 | String | 定义 ActorUserId 和 ActorUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope。 |
| ActorScopeId | 可选 | String | 范围 ID,例如Microsoft Entra目录 ID,其中定义了 ActorUserId 和 ActorUsername。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScopeId。 |
| ActorUserIdType | 条件 | UserIdType | 存储在 ActorUserId 字段中的 ID 的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserIdType。 |
| ActorUsername | 可选 | 用户名 (字符串) | 执行组件的用户名,包括域信息(如果可用)。 有关详细信息,请参阅 用户实体。 例如: AlbertE |
| ActorUsernameType | 条件 | UsernameType | 指定 存储在 ActorUsername 字段中的用户名的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UsernameType。 例如: Windows |
| ActorUserType | 可选 | UserType | Actor 的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserType。 例如: Guest |
| ActorOriginalUserType | 可选 | String | 报告设备报告的用户类型。 |
| ActorSessionId | 可选 | String | 执行组件登录会话的唯一 ID。 例如: 102pTUgC3p8RIqHvzxLCHnFlg |
代理应用程序字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| ActingAppId | 可选 | String | 代表执行组件授权的应用程序的 ID,包括进程、浏览器或服务。 例如: 0x12ae8 |
| ActingAppName | 可选 | String | 代表执行组件授权的应用程序的名称,包括进程、浏览器或服务。 例如: C:\Windows\System32\svchost.exe |
| ActingAppType | 可选 | AppType | 操作应用程序的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 AppType。 |
| ActingOriginalAppType | 可选 | String | 报告设备报告的代理应用程序的类型。 |
| HttpUserAgent | 可选 | String | 通过 HTTP 或 HTTPS 执行身份验证时,此字段的值是执行身份验证时由代理应用程序提供的user_agent HTTP 标头。 例如: Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1 |
目标用户字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| TargetUserId | 可选 | String | 目标用户的计算机可读字母数字唯一表示形式。 有关详细信息,以及有关其他 ID 的备用字段,请参阅 User 实体。 例如: 00urjk4znu3BcncfY0h7 |
| TargetUserScope | 可选 | String | 定义 TargetUserId 和 TargetUsername 的范围,例如Microsoft Entra租户。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScope。 |
| TargetUserScopeId | 可选 | String | 范围 ID,如 Microsoft Entra 目录 ID,其中定义了 TargetUserId 和 TargetUsername。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserScopeId。 |
| TargetUserIdType | 条件 | UserIdType |
存储在 TargetUserId 字段中的用户 ID 的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserIdType。 例如: SID |
| TargetUsername | 可选 | 用户名 (字符串) | 目标用户用户名,包括域信息(如果可用)。 有关详细信息,请参阅 用户实体。 例如: MarieC |
| TargetUsernameType | 条件 | UsernameType | 指定 存储在 TargetUsername 字段中的用户名的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UsernameType。 |
| TargetUserType | 可选 | UserType | Target 用户的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 UserType。 例如: Member |
| TargetSessionId | 可选 | String | 源设备上 TargetUser 的登录会话标识符。 |
| TargetOriginalUserType | 可选 | String | 报告设备报告的用户类型。 |
| 用户 | 别名 | 用户名 (字符串) |
TargetUsername 的别名,如果未定义 TargetUsername,则为 TargetUserId 的别名。 例如: CONTOSO\dadmin |
源系统字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| Src | 建议 | String | 源设备的唯一标识符。 此字段可能会对 SrcDvcId、 SrcHostname 或 SrcIpAddr 字段进行别名。 例如: 192.168.12.1 |
| SrcDvcId | 可选 | String | 源设备的 ID。 如果有多个 ID 可用,请使用最重要的 ID,并将其他 ID 存储在 字段中 SrcDvc<DvcIdType>。例如: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | 可选 | String | 设备所属的云平台范围 ID。 SrcDvcScopeId 映射到 Azure 上的订阅 ID 和 AWS 上的帐户 ID。 |
| SrcDvcScope | 可选 | String | 设备所属的云平台范围。 SrcDvcScope 映射到 Azure 上的订阅 ID,以及 AWS 上的帐户 ID。 |
| SrcDvcIdType | 条件 | DvcIdType |
SrcDvcId 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DvcIdType。 注意:如果使用 SrcDvcId ,则需要此字段。 |
| SrcDeviceType | 可选 | DeviceType | 源设备的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DeviceType。 |
| SrcHostname | 可选 | 主机名称 | 源设备主机名,不包括域信息。 如果没有可用的设备名称,请将相关的 IP 地址存储在此字段中。 例如: DESKTOP-1282V4D |
| SrcDomain | 可选 | 域 (字符串) | 源设备的域。 例如: Contoso |
| SrcDomainType | 条件 | DomainType |
SrcDomain 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DomainType。 如果使用 SrcDomain, 则是必需的。 |
| SrcFQDN | 可选 | FQDN (字符串) | 源设备主机名,包括域信息(如果有)。 注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 SrcDomainType 字段反映所使用的格式。 例如: Contoso\DESKTOP-1282V4D |
| SrcDescription | 可选 | String | 与设备关联的描述性文本。 例如:Primary Domain Controller。 |
| SrcIpAddr | 建议 | IP 地址 | 源设备的 IP 地址。 例如: 2.2.2.2 |
| SrcPortNumber | 可选 | 整数 | 发起连接的 IP 端口。 例如: 2335 |
| SrcDvcOs | 可选 | String | 源设备的 OS。 例如: Windows 10 |
| IpAddr | 别名 | SrcIpAddr 的别名 | |
| SrcIsp | 可选 | String | Internet 服务提供商 (ISP) 源设备用来连接到 Internet。 例如: corpconnect |
| SrcGeoCountry | 可选 | 国家/地区 | 例如:Canada 有关详细信息,请参阅 逻辑类型。 |
| SrcGeoCity | 可选 | 市/县 | 例如:Montreal 有关详细信息,请参阅 逻辑类型。 |
| SrcGeoRegion | 可选 | 地区 | 例如:Quebec 有关详细信息,请参阅 逻辑类型。 |
| SrcGeoLongitude | 可选 | Longitude | 例如:-73.614830 有关详细信息,请参阅 逻辑类型。 |
| SrcGeoLatitude | 可选 | Latitude | 例如:45.505918 有关详细信息,请参阅 逻辑类型。 |
| SrcRiskLevel | 可选 | 整数 | 与源关联的风险级别。 值应调整为 范围,0设置为 ,并0针对良性和100100高风险。例如: 90 |
| SrcOriginalRiskLevel | 可选 | String | 与源关联的风险级别,由报告设备报告。 例如: Suspicious |
目标应用程序字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| TargetAppId | 可选 | String | 需要授权的应用程序的 ID,通常由报告设备分配。 例如: 89162 |
| TargetAppName | 可选 | String | 需要授权的应用程序的名称,包括服务、URL 或 SaaS 应用程序。 例如: Saleforce |
| 应用 | 别名 | TargetAppName 的别名。 | |
| TargetAppType | 条件 | AppType | 代表执行组件授权的应用程序的类型。 有关详细信息和允许的值列表,请参阅架构概述一文中的 AppType。 |
| TargetOriginalAppType | 可选 | String | 代表执行组件授权的应用程序类型,由报告设备报告。 |
| TargetUrl | 可选 | URL | 与目标应用程序关联的 URL。 例如: https://console.aws.amazon.com/console/home?fromtb=true&hashArgs=%23&isauthcode=true&nc2=h_ct&src=header-signin&state=hashArgsFromTB_us-east-1_7596bc16c83d260b |
| LogonTarget | 别名 | TargetAppName、TargetUrl 或 TargetHostname 的别名,以最能描述身份验证目标的字段为准。 |
目标系统字段
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| Dst | 别名 | String | 身份验证目标的唯一标识符。 此字段可能会对 TargetDvcId、 TargetHostname、 TargetIpAddr、 TargetAppId 或 TargetAppName 字段进行别名。 例如: 192.168.12.1 |
| TargetHostname | 建议 | 主机名称 | 目标设备主机名,不包括域信息。 例如: DESKTOP-1282V4D |
| TargetDomain | 建议 | 域 (字符串) | 目标设备的域。 例如: Contoso |
| TargetDomainType | 条件 | 枚举 |
TargetDomain 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DomainType。 如果使用 TargetDomain, 则为必需项。 |
| TargetFQDN | 可选 | FQDN (字符串) | 目标设备主机名,包括域信息(如果可用)。 例如: Contoso\DESKTOP-1282V4D 注意:此字段支持传统的 FQDN 格式和 Windows 域\主机名格式。 TargetDomainType 反映了所使用的格式。 |
| TargetDescription | 可选 | String | 与设备关联的描述性文本。 例如:Primary Domain Controller。 |
| TargetDvcId | 可选 | String | 目标设备的 ID。 如果有多个 ID 可用,请使用最重要的 ID,并将其他 ID 存储在 字段中 TargetDvc<DvcIdType>。 例如: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| TargetDvcScopeId | 可选 | String | 设备所属的云平台范围 ID。 TargetDvcScopeId 映射到 Azure 上的订阅 ID 和 AWS 上的帐户 ID。 |
| TargetDvcScope | 可选 | String | 设备所属的云平台范围。 TargetDvcScope 映射到 Azure 上的订阅 ID 和 AWS 上的帐户 ID。 |
| TargetDvcIdType | 条件 | 枚举 |
TargetDvcId 的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DvcIdType。 如果使用 TargetDeviceId ,则是必需的。 |
| TargetDeviceType | 可选 | 枚举 | 目标设备的类型。 有关允许值的列表和详细信息,请参阅架构概述一文中的 DeviceType。 |
| TargetIpAddr | 可选 | IP 地址 | 目标设备的 IP 地址。 例如: 2.2.2.2 |
| TargetDvcOs | 可选 | String | 目标设备的 OS。 例如: Windows 10 |
| TargetPortNumber | 可选 | 整数 | 目标设备的端口。 |
| TargetGeoCountry | 可选 | 国家/地区 | 与目标 IP 地址关联的国家/地区。 例如: USA |
| TargetGeoRegion | 可选 | 地区 | 与目标 IP 地址关联的区域。 例如: Vermont |
| TargetGeoCity | 可选 | 市/县 | 与目标 IP 地址关联的城市。 例如: Burlington |
| TargetGeoLatitude | 可选 | Latitude | 与目标 IP 地址关联的地理坐标的纬度。 例如: 44.475833 |
| TargetGeoLongitude | 可选 | Longitude | 与目标 IP 地址关联的地理坐标的经度。 例如: 73.211944 |
| TargetRiskLevel | 可选 | 整数 | 与目标关联的风险级别。 值应调整为 范围,0设置为 ,并0针对良性和100100高风险。例如: 90 |
| TargetOriginalRiskLevel | 可选 | String | 与目标关联的风险级别,由报告设备报告。 例如: Suspicious |
检查字段
以下字段用于表示安全系统执行的检查。
| 字段 | 类 | 类型 | 说明 |
|---|---|---|---|
| RuleName | 可选 | String | 与检查结果关联的规则的名称或 ID。 |
| RuleNumber | 可选 | 整数 | 与检查结果关联的规则编号。 |
| Rule | 别名 | String | RuleName 的值或 RuleNumber 的值。 如果使用 RuleNumber 的值,则类型应转换为字符串。 |
| ThreatId | 可选 | String | 在审核活动中标识的威胁或恶意软件的 ID。 |
| ThreatName | 可选 | String | 在审核活动中标识的威胁或恶意软件的名称。 |
| ThreatCategory | 可选 | String | 在审核文件活动中标识的威胁或恶意软件的类别。 |
| ThreatRiskLevel | 可选 | RiskLevel (整数) | 与标识的威胁关联的风险级别。 级别应为 介于 0 和 100 之间的数字。 注意:可以使用其他比例在源记录中提供该值,应将其规范化为此比例。 原始值应存储在 ThreatRiskLevelOriginal 中。 |
| ThreatOriginalRiskLevel | 可选 | String | 报告设备报告的风险级别。 |
| ThreatConfidence | 可选 | ConfidenceLevel (Integer) | 所识别的威胁的置信度,规范化为介于 0 和 100 之间的值。 |
| ThreatOriginalConfidence | 可选 | String | 已识别的威胁的原始置信度,由报告设备报告。 |
| ThreatIsActive | 可选 | 布尔值 | 如果确定的威胁被视为活动威胁,则为 True。 |
| ThreatFirstReportedTime | 可选 | datetime | 首次将 IP 地址或域标识为威胁。 |
| ThreatLastReportedTime | 可选 | datetime | 上次将 IP 地址或域标识为威胁的时间。 |
| ThreatIpAddr | 可选 | IP 地址 | 识别其威胁的 IP 地址。 字段 ThreatField 包含 ThreatIpAddr 表示的字段的名称。 |
| ThreatField | 条件 | 枚举 | 已识别威胁的字段。 值为 SrcIpAddr 或 TargetIpAddr。 |
架构更新
以下是架构版本 0.1.1 中的更改:
- 更新了用户和设备实体字段以与其他架构保持一致。
- 分别将
TargetDvc和SrcDvc重命名为Target和Src以符合当前 ASIM 准则。 重命名的字段将在 2022 年 7 月 1 日之前实现为别名。 这些字段包括:SrcDvcHostname、、SrcDvcHostnameType、SrcDvcType、TargetDvcHostnameSrcDvcIpAddrTargetDvcHostnameType、TargetDvcType、TargetDvcIpAddr和 。TargetDvc - 添加了别名
Src和Dst。 - 添加了字段
SrcDvcIdType、SrcDeviceType、TargetDvcIdType和TargetDeviceType和EventSchema。
以下是架构版本 0.1.2 中的更改:
- 添加了字段
ActorScope、、TargetUserScope、SrcDvcScopeId、SrcDvcScopeTargetDvcScopeIdTargetDvcScope、DvcScopeId、 和DvcScope。
以下是架构版本 0.1.3 中的更改:
- 添加了字段
SrcPortNumber、、ActorOriginalUserType、ActorScopeId、TargetOriginalUserTypeSrcRiskLevelSrcOriginalRiskLevelTargetUserScopeIdSrcDescription和 。TargetDescription - 添加了检查字段
- 添加了目标系统地理位置字段。
以下是架构版本 0.1.4 中的更改:
- 添加了字段
ActingOriginalAppType和TargetOriginalAppType。 - 添加了别名
Application。
后续步骤
有关更多信息,请参阅: