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

发布于 2019-08-27 13:23:00 字数 1488 浏览 2710 评论 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

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

文章
评论
84965 人气
更多

推荐作者

达拉崩吧

文章 0 评论 0

PANGOO

文章 0 评论 0

kkgtx

文章 0 评论 0

WordPress小学生

文章 0 评论 0

酷炫老祖宗

文章 0 评论 0

硪扪都還晓

文章 0 评论 0

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