昨天晚上,国外主机优惠的一台VPS主机上安装的AMH面板,其中一个网站收到来自阿里云监控的报警提示宕机,于是检查这台VPS主机的时候看到同机器中的其他网站正常可以打开,仅有这个网站出现404错误,而且刷新后非常的慢才可以打开,确定这个网站之前是完整没有问题的,目标锁定这个网站可能被大量访问某个PHP文件导致的。
于是,国外主机优惠查看这个网站下的日志文件,发现有来自俄罗斯一个IP的大量访问xmlrpc.php文件,应该是传说中的xmlrpc暴力破解密码导致的。
遇到这样的问题,我们可能想到的直接锁定这个IP,但这样不能解决其他IP也出现这样的攻击,我们需要禁止xmlrpc文件的访问功能才可以彻底的解决。
解决xmlrpc.php文件被暴力破解:
第一、如果我们没有第三方接口应用,可以直接关闭XML-RPC接口
add_filter(\’xmlrpc_enabled\’, \’__return_false\’);
第二、阻止pingback端口
add_filter( \’xmlrpc_methods\’, \’remove_xmlrpc_pingback_ping\’ );
function remove_xmlrpc_pingback_ping( $methods ) {
unset( $methods[\’pingback.ping\’] );
return $methods;
}
第三、Nginx设置
location ~* /xmlrpc.php {
deny all;
}
第四、Apache设置
<IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://example.com
</IfModule>
一般这个功能是用不到的,我们直接屏蔽掉,默认当前的WP版本是开启的。这样,我们就可以解决WordPress被利用xmlrpc.php暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站。