您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > WordPress

xmlrpc.php 被刷流量导致 WordPress 瘫痪崩溃

时间:12-14来源:作者:点击数:

作为一个网站的管理员,都是为了网站二操碎了心,为了网站的功能网站的内容没日没夜的完善着,但是总有些无法控制而又无可奈何的事情。

辛辛苦苦写的文章,眼看着搜索引擎收录了,网站又打不开了,查询服务器的状态 CPU 100% 满负荷运载,重启 Apache 以为问题就能解决,可是没过几分钟,又是 100% 了,查看网站防护日志,原来有个 IP 不停的访问 xmlrpc.php 文件,造成服务器瘫痪,也就是说对方在放大型暴力猜解攻击,应该是传说中的 xmlrpc 暴力破解密码导致,而 WordPress 默认是将 xmlrpc 功能开启的,这被用来 DDOS 攻击导致占用资源过高,服务器卡死宕机。

直接将这个 IP 加入访问黑名单,但是我发现又有几个 IP 在访问 xmlrpc.php 文件,这似乎有点治标不治本,就我个人而言,我几乎是不使用 xmlrpc 功能。

解决方法

屏蔽 XML-RPC (pingback) 的功能

在functions.php中添加

add_filter('xmlrpc_enabled', '__return_false');

通过 .htaccess 屏蔽 xmlrpc.php 文件的访问

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

修改 .htaccess 文件加跳转

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

# protect xmlrpc
<IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://example.com/custom-page.php
</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;
}

总结

1、不建议直接删除 xmlrpc.php,否则它会让你的 WordPress 网站发生莫名的错误。

2、建议采用方法 2

3、其实扫描,http 的 DDOS 攻击,CC攻击都是大量消耗服务器资源,我们的服务器都是累死的。

4、建议把WP升级到最新版本,还是要相信新版本漏洞少一点。

5、一般这个功能是用不到的,我们直接屏蔽掉,默认当前的WP版本是开启的。这样,我们就可以解决 WordPress 被利用 xmlrpc.php 暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站造成的。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