如何在 WordPress 上阻止失败的登录尝试

已发表: 2021-10-26

登录失败可能有多种原因。 通常,这只是用户真正忘记了密码的结果。 它发生在我们最优秀的人身上,这样我们就不会做出过于严厉的判断。 然而,有时可能会发生更严重的事情——有人试图闯入。

登录失败故障排除的艺术

像所有其他 WordPress 问题一样,故障排除(也就是追根溯源)是我们需要采取的第一步。 这将帮助我们确保我们正在处理实际问题而不是其症状。 幸运的是,有一个简单的方法可以开始这个过程——查看数据。 本质上,您应该看到以下两件事之一:

  • 错误的用户名和错误的密码组合

错误的用户名和密码组合可能有两个原因之一。 有人或某事试图猜测用户名/密码组合以获得访问权限,或者这是有针对性的攻击。 在第一个选项的情况下,这是很常见的情况。 否则,它可能是对您网站的有针对性的攻击,以获取访问权限或使您的网站过载 (DoS/DDoS)。

  • 正确的用户名和错误的密码组合

正确的用户名和错误的密码组合可能意味着两件事之一。 要么是有人忘记密码的真实案例,要么是有人发现了在您的 WordPress 上注册的实际用户名,现在正试图猜测密码。

您应该记住的另一件事是频率。 短时间内的大量尝试通常是自动攻击的标志。 另一方面,缓慢且不规则的时间表是一个人还没有喝咖啡的迹象。

登录尝试失败过多的危险

密码猜测攻击非常普遍。 太多失败的 WordPress 登录尝试通常表明存在此类攻击。 如果没有办法对此进行管理,您可能会使您的网站容易受到攻击和破坏。 幸运的是,管理这种风险非常容易,并且只需要很少的管理工作。

当登录尝试失败时,WordPress 不提供任何限制或采取规避措施的功能。 用户可以继续尝试令人作呕,直到他们做对为止。 虽然给人们额外的机会可以被认为是合乎道德的事情,但施加限制和控制对于确保您的 WordPress 网站的安全性和完整性大有帮助。

如何防止在 WordPress 上尝试登录失败

实施 WordPress 登录失败策略比听起来容易。 主要有两个选项可供选择,我们现在将讨论。

手动限制失败的登录

如果您希望在没有插件的情况下限制 WordPress 登录失败,您可以修改活动主题的 function.php 文件并添加相关代码。 有几种方法可以将自定义代码添加到 WordPress 网站; 但是,这需要对 PHP 以及 WordPress 的工作原理有很好的了解。

安装插件

还有另一个也是最实用的选择——使用插件。 插件有各种形状和大小,包括仅限制登录尝试的插件和允许您在 WordPress 上强制执行密码安全策略以实现更严格控制和安全性的插件。

WPassword 就是这样一个 WordPress 插件。 它使管理员可以更好地控制密码在其 WordPress 网站上的使用和管理方式。 除了许多其他功能外,它还包括设置明确处理失败登录尝试的策略的能力。

其他需要考虑的事项

另一个值得一提的选择是 CAPTCHA。 Advanced noCaptcha 和 invisible Captcha 等插件非常适合帮助您阻止自动攻击。 由于需要在尝试记录之前完成验证码,因此此类攻击背后的机器人无法通过测试,并且不会进行单次登录尝试。

在有关失败登录策略的对话中往往会出现的另一个选项是阻止 IP。 通过此选项,有问题的 IP 被列入黑名单,从一开始就阻止它访问您的网站。 虽然这在技术上是正确的,但持续存在的恶意行为者可以简单地使用不同的 IP - 他们可以轻松做到这一点。 正因为如此,封杀IP的策略往往以猫鼠游戏告终。

一个更好的选择是使用 CDN(内容交付网络)并让他们处理阻止违规 IP。 这可以为您节省宝贵的时间,您可以将其投资于富有成效的事情上。

如何设计 WordPress 失败的登录策略

在我们开始在 WordPress 网站上执行失败的登录策略之前,我们需要考虑一些事情。 与所有其他与安全相关的问题一样,管理失败的登录尝试也存在安全/可用性悖论。 越安全的东西,它就越不可用。 反之亦然。 不允许任何人登录非常安全,但几乎无法使用。 给用户无限的登录机会可能会损害安全性,但会增加可用性。

