CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。
通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。
一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。
从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。
实际上,通过分析网站日志,还是很容易分辨出哪个IP是CC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需要批量将这些IP屏蔽,即可达到防范CC攻击的目的。
最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。
看来CC攻击的门槛还真低啊,搞个几百个代理或者肉鸡就能攻击别人了,其成本非常低,但效果比较明显,如果攻击者流量巨大的话,通过耗费带宽资源的方式都可以进行攻击。但是,CC攻击也有明显的技术缺陷,就是攻击者的IP并不是海量的,通常就是几百数千的级别,并且是真实访问了网站页面,这就使得网站可以通过程序过滤的方式,轻松获取到这些攻击者IP,批量进行屏蔽,那么这种CC攻击就会得到防。
IIS专家CC防御系统 这是一款针对CC防御效果还是不错的软件,现在推荐给大家
IIS专家
下载地址:https://www.jb51.net/softs/43858.html
以下对IIS专家CC防御功能进行演示
CC攻击,与DDOS、UDP、SYN Flood并为当今最流行的四大攻击方式,硬件防火墙防御UDP等效果较好,但对于CC这种全连接攻击,软件防御更占优势;
CC防御的原理概括:利用代理或者肉鸡的方式,对某服务器某个(某些)消耗资源较大的处理过程(文件)进行大量请求,远远超出服务器的处理能力,导致服务器瘫痪,无法响应正常请求;
基本特征:可以通过cmd命令:netstat –an查看当前TCP连接数,如果发现许多重复的等待连接数,如“TCP 211.87.147.4:80 220.10.69.67:2205 SYN_RECEIVED 4”,并且服务器CPU一直100%,带宽使用也很高,停止网络服务后CPU使用恢复正常,这种情况基本可以断定为CC攻击。
IIS专家的CC防御,相比其它软件的防御,有着智能防御的优势,不影响正常用户的访问,我们接下来进行演示:
一、 CC防御基本信息设置:
我们先设置CC防御后发送到客户端浏览器的提示信息,如图1:
图1 设置CC攻击拦截提示信息
接下来对CC防御基本参数进行设置,图2:
图2 CC防御基本参数设置
关于防御性能指数,如果不能防御CC,我们可以设置的更低一些,比如8-15之间即可。
设置好后,让我们继续:
二、 拒绝代理访问:
1、 普通CC利用代理发动攻击,我们选中图2中的【拒绝所有代理访问】就可以很好的防止代理访问的攻击。设置好浏览器的代理,打开测试页面,如图3:
图3 禁止代理访问服务器示意图
三、 防御恶意刷新演示:
1、 图2中,设置单IP连接数访问上限为15(表示每个IP一秒内允许对某个页面进行15次请求),超过该上限即认为恶意刷新,系统进行拦截,如图4:
图4 拦截单IP恶意刷新示意图
该IP被拦截后,根据图2的【防御解锁时间】,该时间过后该IP自动解封,如果继续发动攻击,则继续重新拦截!拦截后,能立即生产拦截日志:blacklist_ip.log
四、 防御肉鸡攻击演示(以半自动过滤为例):
比较高级的CC攻击,除了使用代理,也使用肉鸡的方式进行攻击,导致服务器不堪重负,IIS专家如果发现肉鸡攻击,立即会要求访问该页面的用户输入验证,验证后用户可以正常访问,同时,服务器其他未被攻击的页面可以照常访问,丝毫无影响,图5:
图5 输入验证码后即可正常访问
该页面被防护后,根据图2的【防御解锁时间】,该时间过后该页面的防御自动解除,如果继续被攻击,则IIS专家将对该页面继续重新防护!拦截后,能立即产生日志:blacklist_cc.log
五、 IP黑名单:
对于不信任的IP,可以将其直接加入黑名单,阻止对服务器进行访问,如图6:
图6 设置IP黑名单
设置IP“127.0.0.1”到黑名单,通过该IP访问的用户就会被拦截,如图7:
图7 拦截IP示意图
CC防御后,IIS专家会记录攻击日志,如图5:
图5 在主控端看到的CC防御日志
六、 总结:
1、 IIS专家测试过成功防御8000TCP连接攻击;
2、 CC防御效果与很多因素有关系,包括防御规则设置、服务器本身参数、非法用户攻击对象、非法用户攻击方式等;
3、 为了更加人性化,IIS专家不会鲁莽地对正常用户进行拒绝, 而白名单制度很好的解决了这个问题;