什么是密码攻击?

联合单一登录的一项要求是可以使用终结点通过 Internet 进行身份验证。 如果可以在 Internet 上使用身份验证终结点,则用户即使不在企业网络中,也可以访问应用程序。

这也意味着,某些恶意行动者可以利用 Internet 上的联合终结点来尝试确定密码或创建拒绝服务攻击。 一种越来越常见的此类攻击就是密码攻击。

常见的密码攻击有两种类型。 密码喷射攻击和暴力破解密码攻击。

密码喷射攻击

在密码喷洒攻击中,这些恶意行动者会尝试输入许多不同帐户和服务的最常用密码,以获取他们能够找到的任何受密码保护的资产的访问权限。 通常,这些攻击跨越许多不同的组织和标识提供者。 例如,攻击者使用常用工具包枚举多个组织中的所有用户,然后对所有这些帐户尝试输入“P@$$w0rD”和“Password1”。 为便于理解,下面显示了一种可能的攻击模式:

目标用户 目标密码
User1@org1.com Password1
User2@org1.com Password1
User1@org2.com Password1
User2@org2.com Password1
User1@org1.com P@$$w0rD
User2@org1.com P@$$w0rD
User1@org2.com P@$$w0rD
User2@org2.com P@$$w0rD

此攻击模式避开了大多数检测技术,因为从个人用户或公司的角度看,这种攻击看起来就像一次孤立的失败登录。

对于攻击者而言,这就是一种数字游戏:他们知道有一些密码是最常用的。 每攻击一千个帐户,攻击者就会成功几次,但这种效果已经足够了。 他们使用这些帐户从电子邮件中获取数据、收集联系信息、发送网络钓鱼链接,或者只是扩大密码喷洒攻击的目标群体。 攻击者不太关心谁是初始目标 – 只要成功了几次,他们就能利用成果。

但是,只需采取几个步骤来正确配置 AD FS 和网络,就可以防范 AD FS 终结点遭到此类攻击。 本文将介绍需要正确配置的、以帮助防御这些攻击的 3 个方面。

暴力密码攻击

在这种形式的攻击中,攻击者将针对一组目标帐户多次尝试输入密码。 在许多情况下,这些帐户属于在组织中拥有较高访问级别的用户。 这些人可能是组织中的高管,或管理关键基础结构的管理员。

此类攻击也可能会导致 DOS 模式的攻击。 这可能是服务级别的攻击,它会导致 AD FS 因服务器数量不足而无法处理大量请求。 这也可能是用户级别的攻击,它会导致用户被锁定,因而无法登录其帐户。

保护 AD FS 免受密码攻击

但是,只需采取几个步骤来正确配置 AD FS 和网络,就可以防范 AD FS 终结点遭到此类攻击。 本文将介绍需要正确配置的、以帮助防御这些攻击的 3 个方面。

  • 级别 1 - 基线:这是必须在 AD FS 服务器上配置的基本设置,用于确保恶意行动者无法暴力攻击联合用户。
  • 级别 2 - 保护 Extranet:这是必须配置的设置,用于确保将 Extranet 访问配置为使用安全协议、身份验证策略和适当的应用程序。
  • 级别 3 - 迁移到无密码身份验证进行 Extranet 访问:这是一些高级设置和准则,让用户可以使用更安全的凭据而不是容易受到攻击的密码来访问联合资源。

