Advanced Threat Analytics 归档 - Microsoft 365 Blog Tue, 28 Jun 2022 18:33:28 +0000 zh-CN hourly 1 https://wordpress.org/?v=6.6.2 Azure AD 和 ADFS 的最佳做法:防御密码喷洒攻击 http://approjects.co.za/?big=zh-cn/microsoft-365/blog/2018/03/05/azure-ad-and-adfs-best-practices-defending-against-password-spray-attacks/ Mon, 05 Mar 2018 17:00:17 +0000 大家好, 只要我们拥有密码,总会有人试图猜出它们。在本博客中,我们将讨论一种近期出现频率相当高的常见攻击,以及

The post Azure AD 和 ADFS 的最佳做法:防御密码喷洒攻击 appeared first on Microsoft 365 Blog.

]]>
大家好,

只要我们拥有密码,总会有人试图猜出它们。在本博客中,我们将讨论一种近期出现频率相当高的常见攻击,以及用于防御这种攻击的一些最佳做法。这种攻击通常被称为密码喷洒

在密码喷洒攻击中,攻击者在许多不同的帐户和服务之间尝试最常见的密码,借此访问他们可以找到的任何受密码保护的资产。通常情况下,许多不同的组织和标识提供者都会遭受这种攻击。例如,攻击者将使用常见的可用工具包(比如 Mailsniper)来枚举几个组织中的所有用户,燃烧室内后对他们的帐户尝试“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

这种攻击模式可以躲避大部分检测技术,因为从个人或公司的角度来看,这种攻击看起来只是一次登录失败。

对于攻击者来说,这是一个数字游戏:他们知道有些密码相当常见。即使只有 0.5-1.0% 的帐户使用极为常见的密码,攻击者仍可在每一千个受攻击的帐户中得手几个,这样已经足够有效了。

他们使用帐户从电子邮件中获取数据、收集联系信息,然后发送仿冒链接或仅扩展密码喷洒目标组。攻击者并不在乎这些初始目标都是谁 – 只是他们有些利用价值罢了。

好消息是 Microsoft 有许多已实现的工具可用于拦截这些攻击,并且很快将推出更多的工具。请继续阅读,了解在接下来的几个月中可以采取哪些措施来阻止密码喷洒攻击。

阻止密码喷洒攻击的四个简单步骤

步骤 1:使用云身份验证

在云中,我们每天可以看见数十亿的用户登录到 Microsoft。利用我们的安全检测算法,可在攻击发生时对其进行检测和阻止。因为这些都是云驱动的实时检测和保护系统,仅在云中进行身份验证时可用(包括直通身份验证)。

智能锁定

在云中,我们使用智能锁定来区分那些看似来自有效用户实则可能来自攻击者的登录尝试。我们可以在阻止攻击者的同时让有效用户继续使用帐户。这样可以防止对用户进行拒绝服务攻击,而且还能阻止疯狂的密码喷洒攻击。此做法适用于所有 Azure AD 登录(不论许可证级别如何)和所有 Microsoft 帐户登录。

自 2018 年 3 月起,使用 Active Directory 联合身份验证 (ADFS) 的租户在 Windows Server 2016 的 ADFS 中,将可以本机使用智能锁定(通过 Windows Upadate 可找到此功能)。

IP 锁定

IP 锁定的工作原理是分析数十亿次登录,针对每个登录 Microsoft 系统的 IP 地址,评估其流量特性。通过这种分析,IP 锁定能找到行迹可疑的 IP 地址并实时阻止这些登录。

攻击模拟

现提供公共预览版,利用 Office 365 威胁智能中的攻击模拟器,客户可以对他们的最终用户启动模拟攻击,确定用户在攻击事件中会作何反应,然后更新策略,确保相应的安全工具均已就位,保护组织免受密码喷喷洒攻击等威胁。

我们建议你尽快完成以下各项:

  1. 如果你正在使用云身份验证,那么对你也适用
  2. 如果你正在使用 ADFS 或其他混合方案,请查找 2018 年 3 月针对智能锁定的 ADFS 升级
  3. 使用攻击模拟器主动提升安全状况并作出调整

步骤 2:使用多重身份验证

密码是访问帐户的钥匙,但在一次成功的密码喷洒攻击中,攻击者已经猜出了正确的密码。为了阻止他们,仅仅使用一个密码来区分帐户所有者和攻击者是不够的,我们还需要采取其他措施。为此,可以使用以下三种措施。

