wordpress如何禁止访问xmlrpc.php

为什么会有大量的不明post请求xmlrpc.php

初次使用wordpress的朋友可能会发现日志中有大量不明post请求网站的xmlrpc.php。这是因为 xmlrpc.php 文件存在安全隐患,给攻击者提供了便利,所以攻击者的一项工作就是扫描 xmlrpc.php 文件,以便可以实现以下两点:

XML-RPC pingbacks 攻击,攻击者可以利用 XML-RPC 的 pingbacks 方法对 WordPress 实行 DDoS (分布式拒绝服务)攻击。

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

如何阻止:

既然存在这些问题,那么最好关闭 WordPress 的 XML-RPC 服务,可能你会想到删除xmlrpc.php文件。但是之后如果wordpress升级版本又会出现这个文件。

我这里推荐的方法是用规则屏蔽。具体在nginx的方法是在规则中添加以下内容:

location = /xmlrpc.php {
return 404;
}

或者也可以

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

这样之后的日志里面post请求xmlrpc.php就会看到返回的是404或者403啦。攻击者检测到以后就会很识趣的停止大量post请求xmlrpc.php了。