Wordpress 网站被恶意 POST /xmlrpc.php 攻击,导致阿里云服务器挂掉

更新日期: 2019-10-28 阅读次数: 8752 字数: 248 分类: wordpress

今天亮教授微信里告诉我,“你的网站挂了”。

我浏览器里测试了一下果然挂掉了。

赶紧登陆了阿里云管理后台,看了一下,CPU 100%,磁盘 IO 暴增,果断重启。

服务器 CPU 100%

服务器磁盘 IO 飙升

服务器磁盘 IO 飙升

重启之后,看了一下 Nginx 的请求日志:

里面无数的 POST /xmlrpc.php 请求,很快我的服务器就挂了

160.153.153.30 - - [28/Oct/2019:12:46:17 +0800] "POST /xmlrpc.php HTTP/1.1" 200 415  
202.144.133.140 - - [28/Oct/2019:12:57:52 +0800] "POST /xmlrpc.php HTTP/1.1" 499 0 
23.91.70.84 - - [28/Oct/2019:12:57:52 +0800] "POST /xmlrpc.php HTTP/1.1" 499 0

访问了一下这个 Wordpress 站点的 xmlrpc.php,确实有返回:

http://www.xxx.com/xmlrpc.php
XML-RPC server accepts POST requests only.

解决方法

参考 digital ocean 上的一个文档,把 Wordpress 站点的 xmlrpc.php 在 Nginx 里禁用了。

location = /xmlrpc.php { deny all; }

reload 了 Nginx,测试了一下,确实不能访问了。

xmlrpc.php 是做什么的

查了一下,xmlrpc.php 是 Wordpress 为手机等客户端提供接口的一个文件。

参考

  • https://www.hostinger.com/tutorials/xmlrpc-wordpress
  • https://www.digitalocean.com/community/questions/how-do-i-stop-brute-force-attacks-against-xmlrpc-php-from-crashing-my-wordpress-server

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式