级别 1:基线

  1. AD FS 2016 中实施了 Extranet 智能锁定。Extranet 智能锁定跟踪常见的位置,如果有效用户以前从该位置成功登录过,则允许他们访问。 使用 Extranet 智能锁定,可以确保恶意行动者无法暴力攻击用户,同时让合法用户保持工作效率。

    如果你未使用 AD FS 2016,我们强烈建议升级到 AD FS 2016。 这是从 AD FS 2012 R2 升级的简单路径。 如果你使用的是 AD FS 2012 R2,请实施 Extranet 锁定。 此方法的一个缺点是,如果遭受暴力模式的攻击,有效用户可能无法进行 Extranet 访问。 Windows Server 2016 上的 AD FS 没有此缺点。

  2. 监视和阻止可疑 IP 地址

    如果有 Microsoft Entra ID P1 或 P2,则实现适用于 AD FS 的 Connect Health 并使用其提供的风险 IP 报告通知。

    a. 并非面向所有用户提供许可,每个 AD FS/WAP 服务器需要 25 个许可证,这对于客户而言可能并不困难。

    b. 现在可以调查生成大量失败登录结果的 IP。

    c. 这需要在 AD FS 服务器上启用审核。

  3. 阻止可疑 IP。 这可能会阻止 DOS 攻击。

    a. 如果使用的是 AD FS 2016,请使用 Extranet 受禁 IP 地址功能来阻止来自 #3(或手动分析)标记的 IP 的任何请求。

    b. 如果使用的是 AD FS 2012 R2 或更低版本,请直接在 Exchange Online 上阻止 IP 地址,也可以在防火墙上阻止。

  4. 如果有 Microsoft Entra ID P1 或 P2,则使用 Microsoft Entra 密码保护 来防止可猜测的密码进入 Microsoft Entra ID。

    a. 如果你使用可猜测的密码,只需尝试 1-3 次就可以破解它们。 此功能可防止设置这种密码。

    b. 根据我们的预览统计数据,有将近 20-50% 的新密码被阻止设置。 这意味着,有这么多的用户因为密码容易猜出而受到攻击。

级别 2:保护 Extranet

  1. 对于从 Extranet 进行访问的任何客户端,请迁移到新式身份验证。 其中很大一部分客户端是邮件客户端。

    a. 需要使用 Outlook Mobile 移动设备版。 新的 iOS 本机邮件应用也支持新式身份验证。

    b. 需要使用 Outlook 2013(装有最新 CU 修补程序)或 Outlook 2016。

  2. 为所有 Extranet 访问启用 MFA。 这可以在进行任何 Extranet 访问时提供额外的保护。

    a. 如果有 Microsoft Entra ID P1 或 P2,则使用 Microsoft Entra 条件访问策略来加以控制。 这比在 AD FS 上实施规则要好。 这是因为,新式客户端应用的执行频率更高。 在 Microsoft Entra ID 中,当使用刷新令牌请求新的访问令牌(通常每隔一小时请求)时,会发生这种情况。

    b. 如果没有 Microsoft Entra ID P1 或 P2,或者在 AD FS 上有其他允许进行基于 Internet 的访问的应用,则实现 Microsoft Entra 多重身份验证,并为所有 Extranet 访问配置全局多重身份验证策略

级别 3:迁移到无密码身份验证进行 Extranet 访问

  1. 迁移到 Window 10 并使用 Hello 企业版

  2. 对于其他设备,如果使用的是 AD FS 2016,你可以使用 Microsoft Entra 多重身份验证 OTP 作为第一因素,使用密码作为第二因素。

  3. 对于移动设备,如果你只允许 MDM 托管设备,则可以使用证书将用户登录。

紧急处理

如果 AD FS 环境受到活跃攻击,应尽早实施以下措施:

  • 在 AD FS 中禁用用户名和密码终结点,并要求每个人使用 VPN 来访问或进入你的网络。 这需要事先完成级别 2 #1a 步骤。 否则,所有内部 Outlook 请求仍将使用 EXO 代理身份验证通过云进行路由。
  • 如果攻击仅通过 EXO 发起,你可以使用身份验证策略禁用 Exchange 协议(POP、IMAP、SMTP、EWS 等)的基本身份验证,大多数此类攻击都使用这些协议和身份验证方法。 此外,EXO 中的客户端访问规则和每个邮箱的协议启用情况在身份验证后评估的,无助于缓解攻击。
  • 使用级别 3 #1-3 有选择地提供 Extranet 访问。

后续步骤