利用 Microsoft Entra 智能锁定保护用户帐户免受攻击

智能锁定功能用于锁定那些试图猜测用户密码或使用暴力破解方法进入系统的恶意行动者。 智能锁定功能可识别有效用户的登录,将其与攻击者和其他未知来源的登录区别对待。 攻击者会被锁定,而你的用户可继续访问其帐户,工作效率很高。

智能锁定的工作原理

默认情况下,智能锁定会在发生以下情况时锁定要登录的帐户:

  • 在由世纪互联租户运营的 Azure 公有云和 Microsoft Azure 中尝试 10 次登录失败
  • 尝试登录 Azure 美国政府租户 3 次失败

之后每次后续登录尝试失败后,帐户将再次锁定。 锁定时间第一次为一分钟,后续会不断延长。 若要最大程度地减少攻击者可绕过此行为的方法,我们不公开锁定时段随不成功登录尝试增长的速率。

智能锁定跟踪最后三个错误的密码哈希,以避免对相同密码增大锁定计数器。 如果有人多次输入同一个错误密码,此行为不会导致帐户被锁定。

注意

对于启用了直通身份验证的客户,哈希跟踪功能不可用,因为身份验证是在本地而不是在云中进行的。

使用 Active Directory 联合身份验证服务 (AD FS) 2016 和 AD FS 2019 的联合身份验证部署可以使用 AD FS Extranet 锁定和 Extranet 智能锁定来实现类似好处。 建议迁移到托管身份验证

智能锁定对于所有 Microsoft Entra 客户始终可用,这些默认设置提供了合适的组合安全性和可用性。 要使用组织特定的值自定义智能锁定设置,需要向用户提供 Microsoft Entra P1 或更高版本的许可证。

使用智能锁定并不能保证真正的用户永远不会被锁定。当智能锁定锁定用户帐户时,我们将尽最大努力不锁定真正的用户。 锁定服务会尽力确保不良参与者无法访问真正的用户帐户。 请注意以下事项:

  • Microsoft Entra 数据中心之间的锁定状态已同步。 但是,在帐户被锁定之前允许的失败登录尝试总数与配置的锁定阈值略有不同。 帐户被锁定后,会在所有 Microsoft Entra 数据中心的任何位置被锁定。
  • 智能锁定使用熟悉的位置与不熟悉的位置来区分不良参与者与真正的用户。 不熟悉的位置和熟悉的位置都具有独立的锁定计数器。
  • 帐户锁定后,用户可以启动自助密码重置 (SSPR) 再次登录。 如果用户在 SSPR 期间选择“我忘记了密码”,则锁定的持续时间将重置为 0 秒。 如果用户在 SSPR 期间选择“我知道我的密码”,则锁定计时器会继续,锁定的持续时间不会重置。 若要重置持续时间并再次登录,用户需要更改其密码。

智能锁定可与混合部署集成,使用密码哈希同步或直通身份验证来避免攻击者锁定本地 Active Directory 域服务 (AD DS) 帐户。 通过在 Microsoft Entra 中适当地设置智能锁定策略,可在攻击到达本地 AD DS 之前将其筛选掉。

使用直通身份验证时,请注意以下事项:

  • Microsoft Entra 锁定阈值小于 AD DS 帐户锁定阈值。 设置这些值,使 AD DS 帐户锁定阈值至少是 Microsoft Entra 锁定阈值的二倍或三倍。
  • Microsoft Entra 锁定持续时间必须设置为长于 AD DS 帐户锁定持续时间。 Microsoft Entra 持续时间设置为以秒为单位,而 AD DS 持续时间设置为以分钟为单位。

例如,如果希望 Microsoft Entra 智能锁定持续时间长于 AD DS,则 Microsoft Entra 将为 120 秒(2 分钟),而本地 AD 将设置为 1 分钟(60 秒)。 如果希望 Microsoft Entra 锁定阈值为 5,则需要本地 AD DS 锁定阈值为 10。 此配置将确保智能锁定可防止本地 AD DS 帐户被针对 Microsoft Entra 帐户的暴力攻击锁定。

重要

如果智能锁定功能锁定了用户的云帐户,管理员可以解锁这些帐户,而无需等待锁定时长。 有关详细信息,请参阅使用 Microsoft Entra ID 重置用户密码

验证本地帐户锁定策略

若要验证本地 AD DS 帐户锁定策略,请使用管理员特权在已加入域的系统中完成以下步骤:

  1. 打开“组策略管理”工具。
  2. 编辑包含组织帐户锁定策略的组策略,例如默认域策略。
  3. 浏览到“计算机配置”>“策略”>“Windows 设置”>“安全设置”>“帐户策略”>“帐户锁定策略”。
  4. 验证“帐户锁定阈值”和“在此后重置帐户锁定计数器”值。

Modify the on-premises Active Directory account lockout policy

管理 Microsoft Entra 智能锁定值

根据组织要求,可自定义 Microsoft Entra 智能锁定值。 要使用组织特定的值自定义智能锁定设置,需要向用户提供 Microsoft Entra P1 或更高版本的许可证。 智能锁定设置自定义不适用于由世纪互联运营的 Microsoft Azure 租户。

若要检查或修改组织的智能锁定值,请完成以下步骤:

  1. 至少以身份验证管理员的身份登录到 Microsoft Entra 管理中心

  2. 浏览到“保护”>“身份验证方法”>“密码保护”。

  3. 根据帐户在第一次锁定之前允许的登录失败次数,设置“锁定阈值”

    Azure 公共租户的默认值为 10,Azure 美国政府租户的默认值为 3。

  4. 将“锁定持续时间(以秒计)”设置为每次锁定的时长(以秒计)

    默认值为 60 秒(一分钟)。

注意

如果锁定期到期后的首次登录也失败了,则帐户会再次锁定。 如果帐户重复锁定,则锁定持续时间增加。

Customize the Microsoft Entra smart lockout policy in the Microsoft Entra admin center

测试智能锁定

触发智能锁定阈值后,会在帐户锁定时收到以下消息:

帐户暂时锁定以防止未经授权的使用。 请稍后再试!如果仍有问题,请与管理员联系。

测试智能锁定时,由于 Microsoft Entra 身份验证服务的地理分布和负载均衡特性,登录请求可能由不同的数据中心处理。

智能锁定跟踪最后三个错误的密码哈希,以避免对相同密码增大锁定计数器。 如果有人多次输入同一个错误密码,此行为不会导致帐户被锁定。

默认保护

除了智能锁定之外,Microsoft Entra ID 还会通过分析包含 IP 流量的信号和识别异常行为来防范攻击。 Microsoft Entra ID 会默认阻止这些恶意登录,不管密码有效性如何,都会返回 AADSTS50053 - IdsLocked 错误代码

后续步骤