WordPress 的 xmlrpc.php 经常被扫描怎么办?

xmlrpc.php这玩意你说没用吧?有时候挺有用。但大部分时间都挺没用的,而且安全隐患挺大,攻击者的一项工作就是扫描 xmlrpc.php 文件,简直是给攻击者提供便利。

1、XML-RPC pingbacks 攻击,攻击者可以利用 XML-RPC 的 pingbacks 方法对 WordPress 实行 DDoS (分布式拒绝服务)攻击,如果你使用了 CDN 服务商的 DNS 保护服务,攻击者还可以使用 pingbacks 方法获取站点的真实 IP,剩下不用我说了吧。

2、即使 WordPress 设置了登录次数限制,但是使用 XML-RPC 暴力破解 WordPress 的账号密码却逃过了限制,并且 XML-RPC 一次请求就可以执行上百次密码的暴力破解。

怎么办?彻底屏蔽 XML-RPC吧。

既然存在这些问题,那么最好关闭 WordPress 的 XML-RPC 服务,群里面有些小伙伴建议直接删除该文件就好了,但是删除了,WordPress 升级之后又会出现,不太建议这么做。

最快的方法,只需在当前主题的 functions.php 文件添加下面这行代码就能关闭它:

add_filter(‘xmlrpc_enabled’, ‘__return_false’);

使用 PHP 代码或者插件方式关闭,xmlrpc.php 文件被扫描的时候,还是会加载整个 WordPress 代码,所以如果你不想浪费服务器资源在这上面,可以使用下面方式屏蔽服务器上 xmlrpc.php 文件的请求:

1. Apache 可以通过在 .htaccess 文件前面添加以下代码:

<Files xmlrpc.php>Order Allow,DenyDeny from all</Files>

这时候访问 xmlrpc.php,页面显示:

2. nginx 服务器可以添加下面的规则:

location ~* ^/xmlrpc.php$ {return 403;}

3. 如果以上两个方式都不好用,还可以在 WordPress 的 wp-config.php 文件最开始的地方添加:

if(strpos($_SERVER[‘REQUEST_URI’], ‘xmlrpc.php’) !== false){ $protocol = $_SERVER[‘SERVER_PROTOCOL’] ?? ”; if(!in_array($protocol, [‘HTTP/1.1’, ‘HTTP/2’, ‘HTTP/2.0’, ‘HTTP/3’], true)){ $protocol = ‘HTTP/1.0’; } header(“$protocol 403 Forbidden”, true, 403); die;}

这时候访问 xmlrpc.php 就会提示403错误。

不够完美,但对一般小站足够了

 

声明:本站文章,有些原创,有些转载,如发现侵权侵请联系删除。本站所有原创帖均可复制、搬运,开网站就是为了大家一起乐乐,不在乎版权。对了,本站小水管,垃圾服务器,请不要采集,吐槽君纯属用爱发电,经不起折腾。

给TA打赏
共{{data.count}}人
人已打赏
技术宅

怎么卸载阿里云安全中心Agent、云盾(安骑士)、云助手Agent

2024-1-5 1:33:10

技术宅

推荐一款强大的开源虚拟手绘风格白板,60K Stars!

2024-1-6 0:47:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索