虚拟化容器,大数据,DBA,中间件,监控。

webbench压力测试攻击的问题—webbench成功突破iptables防火墙

01 07月
作者:admin|分类:系统运维

2015年2月10日下午,文武双全个人网站又被人攻击了,这次是使用webbench1.5压力测试工具发动的攻击。前后持续了一个多小时吧,看上去不像是故意帮我测试服务器的。倒像是用工具,持续不断的靠压测占满带宽,导致网站无法访问的攻击。

来自美国单一ip的不间断webbench压力测试攻击

此次攻击的ip,是来自于美国的单一ip:198.2.218.18。此ip在nginx里留下了,23716次攻击记录,每秒钟的并发链接在58次。如图所示:

攻击的地址跟之前的也不一样,这一次主要攻击的是:

http://www.yuandekai.com/category/emarkting  这个页面实际上是不存在的,应该返回404状态码的,但是文武双全的日志里竟然显示200;

http://www.yuandekai.com/?s=a 这实际上是个查询页面,利用站内搜索查询所有包含“a”的页面,短期内大量的并发查询实际上对mysql是一个严峻的考验;

文武双全个人网站被webbench压测攻击的日志

文武双全个人网站被webbench压测攻击的日志

服务器被webbench压测下的状态

1,CPU没有被占满,nginx+php—fpm抗住压力;

个人网站被webbench攻击下的内存占用并不高

个人网站被webbench攻击下的内存占用并不高

2,内存占用低于50%,此次使用阿里云的VNC,可以登录服务器,没有发生内存溢出的行为;

3,带宽被占满,我3M的带宽,阿里云监控显示平均带宽占用为3.2M;

文武双全解决webbench攻击的方法

最简单的方法,是把ip用iptables封掉,但是攻击者只要换个ip依然可以用这种方法攻击你。于是我采取了另外一种方法,禁止webbench压力测试。

在网站配置文件中,加入如下代码:

if ($http_user_agent ~ “WebBench”) {
set $block_user_agents 1;
}

锁掉所有来自webbench的用户访问,解决问题了呢。当然,也可以用于屏蔽掉ApacheBench等压力测试工具的这种恶意攻击。

webbench成功突破iptables防火墙

攻击者可能是知道文武双全使用了iptables和nginx防CC攻击的module,来抵御DDOS和CC攻击。但是这次非常牛叉的是,虽然看似不起眼的只用了一个ip来攻击我,却能够成功的让iptables和nginx防CC攻击的module都失效了。

网络上查询了一番,我又学习到新的知识。原来webbench发送的是get命令,不管是cdn还是linux的防火墙,都不会把他当做ddos或者cc攻击来看待。所以他们都起不到防御作用。

事实证明,仅仅依靠iptables和nginx的module也并不是特别靠谱。能够穿透他们的攻击手段,还是非常的多的,还需要继续加强学习啊!

浏览2104 评论0
返回
目录
返回
首页
个人网站再次遭受CC攻击总结—wdcp环境下抵御CC攻击的方法 wdcp环境下nginx升级到任意版本的脚本—附带识别cdn和云盾真实ip的功能