拯救xmlrpc.php让WordPress瘫痪的的六种办法

我们都知道xmlrpc.php文件位于网站根目录下,其实我对这个文件一直没有放在心上,认为我的网站放在了阿里云,又加了服务器安全防护,况且WP团队早就解决了漏洞,不过确实存在一种另类的wordpress暴力特别攻击,估计利用xmlrpc.php文件来绕过wordpress后台的登录错误限制进行爆破。

那么我们应该如何关闭这个功能或解决被他人利用xmlrpc.php文件攻击呢?根据网上搜索的结果,大致有六种办法来解决:

第一种是屏蔽 XML-RPC (pingback) 的功能

在functions.php中添加

add_filter('xmlrpc_enabled', '__return_false'); 

第二种方法就是通过.htaccess屏蔽xmlrpc.php文件的访问

  1. # protect xmlrpc
  2. <Files xmlrpc.php>
  3. Order Deny,Allow
  4. Deny from all
  5. </Files>

第三种同样的是修改.htaccess文件加跳转

如果有用户访问xmlrpc.php文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。

  1. # protect xmlrpc
  2. <IfModule mod_alias.c>
  3. Redirect 301 /xmlrpc.php http://example.com/custom-page.php
  4. </IfModule>

第四种阻止pingback端口

在functions.php中添加

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;
}

第六种安装插件

安装Login Security Solution插件(这个没有测试,你可以试试)

小结

1、不要直接删除xmlrpc.php,否则它会让你的wordpress网站发生莫名的错误。
2、建议采用方法 2
3、其实扫描也罢,http的DDOS攻击也罢,CC攻击也罢,总之大量消耗服务器资源我们的服务器是累死的。
5、如果你正在使用如JetPack之类的插件,删除掉这个文件可能会让你的网站功能异常。
6、建议把WP升级到最新版本,其实我的就是最新的WP4.5.3,还是要相信新版本漏洞少一点吧。
7、一般这个功能是用不到的,我们直接屏蔽掉,默认当前的WP版本是开启的。这样,我们就可以解决WordPress被利用xmlrpc.php暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站造成的。


发布日期:

所属分类: Wordpress 综合 标签: