Microsoft在所有令牌中包括某些标识符,这些标识符可用于链接来自一个根身份验证的活动。 可链接标识符目前处于预览状态,在面向客户的日志中公开。 可链接标识符可帮助威胁猎人和分析人员调查和修正与标识相关的攻击。 他们显著提高了安全分析师和专业人员如何跨会话和令牌跟踪、调查和修正与标识相关的攻击,从而为你提供更安全和透明的生态系统。
有两种类型的可链接标识符:
- 一个基于会话 ID (SID)。 它有助于将从单个根身份验证颁发的所有身份验证项目链接到同一标识符,该标识符可用于链接或连接单个链中的令牌。 例如,基于 SID 的可链接标识符可以跟踪所有由长期令牌(如 刷新令牌(RT)或会话 Cookie)发行的访问令牌执行的所有活动。
- 另一种则跟踪特定令牌访问(例如 访问令牌(AT) 或 ID 令牌)所执行的活动。
为了帮助链接从单个根身份验证颁发的所有身份验证项目,每次用户对帐户执行交互式身份验证时,都会创建 SID 声明并将其包含在主刷新令牌(PRT)、刷新令牌或会话 Cookie 中。 向从刷新令牌或会话 Cookie 中颁发的每个访问令牌添加相同的 SID 值。 它可用于链接所有身份验证项目,并且可以进一步筛选会话中的特定用户或设备。
基于 SID 的方案包括:
- 从Microsoft Entra 登录日志中的会话 ID 开始,并加入 Exchange Online 审核日志或 Microsoft Graph 活动日志等工作负荷日志,以识别所有具有相同会话 ID 的访问令牌完成的所有活动。
- 通过 UserId 或 DeviceId 来进一步筛选结果,或者使用在特定会话期间颁发的令牌来筛选结果。
- 确定给定用户(UserId)或给定设备(DeviceId)处于活动状态的会话数。
此外,Microsoft Entra 还有另一个称为唯一令牌标识符(UTI)的重要可链接安全声明,该声明是所有Microsoft Entra 令牌中存在的唯一 GUID。 它用于独特标识令牌或请求。
对于令牌调查,当想要跟踪特定的可疑令牌时,UTI 会提供更高的细化程度。 UTI 对于每个 AT 和 SID 都是唯一的,帮助你分析特定会话中的所有令牌。 有关这些声明的详细信息,请参阅 访问令牌 或 ID 令牌。
基于 UTI 的情境包括:
- 从 Microsoft Entra 登录日志中提取指向特定访问令牌的 UTI,并结合工作负载日志(如 Exchange Online 审核日志或 Microsoft Graph 活动日志),以识别所有代表该访问令牌(UTI)执行的活动。
可链接标识符声明
索赔 | 格式 | 说明 |
---|---|---|
oid | 字符串,GUID | 请求者的不可变标识符,即用户或服务主体的已验证标识。 此 ID 在应用程序间唯一标识请求者。 |
tid | 字符串,GUID | 表示用户登录到的租户。 |
sid | 字符串,GUID | 表示整个会话的唯一标识符,并在用户执行交互式身份验证时生成。 此 ID 有助于链接从单个根身份验证颁发的所有身份验证凭据。 |
设备ID | 字符串,GUID | 表示用户与应用程序交互的设备的唯一标识符。 |
uti | 字符串 | 表示令牌标识声明。此 ID 是区分大小写的、唯一的每个令牌标识符。 |
iat | int,Unix 时间戳 | 指定针对此令牌进行身份验证的时间。 |
到目前为止,可链接标识符将记录到 Microsoft Entra 登录日志、Exchange Online 审核日志和 Microsoft Graph 活动日志中。
Microsoft Entra 登录日志中的可链接标识符
登录日志条目具有以下可链接标识符声明。
索赔 | 登录日志属性名称 |
---|---|
oid | 用户 ID |
tid | 资源租户识别码 |
sid | 会话 ID |
设备ID | 设备识别码 |
uti | 唯一令牌识别码 |
iat | 日期 |
在 Microsoft Entra 管理中心中,查看登录日志。
- 至少以报表读取者身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”“监视和运行状况”>“登录日志”。>
- 按时间或特定用户进行筛选,查看特定日志条目。
- 单击任何登录日志条目。
- 基本信息 显示用户 ID、资源租户 ID、会话 ID、唯一令牌标识符和日期。 设备 显示已注册和已加入域的设备 ID。
首先,您应从 Microsoft Entra 登陆日志中的用户 ID 属性开始,然后手动搜索工作负载审核日志,用特定的访问令牌来跟踪所有活动。 同样,会话 ID 属性可用于手动搜索工作负荷审核日志以跟踪所有活动。
Microsoft Exchange Online 日志
Exchange Online 审核日志可帮助你访问关键审核日志事件数据以获取见解,并进一步调查用户活动。 Exchange Online 从 Microsoft Entra 令牌中传递可链接标识符,并记录 Exchange Online 审核日志中的所有可链接标识符。
对于邮箱更新、移动或删除的项目等方案,您可以首先从 Microsoft Entra 登录日志中获取可链接标识符,并搜索 Microsoft Purview 审计(标准)和审计(高级),以跟踪邮箱中任何项目的所有用户操作。
索赔 | Exchange Online 审核日志属性名称 |
---|---|
oid | TokenObjectId |
tid | TokenTenantId |
sid | App Access 上下文对象中的 SessionID/AADSessionId |
设备ID | DeviceId (仅适用于已注册/已加入域的设备) |
uti | App Access Context 对象中的 UniqueTokenId |
iat | App Access Context 对象中的 IssuedAtTime |
使用 Microsoft Purview 门户查看 Exchange Online 日志
搜索具有特定时间范围和从 Exchange 开始的记录类型的日志。
可以进一步筛选特定用户,也可以从 Microsoft Entra 登录日志中筛选 UTI 值。 您可以使用
SessionId
筛选会话中的所有活动日志。结果显示所有可链接标识符。
导出审核日志并对 Exchange Online 所有活动中的特定
SessionId
或UniqueTokenId
进行调查。
使用 PowerShell commandlet 查看 Exchange Online 日志
以管理员身份运行 PowerShell。
如果未安装 ExchangeOnlineManagement 模块,请运行:
Install-Module -Name ExchangeOnlineManagement
连接到 Exchange Online:
Connect-ExchangeOnline -UserPrincipalName <user@4jkvzv.partner.onmschina.cn>
运行一些邮箱命令:
Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 97MB
Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 98MB
Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 99MB
搜索统一审核日志:
Search-UnifiedAuditLog -StartDate 01/06/2025 -EndDate 01/08/2025 -RecordType ExchangeItem, ExchangeAdmin, ExchangeAggregatedOperation, ExchangeItemAggregated, ExchangeItemGroup, ExchangeSearch
结果包含所有可链接标识符。
注释
某些聚合日志条目或从后台进程生成的日志上,Exchange Online 审核日志中不提供可链接标识符。
有关详细信息,请参阅 Exchange Online PowerShell。
Microsoft Graph 活动日志
Microsoft Graph 活动日志是Microsoft Graph 服务为租户接收和处理的所有 HTTP 请求的审核线索。 日志存储在 Log Analytics 中进行分析。
如果将 Microsoft Graph 活动日志发送到 Log Analytics 工作区,则可以使用 Kusto 查询语言 (KQL) 查询日志。 对于涉及 Microsoft Graph 活动的方案,可以从 Microsoft Entra 登录日志中开始获取可连接标识符,并针对 Microsoft Graph 活动日志进行检查,以跟踪邮箱中任何项目的所有用户活动。 有关如何搜索 Microsoft Graph 活动日志的详细信息,请参阅 Microsoft Graph 活动日志。
索赔 | Exchange Online 审核日志中的属性名称 |
---|---|
oid | UserId |
tid | 租户ID |
sid | SessionId(会话ID) |
设备ID | DeviceId(仅适用于已注册和已加入域的设备) |
uti | 登录活动标识符 |
iat | TokenIssuedAt |
使用 KQL 合并登录日志和 Microsoft Graph 活动日志
可以使用 KQL 加入 Microsoft Entra 登录日志和 Microsoft Graph 活动日志。 可以按 uti
属性筛选日志,以按特定访问令牌分析所有活动。 或者,您可以根据声明筛选日志,以分析从根交互式身份验证获取的刷新令牌的所有访问令牌的活动。 可以使用其他属性(例如 UserId
, DeviceId
等等)进一步筛选日志。
MicrosoftGraphActivityLogs
| where TimeGenerated > ago(4d) and UserId == '4624cd8c-6c94-4593-b0d8-a4983d797ccb'
| join kind=leftouter (union
SigninLogs,
AADNonInteractiveUserSignInLogs,
AADServicePrincipalSignInLogs,
AADManagedIdentitySignInLogs,
ADFSSignInLogs
| where TimeGenerated > ago(4d))
on $left.SignInActivityId == $right.UniqueTokenIdentifier
有关 Log Analytics 工作区中的查询的详细信息,请参阅使用 Log Analytics 分析Microsoft Entra活动日志。
场景演练
让我们演练一个用户登录到 office.com 的示例。 然后,用户访问 Microsoft Graph,并执行一些命令。 最后,用户访问 Exchange Online 以使用 Outlook 电子邮件,并执行一些邮件操作。
在登录日志中找到某项交互式登录日志行,并捕获该行的
SessionId
:添加依据
SessionId
的筛选器。 您可以获取可用于交互式或非交互式登录的SessionId
。交互式登录:
非交互登录:
若要获取此特定会话中用户完成的 Microsoft Graph 工作负载上的所有活动,请转到 Microsoft Entra 管理中心中的 Log Analytics,并运行查询以加入 Microsoft Entra 登录日志并Microsoft Graph 活动日志。 以下查询筛选依据
UserId
和SessionId
。可以对 (uti 声明) 属性进行进一步
SignInActivityId
筛选,以了解特定请求访问的更多详细信息。若要获取 Exchange Online 活动,请打开 Microsoft Purview 门户并按用户或记录类型进行搜索。
导出数据。
日志条目具有所有可链接标识符。 可以按
UniqueTokenId
搜索每个唯一活动,并按AADSessionId
搜索会话中的所有活动。