基于风险的多重身份验证

Azure AD Identity Protection 使用上述的登录数据并添加了高级计算机学习和算法检测,对每一个接入系统的登录进行风险评分。这样使得企业客户可以在 Identity Protection 中创建策略,当且仅当检测到用户或会话存在风险时,提示用户使用第二因素进行身份验证。这样既可以减轻用户的负担又能有效阻止攻击者。详细了解 Azure AD Identity Protection

始终启用多重身份验证

为使安全性得到更进一步的提升,可以使用 Azure MFA 始终要求用户在云身份验证和 ADFS 中进行多重身份验证。此功能要求最终用户始终并更加频繁地对其设备执行多重身份验证,为所在企业提供超强的安全性。组织中的每个管理员都应启用此功能。详细了解 Azure 多重身份验证如何配置 ADFS 的 Azure MFA

使用 Azure MFA 作为主要身份验证方式

在 ADFS 2016 中,你可以使用 Azure MFA 作为无密码身份验证的主要身份验证方式。它是防御密码喷洒和密码盗窃攻击的有效工具:没有密码,就无法猜测密码。这对具有多种因素验证的所有设备类型都有效。此外,只有在使用 Azure MFA 验证 OTP 后,才能使用密码作为第二个因素。详细了解如何使用密码作为第二因素

我们建议你尽快完成以下各项:

  1. 我们强烈建议组织中的所有管理员启用“始终启用多重身份验证”,尤其是订阅所有者和租户管理员。说真的,即刻行动吧。
  2. 为使其余用户获得最佳体验,我们建议使用 Azure AD Premium P2 许可证提供的“基于风险的多重身份验证”功能。
  3. 否则,请使用 Azure MFA 进行云身份验证和 ADFS。
  4. 对于 ADFS,在 Windows Server 2016 上升级到 ADFS 才能使用 Azure MFA 作为主要身份验证方式,对所有 Extranet 访问来说尤其如此。

步骤 3:让所有用户使用安全性更强的密码

即使有了所有上述措施,对所有用户而言,防御密码喷洒最关键的一点还是使用难以猜测的密码。对于用户而言,创建难以猜测的密码并不容易。Microsoft 的这些工具可助你一臂之力。

禁止密码

在 Azure AD 中,所有的密码更改和重置操作都要经过禁止密码检查程序。提交新密码时,系统会将其与一个单词列表进行模糊匹配,任何人都不应使用此列表中的单词创建密码(l33t-sp3@k 拼写没用)。如果匹配,系统将拒绝该密码,并要求用户选择更难猜测的密码。我们创建了最常被攻击的密码的列表,并且会时常更新。

自定义禁止密码

为使禁止密码更加有效,我们将允许租户自定义禁止密码列表。管理员可以选择组织中常见的单词(著名员工和创始人、产品、地点、区域图标等等),并禁止在用户密码中使用这些单词。除了全局列表之外,还将强制执行此列表,因此不必在两者之间进行选择。该功能现提供有限预览版,将在今年正式发布。

本地更改的禁止密码

今年春季,我们将推出一个工具,让企业管理员在混合 Azure AD-Active Directory 环境中禁止密码。禁止密码列表将从云同步到本地环境中,并在代理的每个域控制器上强制执行。这样可以帮助管理员确保无论用户在何处(云或者本地)更改密码,密码将难以猜测。这项功能将于 2018 年 2 月推出有限个人预览版并在今年正式发布。

改变你对于密码的观念

关于什么才是安全性高的密码,许多相关概念都是错误的。通常,数学上应该有用的东西实际上会产生可预测的用户行为。例如,要求某些字符类型和定期更改密码都会形成特定的密码模式。阅读密码指南白皮书了解详细信息。如果你正在使用带有 PTA 或 ADFS 的 Active Directory,请更新密码策略。如果你正在使用云托管帐户,请考虑将密码设置为永不过期

我们建议你尽快完成以下各项:

  1. 当 Microsoft 禁止密码工具发布时,请将其安装到本地,以帮助用户创建安全性更高的密码。
  2. 检查密码策略并考虑将其设置为永不过期,使用户不使用季节性模式创建密码。

