风险 IP 报表工作簿

注意

若要使用风险 IP 报表工作簿,必须在“诊断设置”边栏选项卡中启用“ADFSSignInLogs”。 这是一种 Log Analytics 流,其中包含通过 Connect Health 发送到 Microsoft Entra ID 的 AD FS 登录信息。 若要详细了解 Microsoft Entra ID 中的 AD FS 登录,请在此处查看我们的文档。

AD FS 客户可以将密码身份验证终结点公开给 Internet,以便为最终用户提供身份验证服务,方便他们访问 Microsoft 365 等 SaaS 应用程序。 在这种情况下,恶意参与者可能会尝试登录 AD FS 系统,用猜测最终用户密码的方式获得应用程序资源的访问权限。 AD FS 提供 Extranet 帐户锁定功能,可以防止这些类型的攻击,自 AD FS 出现在 Windows Server 2012 R2 中以后就是这样。 如果所用版本较低,强烈建议将 AD FS 系统升级到 Windows Server 2016。

另外,单个 IP 地址可能会尝试针对多个用户进行多次登录。 在这些情况下,每个用户的尝试次数必须在 AD FS 中的帐户锁定保护阈值以下。 Microsoft Entra Connect Health 现在提供“风险 IP 报告”来检测这种情况并通知管理员。 下面是此报表的主要优点:

  • 检测超出基于密码的登录失败次数阈值的 IP 地址
  • 支持在密码错误或出现 Extranet 状态为锁定的情况下,强制登录失败
  • 支持通过 Azure 警报启用警报
  • 阈值设置可以自定义,因此可以与组织的安全策略相匹配
  • 可自定义的查询和扩展的可视化效果,用于进一步分析
  • 扩展了以前的风险 IP 报表中的功能,而以前的风险 IP 报表将在 2022 年 1 月 24 日之后弃用。

要求

  1. 适用于 AD FS 的 Connect Health 已安装并更新到最新的代理。
  2. 一个启用了“ADFSSignInLogs”流的 Log Analytics 工作区。
  3. 使用 Microsoft Entra ID 监视工作簿所需的权限。 若要使用工作簿,需要:
  • 具有 Microsoft Entra ID P1 或 P2 许可证的 Microsoft Entra 租户。
  • 对 Log Analytics 工作区的访问权限和 Microsoft Entra ID 中的以下角色(如果通过 Microsoft Entra 管理中心访问 Log Analytics):安全管理员、安全读取者、报告读取者全局管理员

报表中的内容

“风险 IP 报表”工作簿将 ADFSSignInLogs 流中的数据作为数据来源,可以快速可视化和分析风险 IP。 可以针对阈值计数配置和自定义参数。 工作簿还可以基于查询进行配置,并且每个查询都可以根据组织的需求进行更新和修改。

风险 IP 工作簿分析 ADFSSignInLogs 的数据,以帮助检测密码喷射或密码暴力攻击。 工作簿有两个部分。 第一部分“风险 IP 分析”根据指定的错误阈值和检测时段长度识别风险 IP 地址。 第二部分提供所选 IP 的登录详细信息和错误计数。

Screenshot that a view of the Workbook with locations.

  • 工作簿显示地图可视化效果和地区细分,用于快速分析风险 IP 位置。
  • 风险 IP 详细信息表与过去的风险 IP 报表的功能类似。 有关表中的字段的详细信息,请查看以下部分。
  • 风险 IP 时间线在时间线视图中显示请求的任何异常或峰值的快速视图
  • 按 IP 统计的登录详细信息和错误计数使得按 IP 或用户筛选的详细视图可以基于该详细信息表进行扩展。

风险 IP 报表表格中的每个项目都会显示有关失败的 AD FS 登录活动(失败次数超出指定阈值)的聚合信息。 它提供以下信息:Screenshot that shows a Risky IP report with column headers highlighted.

报告项 说明
检测时段开始时间 当检测时间窗口启动时,显示基于 Microsoft Entra 管理中心本地时间的时间戳。
所有每日事件都在 UTC 时间的午夜生成。
每小时事件的时间戳舍入为整点。 可以在已导出文件的“firstAuditTimestamp”中找到第一个活动开始时间。
检测时段长度 显示检测时间窗口的类型。 聚合触发器类型为每小时或每日。 这适用于检测高频暴力破解攻击,与之相反的是慢速攻击,后者在一天中的尝试攻击行动是分散的。
IP 地址 密码错误或者 Extranet 登录活动处于锁定状态的单一风险 IP 地址。 此地址可能是 IPv4 或 IPv6 地址。
“密码不正确”错误计数 (50126) 在检测时间窗口期间的 IP 地址中发生“密码不正确”错误的计数。 某些用户的“密码不正确”错误可能发生多次。 请注意,这不包括因密码过期而尝试失败的情况。
Extranet 锁定错误计数 (300030) 在检测时间窗口期间的 IP 地址中发生“Extranet 锁定”错误的计数。 某些用户的“Extranet 锁定”错误可能发生多次。 仅当在 AD FS(2012R2 或更高版本)中配置 Extranet 锁定的情况下,才会出现这种错误。 注意 强烈建议在允许使用密码进行 Extranet 登录的情况下启用此功能。
已尝试的唯一用户 在检测时间窗口期间的 IP 地址中进行了尝试的唯一用户的计数。 这样就提供了一种机制,用于区分单用户攻击模式和多用户攻击模式。

