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

文章目录

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

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

    赶紧登陆了阿里云管理后台,看了一下,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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式