步骤 4:ADFS 和 Active Directory 中的更多出色功能

如果你正在使用 ADFS 和 Active Directory 的混合身份验证,可以采取更多步骤来保护环境免受密码喷洒攻击。

第一步:对于运行 ADFS 2.0 或 Windows Server 2012 的组织,请计划尽快移至 Windows Server 2016 中的 ADFS。最新版本即将更新并附带一系列丰富的功能,例如,Extranet 锁定。另请注意:我们已简化从 Windows Server 2012R2 升级到 Windows Server 2016R2 的过程。

阻止来自 Extranet 的旧式身份验证

旧式身份验证协议无法强制执行 MFA,因此最好的方式是阻止来自 Extranet 的身份验证。这将防止密码喷洒攻击者利用这些协议上缺少 MFA 的漏洞。

启用 ADFS Web 应用程序代理 Extranet 锁定

如果在 ADFS Web 应用程序代理中没有启用 Extranet 锁定,应尽快启用该功能,以保护用户免受潜在的密码暴力危害。

部署用于 ADFS 的 Azure AD Connect Health

Azure AD Connect Health 捕获 ADFS 日志中记录的 IP 地址,以获取错误的用户名/密码请求,提供有关一系列方案的其他报告,并在打开辅助支持案例时为支持工程师提供更多信息。

若要部署,请在所有 ADFS 服务器上下载用于 ADFS 的 Azure AD Connect Health 代理的最新版本 (2.6.491.0)。ADFS 服务器必须运行 Windows Server 2016 或安装了 KB 3134222 的 Windows Server 2012 R2。

使用无密码访问方式

没有密码,就无法猜测密码。这些无密码身份验证方式可用于 ADFS 和 Web 应用程序代理:

  1. 基于证书的身份验证允许在防火墙彻底阻止用户名/密码终结点。详细了解 ADFS 中基于证书的身份验证
  2. 如上所述,Azure MFA 可用作云身份验证和 ADFS 2012 R2 和 2016 的第二因素。但是,它也可用作 ADFS 2016 中的主要因素,以彻底阻止密码喷洒的可能性。了解如何使用 ADFS 配置 Azure MFA
  3. Windows Hello 企业版在 Windows 10 中可用,并且受 Windows Server 2016 中的 ADFS 支持,它基于与用户和设备相关联的强加密密钥,能够实现完全无需密码(包括来自 Extranet)的访问。此功能适用于已加入 Azure AD 或混合 Azure AD 的企业托管设备,以及通过设置应用中的“添加工作或学校帐户”加入的个人设备。获取 Hello 企业版的详细信息

我们建议你尽快完成以下各项:

  1. 升级到 ADFS 2016 以更快获取更新
  2. 阻止来自 Extranet 的旧式身份验证。
  3. 在所有 ADFS 服务器上部署用于 ADFS 的 Azure AD Connect Health 代理。
  4. 考虑使用无密码主要身份验证,例如 Azure MFA、证书或 Windows Hello 企业版。

附加优势:保护 Microsoft 帐户

如果你是 Microsoft 帐户用户:

  • 好消息,你已受到保护!Microsoft 帐户还拥有智能锁定、IP 锁定、基于风险的双重验证以及禁止密码等功能。
  • 但是,请花费两分钟时间转到 Microsoft 帐户的安全页,然后选择“更新安全信息”,检查基于风险的双重验证所用的安全信息
  • 考虑从此处启用“始终打开双重验证”,最大限度提高帐户安全性。

最好的防御方式是…按照此博客中的推荐执行

密码喷洒会对 Internet 上使用密码的所有服务形成严重威胁,但是执行本博客中的步骤将在很大程度上帮助你防御这些攻击。并且,由于大多数的攻击特征相似,这些都是很好的保护建议,仅此而已。我们一直将安全性置于首位,不断努力开发新的、高级的保护方式,用于防御密码喷洒和所有其他类型的攻击。立即使用上述方法,时常检查新工具,防御 Internet 上的攻击者们。

希望这些信息能为你提供帮助。和往常一样,非常欢迎你提供任何反馈或建议。

此致,

Alex Simons (Twitter: @Alex_A_Simons)

项目管理总监

Microsoft 身份部门

The post Azure AD 和 ADFS 的最佳做法:防御密码喷洒攻击 appeared first on Microsoft 365 Blog.

]]>