通过智能锁定缓解 Azure AD B2C 中的凭据攻击

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

凭证攻击会导致对资源进行未经授权的访问。 用户设置的密码需要相当复杂。 Azure AD B2C 具有针对凭据攻击的缓解技术。 缓解措施包括检测暴力凭证攻击和字典凭证攻击。 通过使用各种信号,Azure Active Directory B2C (Azure AD B2C) 分析请求的完整性。 Azure AD B2C 旨在智能地区分目标用户与黑客和僵尸网络。

智能锁定的工作原理

Azure AD B2C 使用复杂的策略来锁定帐户。 帐户将根据请求的 IP 和输入的密码进行锁定。 锁定的持续时间也会根据存在攻击的可能性而延长。 在尝试密码 10 次未成功(默认尝试阈值)后,将发生 1 分钟的锁定。 在帐户解锁后(即,在锁定期到期后,服务自动解锁帐户后)下次登录不成功时,将再次发生一分钟的锁定,并针对每次不成功的登录继续。 重复输入相同或类似的密码不算作多次登录失败。

注释

用户流、自定义策略ROPC 流支持此功能。 它默认处于激活状态,因此您无需在用户流或自定义策略中对其进行配置。

解锁账户

前 10 个锁定期为 1 分钟。 接下来的 10 个锁定期略长,并且在每 10 个锁定期后持续时间会增加。 如果帐户未锁定,则锁定计数器在成功登录后重置为零。 锁定期最长可达 5 小时。 用户必须等待锁定持续时间到期。 但是,用户可以使用自助 密码用户流解锁。

管理智能锁定设置

要管理智能锁定设置,包括锁定阈值,请执行以下作:

  1. 登录到 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 在左侧菜单中,选择“Azure AD B2C”。 或者,选择“所有服务”并搜索并选择“Azure AD B2C”。

  4. “安全性”下,选择 “身份验证方法(预览版)”,然后选择 “密码保护”。

  5. Custom smart lockout (自定义智能锁定) 下,输入所需的智能锁定设置:

    • 锁定阈值:在帐户首次被锁定之前允许的失败登录尝试次数。如果锁定后的第一次登录也失败,则帐户将再次锁定。

    • 锁定持续时间(秒):每次锁定的最短持续时间(以秒为单位)。 如果账户反复锁定,则此持续时间会增加。

      Azure 门户 Microsoft Entra 设置中的“密码保护”页
      Password protection settings (密码保护 设置) 中将锁定阈值设置为 5

  6. 选择“保存”

测试智能锁定

智能锁定功能使用许多因素来确定何时应锁定帐户,但主要因素是密码模式。 智能锁定功能将密码的细微变化视为一组密码,并计为一次尝试。 例如:

  • 12456 等密码! 还有 1234567! (或 newAccount1234 和 newaccount1234)非常相似,以至于算法将它们解释为人为错误,并将其计为一次尝试。
  • 图案的较大变化,例如 12456! 和 ABCD2! 计为单独的尝试。

在测试智能锁定功能时,请为您输入的每个密码使用独特的模式。 考虑使用密码生成 Web 应用程序,例如 https://password-gen.com/.

当达到智能锁定阈值时,您将在账户被锁定时看到以下消息: 您的账户已暂时锁定,以防止未经授权的使用。请稍后重试。 可以将错误消息本地化

注释

测试智能锁定时,由于 Microsoft Entra 身份验证服务的地理分布和负载均衡特性,登录请求可能由不同的数据中心处理。 在这种情况下,由于每个 Microsoft Entra 数据中心独立地跟踪锁定,因此可能需要比所定义的锁定阈值更多的尝试次数才会导致锁定。 在被完全锁定之前,用户最多有 (threshold_limit * datacenter_count) 次错误尝试。有关详细信息,请参阅 Azure 全球基础结构

查看锁定的帐户

要获取有关锁定帐户的信息,您可以查看 Active Directory 登录活动报告。 在 Status (状态) 下,选择 Failure (失败)。 登录错误代码50053为“指示帐户已锁定”的登录尝试失败:

显示已锁定帐户的 Microsoft Entra 登录报告部分

若要了解如何在 Microsoft Entra ID 中查看登录活动报告,请参阅 登录活动报告错误代码