暴力破解保护限制了您网站上的登录尝试。
暴力登录攻击包括大量重复尝试猜测您的用户名和密码,以访问您的 WordPress 管理屏幕。这些攻击是自动进行的,用于猜测的用户名和密码通常来自大量数据泄露。限制网站允许的登录尝试次数并阻止尝试无效用户名的用户是保护自己免受此类攻击的两种方法。
wordfence
选项
可以通过“防火墙”页面上的“所有防火墙选项”链接找到“暴力破解保护”选项。
启用暴力破解保护
此选项是“暴力破解保护”标题下显示的所有项目的全局启用/禁用开关。这些包括:
登录失败多少次后锁定
如果访问者登录失败的次数达到指定次数,这将在指定的时间内锁定 IP 地址。请注意,真实用户通常会忘记密码,并在尝试记住用户名和/或密码时生成多达 5 次或更多次登录尝试。因此,我们建议您将其设置为 20,这为真实用户提供了大量登录机会,但在 20 次尝试后将阻止暴力登录攻击。
忘记密码尝试多少次后锁定
这限制了 WordPress“忘记密码?”表单的使用次数。这可以防止您的“忘记密码?”表单被用来向真实用户发送大量密码重置电子邮件,并防止攻击者试图猜测您系统上的用户帐户。对于大多数网站来说,将其设置为 5 应该就足够了。
统计时间段内的故障次数
这指定了我们计算失败次数的时间范围。例如,如果您指定 5 分钟和 20 次失败,那么如果有人在 5 分钟的时间段内登录失败 20 次,他们将被锁定无法访问登录页面。暴力攻击通常每隔几秒钟发送一次登录尝试。因此,如果您将登录失败次数设置为 20,那么 5 分钟的时间足以防止暴力登录黑客尝试。您可以选择将其设置得更高。
用户被锁定的时间
这指定了当 Wordfence 暴力破解保护锁定 IP 地址时,该 IP 地址会被锁定多长时间。请记住,目标是防止远程攻击有很多机会猜测您网站的用户名和密码。如果您的密码相当强,那么需要猜测数千次才能正确猜出您的密码。
例如,如果您将失败次数设置为 20,将时间段设置为 5 分钟,并将此选项设置为 5 分钟,那么攻击者每 5 分钟只能猜测 20 次,然后他们必须在被锁定期间等待 5 分钟。因此,效果是他们每 10 分钟只能猜测 20 次,或者每天 2880 次猜测,假设他们意识到他们可以在被锁定后恰好 5 分钟重新开始攻击。如果您觉得这还不够长,那么您可以将锁定时间增加到 60 分钟,这将大大减少攻击者每天尝试猜测的次数。
立即锁定无效用户名
此选项将立即锁定尝试使用无效用户名登录的用户。请注意,您的真实用户可能会输错用户名。这将导致他们被锁定,这很不方便。我们建议为用户数量较少的网站启用此功能,例如 1 或 2 个管理员和/或可能有几个编辑者。如果合法用户被锁定,那么您可以在 Wordfence“防火墙”>“阻止”页面上找到并解除阻止该用户的 IP 地址。
立即阻止尝试以这些用户名登录的用户的 IP
您添加到此选项的任何用户名都会导致尝试使用该用户名登录的 IP 地址被阻止。您可以添加经常用于暴力破解的用户名,例如“admin”或没有顶级域的域名。确保您添加到此列表中的用户名与系统上的真实用户名不相同或相似,因为这可能会导致合法用户在输入错误时被阻止。请注意,如果您为已经使用该用户名存在的用户帐户将用户名添加到此选项,则任何尝试使用该用户名登录的 IP 地址都不会被此选项阻止。另请注意,添加到此选项的用户名不区分大小写。
防止使用在数据泄露中泄露的密码
此选项可防止用户使用数据泄露事件中泄露的密码列表中的密码登录。攻击者会利用此类列表侵入网站并安装恶意代码。您可以选择仅阻止使用此类密码的管理员,也可以选择让此选项应用于所有拥有“发布帖子”权限的用户(包括管理员)。默认设置是仅阻止管理员。
数据泄露中泄露的密码是什么?大型网站遭到黑客攻击时,有时会泄露凭证。这些泄露信息用于编制密码列表。恶意行为者会使用这些列表运行试图登录 WordPress 网站的机器人。您可以在我们的博客上阅读更多相关信息。
如果您或其他用户被此选项阻止,您可以通过重置密码重新获得对网站的访问权限。当您在 WordPress 中重置或更改密码时,此功能还会根据相同的泄露密码列表检查新密码。如果您出于某种原因需要在网站上允许不安全的密码,您可以选择完全禁用此功能。
强制使用强密码
使用此选项,您可以选择“强制管理员和发布者使用强密码(推荐)”或“强制所有成员使用强密码”。我们建议您强制管理员和发布者使用强密码。当您的 WordPress 网站上的用户更改密码时,Wordfence 将检查密码以确保其强度足以提供良好的保护级别。如果密码未通过此检查,则将被拒绝,用户必须输入更强的密码。
新密码必须满足以下具体要求才能达到所需的分数:
- 至少 12 个字符。
- 大写字母、小写字母、数字、符号各至少一个。
- 任何字符不得重复 3 次或更多次。
- 不允许使用超过 2 个字符的有序数字序列(例如 123 或 321)。
- 没有超过 3 个字符的有序或模式化的相邻字符序列(即 abcd、abab)。
不要让 WordPress 在登录错误中泄露有效用户
默认情况下,当您输入有效的用户名但密码错误时,WordPress 会告诉您输入了正确的用户名但密码错误。如果您输入错误的用户名和密码,WordPress 会告诉您该用户名不存在。这是一个安全问题,因为它允许用户轻松找出您的 WordPress 网站上有哪些用户,并针对这些用户进行攻击。
此选项会给出一条通用消息:“您输入的用户名或密码不正确”。这可以保护您的用户名,并且不会泄露黑客是否猜到了有效的用户名。建议您启用此功能。
如果不存在“admin”用户名,则阻止用户注册
如果您禁用并删除 WordPress 中的“admin”用户名帐户,并且您在 WordPress 中启用了用户注册,则用户可能会使用用户名“admin”注册帐户。这可能会给您的系统造成混乱,并可能允许这些用户说服系统的其他用户泄露敏感数据。启用此选项可防止这种情况发生,因此我们建议您启用此选项。
防止通过 ‘/?author=N’ 扫描、oEmbed API、WordPress REST API 和 WordPress XML Sitemaps 发现用户名
在 WordPress 系统上,可以通过访问如下所示的特制 URL 来发现有效的用户名:
- example.com/?author=2
- example.com/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fexample.com%2Fhello-world%2F
- example.com/wp-json/wp/v2/users
从 WordPress 5.5 开始,作者也可以列在内置 XML 站点地图中。启用此选项可防止黑客使用这些方法发现用户名。这包括在 oEmbed API 公开提供的帖子数据和 WordPress 4.7 版中引入的 WordPress REST API“用户”URL 中查找作者。
请注意,某些主题和插件也可能泄露用户名,当主题或插件发生这种情况时,我们无法阻止用户名被发现。我们建议您保持此选项处于启用状态。有关如何安全地获取要显示的用户帖子列表的信息,请参阅安全地获取用户帖子列表。
禁用 WordPress 应用程序密码
WordPress 5.6 为所有用户角色添加了使用“应用程序密码”的功能,允许第三方网站或应用程序以您自己的登录名访问您的网站,但使用单独的密码。应用程序密码使用起来很安全,但在某些情况下,设置过程可能会被用来诱骗用户将其 WordPress 登录名链接到恶意网站,并且消息传递可能不够清晰,无法让某些用户了解他们允许的访问权限。此选项在 Wordfence 7.4.14 中默认处于活动状态,但如果您想使用应用程序密码,可以将其禁用。当 Wordfence 禁用应用程序密码时,如果您尝试设置新的应用程序密码,它将显示消息“Wordfence 已禁用应用程序密码”。
阻止发送带有空白 User-Agent 和 Referer 的 POST 请求的 IP
许多编写不当的暴力登录黑客脚本使用空白的 User-Agent 标头(换句话说,它们没有指定它们是哪个浏览器)和空白的 Referer 标头(换句话说,它们没有指定它们来自哪个 URL)发送登录尝试和评论垃圾尝试。启用此选项不仅可以阻止此类请求到达您的网站,还可以立即阻止发出请求的 IP 地址。请注意,请求中必须缺少 User-Agent 和 Referer 标头,此阻止规则才能生效。
如果您使用的外部服务可能发送不带这些标头的 POST 请求,请不要使用此选项,因为它们将被阻止。这种情况并不常见,因为大多数服务都会设置 User-Agent 标头来识别其服务,但我们听说过一些合法服务未包含该标头的情况。
阻止页面上显示的自定义文本
当 Wordfence 阻止访问者或机器人时,会显示有关阻止的一般信息。使用此字段,您可以为人们添加附加消息,例如有关如何联系网站所有者的信息,以防阻止是无意的。只应包含纯文本,因为在显示文本之前会删除 HTML。与 WordPress 页面编辑器类似,双行换行符将转换为段落,单行换行符将替换为换行 (br) 标签。
在个人资料更新时检查密码强度
如果您启用此选项,它不会警告用户他们的密码很弱,这与上面的“强制使用强密码”功能不同。但是,它会向网站管理员发送电子邮件警报,告知该管理员用户在个人资料更新期间指定了一个弱密码。它只是让您知道谁在使用弱密码,以便您可以联系他们并让他们知道他们可能想要提高密码强度。
如果您确实联系了您的某个用户或客户,请确保您清楚您实际上并不知道他们的密码。您只会收到警告,告知他们密码不符合您网站的密码强度要求。这样他们就知道您没有侵犯他们可能拥有的任何合理的隐私期望。
参与实时Wordfence安全网络
启用此功能会导致您的网站匿名与 Wordfence 共享有关黑客攻击的数据。作为回报,您的 WordPress 网站会收到当前正在从事暴力攻击活动的黑客的 IP 地址信息,这样您的网站就可以在这些黑客能够对您的网站进行暴力攻击之前立即阻止他们。
启用后,Wordfence 还会向我们报告以下内容:
- 被屏蔽的 IP 地址尝试访问您的网站
- 黑客尝试访问您网站上不存在的已知恶意 URL,但显然是黑客攻击行为
- 登录失败尝试。
我们在实时平台上汇总数据,以确定哪些 IP 地址当前从事最恶意的活动,需要我们的社区进行阻止。然后,您的网站和其他受 Wordfence 保护的网站将使用这些数据来阻止这些恶意 IP 地址。