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

发布于 2019-08-27 13:23:00 字数 1488 浏览 2688 评论 0

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

辛辛苦苦写的文章,眼看着搜索引擎收录了,网站又打不开了,查询服务器的状态 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 暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站造成的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

‘画卷フ

文章 0 评论 0

寂寞清仓

文章 0 评论 0

脸赞

文章 0 评论 0

WeiBestSmart

文章 0 评论 0

娇女薄笑

文章 0 评论 0

国粹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文