本系列文章中的概念证明(PoC)指南可帮助你了解、部署和测试 Microsoft Entra ID 保护,以检测、调查和修正基于标识的风险。
指南概述从Microsoft Entra ID 保护概念证明指南简介开始。
这些方案将继续提供详细的指导:
本文可帮助标识管理员开始掌握风险分析,以便使用 Azure Monitor 日志进行有效的修正。 以下列表突出显示分析区域:
- 跨用户和登录跟踪风险事件
- 将异常与 Microsoft Entra 条件访问 策略和登录日志相关联
- 识别潜在的威胁模式
- 将调查和遥测数据流增强至 Microsoft Defender XDR 和 Microsoft Sentinel,该工具是一种具有威胁情报和数据湖架构的安全信息与事件管理(SIEM)系统。
- 可以在 Microsoft Defender XDR 中搜索审核日志。
使用以下部分了解如何使用 Azure Monitor 日志和 Microsoft Entra ID Protection 管理常见的风险事件类型、已标记的用户和风险级别模式。
- 使用 AADUserRiskEvents 表启用风险分析
- 确保满足先决条件
- 创建 Log Analytics 工作区
- 识别有风险的用户
- 识别风险事件类型
- 检查风险级别
- Azure Monitor 日志参考表入门
使用 AADUserRiskEvents 表启用风险分析
标识风险每年都在速度和复杂性方面增长。 可以使用风险见解来掌握潜在标识攻击和泄露的量和详细信息。 启用 Azure Monitor 日志引用表以使用 Microsoft Entra ID Protection 分析风险见解,以检测、调查和修正标识风险。 风险数据用于访问决策工具或用于调查和关联的工具。 Microsoft Entra ID 防护不断更新,以帮助组织走在新兴威胁前面。 标识风险管理变得更加主动、可缩放且有效。
借助见解、参考表等,可以使用条件访问调查和修正标识风险,并构建有针对性的策略来解决组织的风险。
在 Azure Monitor 日志概述中了解详细信息。
在Microsoft Entra ID 保护中,有四个风险表可用于查询风险事件、有风险的用户和有风险 的服务主体。
- AADUserRiskEvents
- AADRiskyUsers
- AADServicePrincipalRiskEvents
- AADRiskyServicePrincipals
在本文中,重点是 AADUserRiskEvents 表。 若要详细了解如何识别组织的风险,请参阅以下视频。
使用 Microsoft Entra ID 保护掌握风险分析
确保满足先决条件
若要使用 Azure Monitor,请确保满足以下先决条件。
- Microsoft Entra ID P2 Premium 许可证
- 具有活动订阅的 Azure 帐户
- 了解 Azure 账户
- Microsoft.OperationalInsights/workspaces/write 权限访问 Log Analytics 工作区的资源组
- 了解 Log Analytics 贡献者角色,以 管理对 Log Analytics 工作区的访问权限
创建 Log Analytics 工作区
Log Analytics 工作区是一个数据存储,用于从 Azure 和非 Azure 资源和应用程序收集日志数据类型。 建议将所有日志数据发送到一个 Log Analytics 工作区。
- 创建 Log Analytics 工作区。
- 若要合并要分析的数据,请添加诊断设置。 请参阅以下列表:
- AuditLogs
- SignInLogs
- 非交互式用户登录日志
- 服务主体登录日志
- 托管身份登录日志
- RiskyUsers
- 用户风险事件
- RiskyServicePrincipals
- 服务主体风险事件
- 若要查看查询中心,请访问 Log Analytics 工作区。
- 选择“日志”。
- 搜索 风险。
- 找到 “最近用户风险事件”查询。
- 选择 运行。
- 从下拉列表中,将 简单模式 更改为 Kusto 查询语言模式(KQL 模式)。
KQL 模式选项的屏幕截图。
识别有风险的用户
本部分和以下部分说明了如何使用 Azure Monitor 分析风险。 有风险的用户有一个或多个有风险的登录,或其他有风险的操作。
- 运行查询以按 UserDisplayName 汇总计数。
- 在 DetectedDateTime < ago()中添加时间范围。
在以下示例查询中, 30d 是日期范围。
// Recent user risk events
// Gets list of the top 100 active user risk events.
AADUserRiskEvents
| where DetectedDateTime > ago(30d)
| where RiskState == "atRisk"
| take 100
| summarize count()by UserDisplayName
使用前面的查询来确定常见的用户模式,例如服务帐户,或生成大量风险的小用户子集。 在示例屏幕截图中,一个用户引起的风险事件数量明显多于其他用户。 如果单个用户在租户中引发不成比例的高风险,我们建议要求安全密码更改。
识别风险事件类型
在查看特定用户的使用模式信息后,建议深入分析检测结果,并按检测类型进行汇总。
- 使用 AADUserRiskEvents 表。
- 使用 RiskEventType 进行汇总。
示例查询
// Recent user risk events
// Gets list of the top 100 active user risk events.
AADUserRiskEvents
| where DetectedDateTime > ago(30d)
| where RiskState == "atRisk"
| take 100
| summarize count()by RiskEventType
在查看风险类型时,请注意大量风险。 在以下示例中,有多个已标记的风险事件。 大多数都与以下项相关:
-
unfamiliarFeatures - 检测不熟悉的用户登录属性
- 强制实施会话控制,例如登录频率、应用程序限制和持久性浏览器控件
-
anomalousToken - 设置条件访问策略以要求密码重置和执行多重身份验证(MFA)
- 阻止对高风险登录的访问
-
unlikelyTravel - 将指定的位置标记为信任的 IP 地址
- 为经常旅行的用户启用受信任位置
请参阅活动用户风险事件查询结果的以下屏幕截图。
检查风险级别
查看用户行为和风险事件类型后,建议下一步是再次检查 AADUserRiskEvents 表,以查看三个风险级别:低、中和高。 按级别汇总风险,并分析每个风险级别的总数。
示例查询
// Recent user risk events
// Gets list of the top 100 active user risk events.
AADUserRiskEvents
| where DetectedDateTime > ago(30d)
| where RiskState == "atRisk"
| take 100
| summarize count()by RiskLevel
在以下屏幕截图里,有许多检测总数,但只有三个被归类为高风险。 按敏感度(低、中或高)进行筛选有助于隔离最关键问题。 确定高风险检测的优先级首先会降低噪音,并确保解决最重要的威胁。 对于这些情况,我们建议实施基线条件访问策略,该策略对高风险用户强制实施安全密码更改。
详细了解访问控制决策: 什么是条件访问?
开始使用 Azure Monitor 日志参考表
若要开始,请浏览用于 Microsoft Entra ID Protection 的 Azure Monitor 日志引用表。 以下链接按名称提供表列表。 这些日志捕获关键见解,包括用户风险事件、有风险的用户、服务主体风险事件和有风险的服务主体等。