按 IP 地址或用户名筛选报表,以查看每个风险 IP 事件的登录详细信息的扩展视图。

访问工作簿

提示

本文中的步骤可能因开始使用的门户而略有不同。

访问工作簿:

  1. 至少以混合标识管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“混合管理”> *“监视和运行状况”>“工作簿”。
  3. 选择“风险 IP 报表工作簿”。

列表中的负载均衡器 IP 地址

负载均衡器聚合失败的登录活动并命中警报阈值。 如果出现负载均衡器 IP 地址,很可能是因为外部负载均衡器在将请求传递给 Web 应用程序代理服务器时未发送客户端 IP 地址。 请正确配置负载均衡器,使之传递转发客户端 IP 地址。

配置阈值设置

可以通过“阈值设置”更新警报阈值。 首先,系统已默认设置阈值。 阈值设置可以按“小时”或“天”检测时间进行设置,并且可以在筛选器中自定义。

Threshold Filters

阈值项 说明
错误密码 + Extranet 锁定阈值 阈值设置,用于在特定条件下报告活动并触发警报通知。该特定条件是:每小时或每天的“密码不正确”错误的计数加上“Extranet 锁定”错误的计数超出该阈值。
Extranet 锁定错误阈值 阈值设置,用于在特定条件下报告活动并触发警报通知。该特定条件是:每小时或每天的“Extranet 锁定”错误的计数超出该阈值。 默认值为 50。

可以通过筛选器上方用于自定义阈值的切换按钮配置“小时”或“天”检测时段长度。

通过 Microsoft Entra 管理中心使用 Azure Monitor 警报配置通知警报:

Azure Alerts Rule

  1. Microsoft Entra 管理中心的搜索栏中搜索“Monitor”,以便导航到 Azure“Monitor”服务。 从左侧菜单中选择“警报”,然后选择“+ 新建警报规则”。

  2. 在“创建警报规则”边栏选项卡上:

    • 范围:单击“选择资源”,然后选择包含了要监视的 ADFSSignInLogs 的 Log Analytics 工作区。
    • 条件:单击“添加条件”。 选择“日志”作为“信号类型”,并选择“Log Analytics”作为“监视服务”。 选择“自定义日志搜索”。
  3. 配置触发警报的条件。 若要匹配 Connect Health 风险 IP 报表中的电子邮件通知,请按照以下说明操作。

    • 复制并粘贴以下查询,并指定错误计数阈值。 此查询生成超过指定错误阈值的 IP 数。
ADFSSignInLogs
| extend ErrorCode = ResultType
| where ErrorCode in ("50126", "300030")
| summarize badPasswordErrorCount = countif(ErrorCode == "50126"), extranetLockoutErrorCount = countif(ErrorCode == "300030") by IPAddress
| where extranetLockoutErrorCount > [TODO: put error count threshold here] 

或者,对于合并阈值:

badPasswordErrorCount + extranetLockoutErrorCount > [TODO: put error count threshold here] // Customized thresholds

注意

该警报逻辑意味着,如果 Extranet 锁定错误计数中的至少一个 IP 或者错误密码与 Extranet 锁定错误合并计数超过指定的阈值,将会触发警报。 可以选择用于评估在检测风险 IP 时所用查询的频率。

常见问题解答

为何在报表中出现负载均衡器 IP 地址?
如果出现负载均衡器 IP 地址,很可能是因为外部负载均衡器在将请求传递给 Web 应用程序代理服务器时未发送客户端 IP 地址。 请正确配置负载均衡器,使之传递转发客户端 IP 地址。

如何才能阻止 IP 地址?
应该将标识的恶意 IP 地址添加到防火墙,或者在 Exchange 中进行阻止。

为何此报表中看不到任何项目?

  • 诊断设置中未启用“ADFSSignInLogs”Log Analytics 流。
  • 失败的登录活动数未超出阈值设置。
  • 确保在 AD FS 服务器列表中没有活动的“运行状况服务不是最新的”警报。 详细了解如何排查此警报问题
  • AD FS 场中未启用审核。

后续步骤