WordPress 实在是太过流行,出于攻击的需要,黑客开发出大量扫描、暴力破解 WordPress 站点的工具。而且这些工具可以从网上轻易获得,例如著名的 Kali Linux 就集成了攻击 WordPress 的软件包。
只要将网站发布到互联网上,攻击就不可避免,无论是大流量的站点被人专门针对,还是小流量站点被无差别的扫描。
如果黑客需要暴力破解密码来登录,那么首先他们要找到登录的入口,之后才能开始不断地用密码组合来尝试登录。所以,我们躲开暴力破解登录的思路就是:藏入口、限次数。
第一步:隐藏登录链接
WordPress 的登录链接是固定的,如果没有更改的话,只要黑客的爬虫识别到网站是用 WordPress 搭建的,他就能成功打开登录入口。
WPS Hide Login 插件就如它的名字一样,可以隐藏登录入口。
安装好之后,在 WordPress 后台点击 设置 – 常规,页面拉到最底部就会发现增加了 WPS Hide Login 设置字段。
设置非常简单,登录地址这边的文本框内输入自定义后缀,例如:anhao . 重定向链接就是当有人非法访问原来的登录地址是自动跳转的页面,一般用 404.
保存更改,之后就只能使用你设置的自定义链接访问后台。所以,一定要记住自己设置的字符串!!
第二步:禁用 XML-RPC
当你用手机上的 WordPress APP 或其他第三方软件登录、管理 WordPress 网站时,需要用到网站的 XML-RPC 功能。
这项技术给人带来方便的同时,也成为许多不法分子恶意利用的工具——通过这个功能可以在不知道后台登录链接的情况下通过接口连接后台,并且可以很方便地用程序暴力破解登录。
所以只要不使用第三方软件管理网站和发布文章,我们都建议禁用 XML-RPC。
WordPress 后台没有禁用 XML-RPC 的开关,我们可以向主题的 function.php 文件里面添加禁用 XML-RPC 的代码。
add_filter('xmlrpc_enabled', '__return_false');
手动修改文件很繁琐,而且升级主题后代码可能会失效。对此建议使用插件来解决:用插件给主题添加代码,避免升级、更换主题导致自定义代码丢失
第三步:限制登录次数
假设以上防线被突破了,难道我们就要躺平等别人肆意尝试和破解密码?当然不,我们还可以用 Limit Login Attempts Reloaded 来记录和限制尝试次数。
安装和激活插件之后,我们可以设定拦截规则,包括多少时间之后允许重试等等。
此外还可以在仪表盘添加挂件显示拦截数据,看着就放心。
暴力破解消耗的不仅仅是攻击者的算力,同时每一次验证密码都要占用网站的资源。所以,使用以上方法不仅能提高 WordPress 站点的安全性,而且能够减少服务器算力的无效损耗。