针对WordPress的xmlrpc攻击的解决方案

今天下午博客挂了,发现服务器内存负载过高,ssh服务都不响应了,多次重启之后好不容登上去了,发现apache进程好多,看了一下apache的访问日志,日了狗了,发现有大量的对xmlrpc.php的请求:

针对WordPress的xmlrpc攻击的解决方案

XML-RPC是一个通过HTTP方法进行远程调用的,非常简单易用的东西。可以支持Perl、Java、Python、C、C++、PHP,以及许多其他编程语言。Wordpress和Drupal,以及许多其他内容管理系统都支持XML-RPC。

XML-RPC的隐藏特性之一,则是你可以使用system.multicall方法,在单个请求中进行多次尝试,这是非常有用的。它允许应用程序通过一条HTTP请求,执行多个命令。这就被众多黑客用来暴力破解密码。之前有很多对wp-login.php的攻击,但是wp-login做了登录保护,多次尝试之后会被禁止访问。但是xmlrpc中没有这些限制,这时候有人就利用xmprpc来对密码进行暴力破解,可以在一个请求里进行上百次的密码尝试。

那么如何避免这个问题呢?网上提供了两种方法,但是关闭xmlrpc之后会影响wordpress的jetpack和任何用到pingback的插件:

第一种就是屏蔽xmlrpc,将以下代码加到functions.php文件中。

1add_filter('xmlrpc_enabled', '__return_false');

第二种方法就是利用.htaccess限制xmlrpc.php的访问或者将请求进行重定向,定向到一个无关地址,从而降低服务器的负载。

如:

12345#限制xmlrpc.php的访问<Files xmlrpc.php>Order Deny,AllowDeny from all</Files>
1234#重定向<IfModule mod_alias.c>Redirect 301 /xmlrpc.php http://example.com/custom-page.php</IfModule>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

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