蛮力攻击是通过试错法尝试解锁受密码保护的网页的方法。劫机者使用复杂的机器人来猜测登录、注册和其他页面表单上的用户名和密码,并试图接管该网站。机器人不断尝试猜测凭据并在您的服务器上施加大量负载。
因此,即使您不是从安全角度考虑,也必须阻止这些机器人/用户以减少托管服务器上的负载。在本文中,让我们讨论如何防止WordPress中的暴力攻击。
停止WordPress中的蛮力攻击
有不同的方法可以保护您的登录页面并阻止WordPress中的暴力攻击。但是,您需要一个插件来启用这些功能,在本文中,我们将主要使用Jetpack和All In One WP Security and Firewall插件进行说明。
有时您的托管公司可能会为此提供专用插件。例如,您可以在使用SiteGround托管时使用SiteGround安全插件。
1. 使用Jetpack插件进行暴力预防
Jetpack提供了许多模块,“Security”是阻止暴力攻击的模块之一。
- 转到管理面板中的“Jetpack > Settings”菜单。
- 当您在“Security”部分时,向下滚动并激活“Protect”模块。
在Jetpack中启用蛮力攻击保护
- 启用后,Jetpack将自动保护您的站点,而登录表单上没有任何可见的验证码。
- 此外,您可以单击“Protect”选项并添加IP地址列表以允许访问您的登录页面。该插件仅允许列出的IP地址访问您的WordPress登录页面,所有其他IP将被阻止登录到管理仪表盘。
Jetpack中的白名单IP
2. 使用All in One WP Security & Firewall插件进行暴力预防
Jetpack的暴力预防非常简单,没有太多其他选择。All in One WP Security & Firewall插件是流行且免费的安全插件之一,有助于有效保护您的WordPress网站。从您的WordPress仪表盘安装并激活插件。它将在管理仪表盘的侧边栏上创建一个新菜单“WP Security”。
搜索All in One WP Security & Firewall插件
该插件以积分衡量您网站的安全性,激活各个安全选项将增加积分。为了防止暴力破解,请导航到“WP Security > Brute Force”部分以查看多个选项,如下所示:
蛮力攻击预防选项
在使用任何安全设置进行处理之前,请确保具备以下条件:
- 使用站点文件和数据库备份整个站点。该插件将创建数据库表并修改.htaccess等站点文件。
- 确保您可以通过FTP访问您的托管服务器。当您被锁定在管理仪表盘之外并且无法登录时,这是恢复文件所必需的。
- 仅当该选项适用且您需要时才启用。
我们将在以下部分解释此插件可用的其他选项。
3.重命名登录页面
通过将后缀“/wp-admin/”或“/wp-login.php?action=login”添加到您的站点,可以轻松访问WordPress登录页面。由于任何人都可以使用其中一个URL访问您的站点,因此暴力预防的第一步是重命名登录页面。选中“启用重命名登录功能”框并提供难以猜测的所需字符串。
重命名WordPress登录页面
例如,如果您想将登录页面 URL 更改为“yoursite.com/login/”,则在文本框中输入“login”一词。
- 重命名登录页面将使您注销,您需要使用新 URL 再次登录。
- 此功能将影响所有用户,因此如果您有用户注册或需要注册才能在您的网站上发表评论,请不要激活。
- 此功能将影响使用默认登录页面的任何其他插件的功能。
4. 基于Cookie的暴力预防
防止暴力攻击的下一个选项是基于浏览器上可用的cookie。启用复选框“Enable Brute Force Attack Prevention”并在下一个“Secret Word”文本框中提供密码。
WordPress的基于Cookie的暴力登录预防
例如,如果您想将密码词添加为“test”,那么登录URL将为“http://yoursite.com/?test=1”。您可以将“/?secret-word=1”添加到您的站点URL以访问登录页面。此外,您可以设置“Re-direct URL”以将未经授权的用户重定向到该页面。通常,您可以将其设置为localhost IP 地址“http://127.0.0.1”,以防止服务器负载。如果您有受密码保护的页面,则启用复选框“My Site Has Posts Or Pages Which Are Password Protected”。
如果您有一个使用Ajax的主题或插件,则启用复选框“My Site Has a Theme or Plugins Which Use AJAX”。通常大多数主题和插件都使用Ajax,因此您应该启用此选项并测试您的站点是否正确加载。
- 此方法类似于重命名登录页面,因此上述所有警告也适用于此方法。
- 由于“rename login page”和“cookie based brute force prevention”方法都会更改登录页面URL,因此您可以在您的站点上一次使用其中一种方法。
5.登录验证码
由于前两个选项会影响多用户环境,例如具有登录、注册和电子商务功能的网站,因此仅启用验证码是您可以用来阻止暴力攻击的最简单方法之一。在本节下,您有三个选项可以在表单上启用数学验证码:
- 在默认的WordPress登录页面上添加验证码。
- 在使用WordPress函数“wp_login_form()”的网站上使用的所有表单上启用验证码。
- 在丢失密码请求表单上启用验证码。
All in One WP Security插件中的登录验证码设置
6.登录白名单
与Jetpack的白名单管理类似,All in One WP Security & Firewall插件也提供“Login Whitelist”选项。这将只允许列出的IP地址访问您的WordPress登录页面,而所有其他IP地址将被拦截。
使用All in One WP Security插件设置登录IP白名单
7.Honeypot保护
最后一个选项是启用“Enable Honeypot On Login Page”。这将在登录表单上设置一个新字段,该字段对人类用户不可见,仅对机器人可见。由于机器人用于填写登录表单上的所有字段,如果隐藏字段被填写,插件将停止访问。因此有助于有效地停止机器人。
WordPress登录页面的Honeypot设置
8. 限制登录尝试
限制登录尝试是防止WordPress暴力攻击的主要解决方案。All In One WP Security插件还具有限制登录尝试次数的选项。但是,如果您不想使用繁重的插件,则可以使用专门的插件来限制登录尝试。例如,您可以使用限制登录尝试重新加载插件来配置任何人都可以尝试登录的允许尝试次数。如果达到限制,插件将拦截IP地址并通知管理员。通过这种方式,您可以允许合法用户登录,同时在几次尝试后阻止自动机器人。
小结
All in One WP Security & Firewall插件提供了保护您的WordPress网站的详尽方法。尽管这看起来很有吸引力,但请确保测试每个功能并仅在您的站点需要时使用。重命名登录页面、基于cookie的选项和IP白名单可用于没有用户注册的单个用户站点。其余选项,如启用登录验证码和Honeypot,可以在所有类型的网站上使用,没有任何问题。您还可以一起使用“Jetpack”和“All in One WP Security & Firewall”插件来阻止对您网站的暴力攻击。
原文地址:https://www.wbolt.com/how-to-prevent-brute-force-attack.html