您需要了解的是您愿意给用户多少回旋余地。 传统上,三种尝试被认为是充分和合理的。 有些人不同意这个概念,并将允许的最大登录尝试次数设置为十次。 无论哪种方式,提供无限制的登录尝试都不是一个好策略,并且可能会产生负面影响。

事情的真相是没有正确或错误的答案。 三是一个安全的数字,但它会增加管理开销。 十个可能具有较低的管理开销,但会带来更大的风险。

因此,您可能希望首先将登录尝试次数限制为 3 次,然后评估情况。 使用 WPassword 时,更改此数字非常容易。 因此,您可以非常轻松地使政策适应您的用户和环境。

如果您还考虑一下帐户被锁定时会发生什么,那将是最好的。 帐户应该在预先配置的时间窗口后自动解锁,还是应该由管理员手动解锁? 这个问题屈服于与之前相同的问题:您需要在可用性和安全性之间做出决定。 可能影响这部分策略的另一个重要方面是用户的位置。 如果人们从世界的另一端登录,您是否乐意凌晨两点醒来解锁帐户? 如果没有,用户应该等待多长时间才能再次登录? 这会影响他们的生产力或您的底线吗?

选择正确的插件(和策略)来管理 WordPress 失败的登录

一旦您了解了您希望密码和登录失败策略的样子,您就需要开始着手实施了。 我们之前提到 WPassword 作为主要候选人。 它提供了许多配置选项,让您在配置和实施密码策略时有相当大的余地。

为 WordPress 启用登录失败策略后,您可以选择用户在其帐户被锁定之前尝试的次数。 您还可以决定如何解锁以及是否要强制用户更改密码,如下所述。

第 1 步:安装并激活 WPassword

安装 WPassword 很容易。 您可以直接从 WP White Security 的网站下载密码安全插件,然后将其上传到您的 WordPress 网站。

安装插件后,单击 WordPress 侧面菜单中的插件,找到插件,然后单击激活。 这将添加一个名为Password Policies的新菜单选项,您需要单击该选项。

步骤 2:启用失败登录策略

勾选启用失败登录策略旁边的复选框以限制 WordPress 网站上的失败登录尝试。 输入锁定用户之前登录尝试失败的次数,通常认为 3 到 5 次是一个好的开始。

启用失败登录策略

其他配置选项包括帐户被锁定后会发生什么,以及是否需要被阻止的用户在解除阻止时重置密码。 有关详细信息,请参阅 WordPress 登录失败策略知识库文章。

第 3 步:采取额外的安全措施

验证码

我们还谈到了 CAPTCHA——在许多登录和表单中普遍存在的测试,旨在让人类通过,同时阻止机器人和其他形式的自动攻击。 Advanced no Captcha 和 invisible Captcha 等插件使实施此类测试变得超级容易,同时提供通用兼容性和对不同版本的支持。

两因素身份验证

在提高登录过程的安全性时,双因素身份验证是必不可少的。 通过此过程,用户需要通过输入通过智能手机提供的一次性密码进行第二次身份验证。 通过使用 2FA(您可以通过 WP 2FA 等插件轻松完成),您可以确保即使密码被泄露,除非此人的手机与该用户帐户绑定,否则他们将无法登录。

第 4 步:更进一步(可选)

有了密码和失败的登录策略、验证码和双因素身份验证,您应该得到很好的保障。

但是,如果您的网站仍然遇到大量失败的登录尝试,您应该考虑使用 CDN 服务。 您可能想与您的网络托管服务提供商联系,以帮助您实施适合大规模攻击的解决方案。

WordPress密码安全需要360度的方法

正如我们在整篇文章中所看到的,在实施密码策略时需要考虑几个因素。 虽然阻止失败的 WordPress 登录是一个很好的第一步(也是必要的一步),但通过采用 360 度方法,您可以更加安全。 这不仅可以帮助您覆盖所有基础,还可以帮助您激发对 WordPress 网站的更多信任和信心。

360 度方法着眼于几个因素,包括插件和主题、托管、TLS、WordPress 核心等。 这样,您可以确保您的 WordPress 安全性处于最佳状态。