Posted on

我的wordpress博客系统运行在一台VPS上,昨天今天早上突然收到了网站宕机的提醒。于是,有了下面的经历…

QQ截图20160828000331.jpg

分析
由于我的VPS只对外运行了HTTP服务,所以重启机器后第一时间查看了apache的access日志,发现日志中存在上万条对于xmlrpc.php文件的post请求,并且请求来自两个国外的IP。

24019 191.96.249.53 - - [26/Aug/2016:08:21:57 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24020 191.96.249.54 - - [26/Aug/2016:08:21:58 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24021 191.96.249.54 - - [26/Aug/2016:08:21:59 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24022 191.96.249.53 - - [26/Aug/2016:08:22:00 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24023 191.96.249.54 - - [26/Aug/2016:08:22:00 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24024 191.96.249.54 - - [26/Aug/2016:08:22:03 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24025 191.96.249.53 - - [26/Aug/2016:08:22:04 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24026 191.96.249.53 - - [26/Aug/2016:08:22:10 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
24027 191.96.249.53 - - [26/Aug/2016:08:22:15 +0800] "POST /xmlrpc.php HTTP/1.0" 200 579 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
……

第一反应是我的博客被DOS攻击了,攻击者对xmlrpc.php的访问产生了大量的运算,耗尽了计算机的资源。毕竟我博客所在的VPS的性能很差,宕机也很正常。由于我的wordpress没有使用到xmlrpc.php的功能,所以顺手把它删除,自以为大功告成。
晚上再次查看服务器状态,发现仍有上百的网络连接数。此时再次查看access日志,之前的两个IP仍对xmlrpc.php产生着大量的请求。此时,对攻击者的请求内容开始产生了好奇心。
在VPS上使用tcpdump抓取80端口的数据,才发现原来攻击者一直在用我的VPS做肉鸡,对其他网站进行攻击。POST数据包内容如下:

QQ截图20160828002412.jpg

从之前的好奇心中跳出来,恍然大悟,原来攻击者在利用wordpress的pingback功能的ping方法对http://www.bagamez.com/发起了ICMP FLOOD攻击。
如何解决问题?
关闭wordpress后台的“尝试通知文章中链接的博客”和“允许其他博客发送链接通知(pingback和trackback)到新文章”功能。

QQ截图20160828005126.jpg

若wordpress站点未使用到的xmlrpc.php的功能,可以直接将其重命名或删除。
◆Linux环境下可以将攻击者的IP使用iptables做访问限制。

iptables -I INPUT -s IP -j DROP

至此,我的wordpress不再被动参与DDOS攻击了。

One Reply to “wordpress被参与DDOS攻击”

发表回复