发行说明:iThemes Security Pro 中的双因素代码添加了加密

已发表: 2022-10-21

在最新版本的 iThemes Security Pro 中,我们添加了加密以保护用于多因素登录身份验证的双因素身份验证 (2FA) 代码。 为确保您的站点使用此新功能,请在 wp-admin 插件仪表板中升级到 iThemes Security Pro 版本 7.2.2。

与任何新功能一样,我们确信对于新功能以及我们添加它的原因肯定存在疑问。 在这篇文章中,我们详细介绍了我们所做的更改,为什么我们选择为双因素身份验证添加额外的安全功能,以及对整个 WordPress 登录安全性当前状态的一些想法。

加密

双重身份验证代码存储的这种变化意味着什么?

iThemes Security 支持三种类型的双因素身份验证方法:移动应用程序、电子邮件和备份代码。 它们各自的功能略有不同。

当您使用电子邮件 2FA 时,iThemes Security 会生成一个随机的八位数代码并将其通过电子邮件发送给您。 我们将这个随机代码的所谓“哈希”存储在 WordPress 数据库中。 哈希让我们验证您是否给我们提供了与我们存储在数据库中的相同的八位代码。

但是,iThemes Security 无法将散列“解码”回原始的八位随机码。 这就是为什么如果您要求 iThemes Security “重新发送” 2FA 电子邮件,我们会生成一个新的随机代码,而不是重新向您发送我们在第一封电子邮件中发送的相同 2FA 代码。

这类似于 WordPress 如何验证您的密码是否正确。 但是,如果您忘记了密码,则必须创建一个新密码,WordPress 无法向您发送当前密码。

移动双因素是不同的。 每 30 秒在您的移动应用程序中出现一个新代码。 这是否意味着 iThemes Security 正在将每个新代码保存到数据库中? 不,相反 iThemes Security 使用“共享密钥”的概念。

当您在 iThemes Security 中设置 Mobile Two-Factor 时,我们会向您显示一个 QR 码,其中包含您帐户独有的密钥。 在您的双因素应用程序中扫描 QR 码会将密钥复制到您的手机。

当您使用您的移动应用程序登录时,iThemes Security 和您的手机都会根据“共享密钥”生成一个六位数的代码。 如果代码匹配,你就进去了!

与我们只需要存储哈希的基于电子邮件的两因素不同,这意味着我们必须以允许我们访问明文的方式存储移动应用程序的密钥。

绝大多数 WordPress 的两因素身份验证插件和服务都将两因素密钥存储在 WordPress 数据库中,iThemes Security 也不例外。 必须存储这些代码,以便当用户从手机或设备上的身份验证应用程序输入 2FA 代码时,安全插件可以匹配这些代码以验证尝试登录的用户。

将这些代码存储在数据库中是最安全的方法,因为存储在数据库中的任何信息只能由数据库用户及其密码访问。 这些凭据存储在您的 WordPress wp-config.php 文件中,这允许您的 WordPress 站点访问此数据库中的信息。

虽然有一些服务使用基于文件系统的方法来处理 2FA 代码,但 iThemes Security 和大多数其他主要的双因素身份验证服务都选择了更安全的数据库存储方法。

为了提高安全性,我们为这些存储在网站 WordPress 数据库中的代码添加了加密功能。 如果数据库以某种方式受到另一个漏洞的破坏,这种添加的加密会增加另一层安全性,以保护 WordPress 站点免受可能与其他漏洞结合的任意数量的基于登录的攻击。

为什么我们选择添加此功能

如果 WordPress 网站得到充分保护,那么暴露两因素身份验证代码的可能性就会很低。 但是,如果存在导致数据库访问受到威胁的托管服务提供商服务级别漏洞,或者如果插件或主题中存在积极利用的零日漏洞,则可以将未加密的双因素身份验证代码与另一个漏洞结合使用.

在 iThemes,我们客户的 WordPress 网站的安全性对我们的业务至关重要。 因此,即使是边缘案例的漏洞场景引起我们的注意,我们的第一反应和优先事项是这些站点的安全性。

我们的目标是让您的 WordPress 网站在每一个关头都安全,以便您网站的任何方面,从您的文件和数据库到您的登录过程,都受到保护,免受恶意攻击者的侵害。 有效防御攻击需要 WordPress 的所有方面都得到充分保护。

什么是双重身份验证?

双因素身份验证 (2FA) 是一种多因素身份验证 (MFA),它通过要求两种验证方法在系统(在本例中为 WordPress 站点)上验证您的身份来增强访问安全性。 这些因素可能包括您知道的信息,例如您的用户名或电子邮件和密码,以及您拥有的信息,例如使用身份验证应用程序访问您的设备以对您进行身份验证或确定您是谁。 Google Authenticator 等身份验证应用程序会生成一个基于时间的一次性密码,该密码每分钟都会更改。

密码是不够的

双重身份验证变得越来越重要,因为网络钓鱼攻击、社会工程攻击、密码暴力攻击和密码重用问题意味着单一的仅密码身份验证已经不够用了。

正是由于这样的问题,像 iThemes Security 这样的创新者使用生物特征认证和私钥/公钥密码术为真正的无密码登录添加了密码,以创建更复杂的认证协议来保护关键任务系统。 密码被破解,因此 iThemes Security Pro 是第一个允许使用密码进行无密码身份验证的 WordPress 安全插件。

使用密钥,双因素身份验证代码的存储不是问题,因为私钥/公钥加密使密码和 2FA 都过时了。

如果您的 WordPress 网站确实对您的企业或组织至关重要,那么使用 iThemes Security 可以证明您对保护该资产的承诺。 确保您提供无摩擦的无密码登录和加密的双因素身份验证功能,以向您的利益相关者展示您的组织对安全意识网站实施的承诺。

如果您还没有使用 iThemes Security Pro,您可以通过以下链接购买最好的 WordPress 安全插件的专业版。

感谢 Calvin Alkan 负责任地向我们披露该问题