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

今天对于我来说 是个战斗的日子,上午发布完文章后,很快360好搜就收录了,但在打开网页的时候,卡主了,没有反应,快速的重启Apache,马上恢复,但过了几分钟,网站又打不开,干脆重启服务器,问题得到解决,过了一会,悲剧再次发生,查看网站防护日志,原来有个IP不停的访问xmlrpc.PHP文件,造成服务器瘫痪,也就是说对方在放大型暴力猜解攻击,应该是传说中的xmlrpc暴力破解密码导致,原因在于使用的wordpress程序默认xmlrpc.PHP开启,而被用来DDOS攻击导致占用资源过高,果断把这个IP拉成黑名单,还是失败,下面分享一下解决方法

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

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

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

在functions.PHP添加

add_filter('xmlrpc_enabled','__return_false');

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

# protect xmlrpc

PHP>

Order Deny,Allow

Deny from all

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

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

# protect xmlrpc

Redirect 301 /xmlrpc.PHP http://example.com/custom-page.PHP

第四种阻止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是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的...
这两段代码可以让你先体验一下WordPress 3.0的菜单样式 首先在functions.php添加如下代码: register_n...
有人说 WordPress 本身的 SEO 就比较好,我想这个和 WordPress 可以方便的自定义文章的固定链接有分不开...
曾经给大家介绍了在 WordPress 后台移除主题编辑器,今天继续加深,直接关闭 WordPress 后台的文件编辑...
WordPress之iNove主题内容页增加公告栏的方法,导航栏下面默认的公告栏只能在首页显示,只要修改一个文...
大多数WordPress用户都知道该怎么从数千个WordPress主题里挑出自己喜欢,但要自己开发新主题恐怕不是人...