WordPress 安全是一个不容忽视的问题,今天收到邮件,提示 VPS 的 CPU 占用过高,照理说不应该,毕竟网站也没多少访问量,于是排查了一下访问记录,发现是有人在尝试用 XML-RPC 来破解密码。这个确实是 WordPress 长久以来的一个算是 bug 的存在,所以我们只需把 WordPress 的 XML-RPC 功能给禁用掉就行了。禁用 WordPress XML-RPC 功能也很简单,我们可以通过代码或者是插件的方法来禁用,都可以。
XML-RPC 这个功能是让我们可以使用客户端来登录和管理博客,但是由于客户端的限制,我们其实 99.99% 的情况下是用不到这个功能的,反而留下一个安全隐患。
WordPress 安全教程系列文章:
一、代码方式禁用 WordPress 的 XML-RPC 功能
以下方法二选一即可。
1、修改 WordPress 主题文件
add_filter('xmlrpc_enabled', '__return_false');
2、修改 .htaccess 文件
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all allow from 123.123.123.123 </Files>
优点是代码方法简单有效,效率高。缺点是每次更换主题(第一种方法)或者更换主机(第二种方法)都需要记得重新添加这段代码。
二、插件方式禁用 WordPress 的 XML-RPC 功能
如果不喜欢改代码,直接装插件就完事了。老唐用的就是下面提到的第二个插件。
1、Disable XML-RPC
功能简单,启用这个插件就直接禁用 XML-RPC 了,没有任何其他功能。
Disable XML-RPC
功能比较强大,基本上算是功能最强大的 WordPress 安全插件之一,老唐目前用的就是这个。分为免费版和付费版,基本上免费版也够用。
Wordfence Security – Firewall & Malware Scan
如果觉得上面的插件功能太多,那么可以安装下面这个子版本,只提供 Login Security 功能。
Wordfence Login Security
设置方法如下,点击 Settings 里面,就可以看到 Disable XML-RPC authentication,勾上保存即可。
以上就是不同的方法来禁用 WordPress 的 XML-RPC 功能。
参考:
- https://www.wpbeginner.com/plugins/how-to-disable-xml-rpc-in-wordpress/
- https://themeforwp.net/archives/wordpress-disable-xml-rpc/