大家好,农企新闻小编来为大家解答以上问题。cc攻击的解决方式,CC攻击概述及防范措施很多人还不知道,现在让我们一起来看看吧!
攻击者利用代理服务器向受害主机生成合法请求,实现DDOS,并伪装成cc(ChallengeCollapsar)。
CC主要用于攻击页面。大家都有这样的经历,就是在访问一个论坛的时候,如果论坛很大,访问者很多,那么页面打开速度就会很慢。访客越多,论坛的页面越多,数据库越大,被访问的频率越高,占用的系统资源也相当可观。
静态页面不需要太多的服务器资源。甚至可以说可以直接从内存中读取并发送给你,但是论坛不一样。当我阅读一个帖子时,系统需要去数据库确定我是否有阅读该帖子的权限。如果有,读出帖子内容,显示3354至少访问过数据库两次。如果数据库的大小为200MB,系统可能需要在这个200MB的数据空间中再次搜索。如果我要找的是一个关键词,那么时间就更可观了,因为之前的搜索可以限制在很小的范围内,比如用户权限只检查用户表,帖子内容只检查帖子表,找到就可以立即停止查询,搜索肯定会对所有数据做出判断,这就消耗了相当大的时间。
CC充分利用了这个特性,模拟多个用户(用户有多少线程)不断访问(访问需要大量数据操作的页面,也就是大量的CPU时间)。这可以通过用一个通用的性能测试软件模拟大量用户并发来实现。
中文名: CC攻击
Mbth :挑战赛
缩写是3360cc。
模型:模拟多个用户不断访问。
假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间划分,对结论没有影响),也就是说他能保证一秒钟100个用户的搜索请求,服务器允许的最大连接时间是60s,那么用CC模拟120个用户的并发连接。1分钟后,服务器的请求是7,200次,处理了6,000次,剩下1,200个并发连接未处理.输了!但问题是,服务器是按照先到先得的顺序丢失的。这1200台服务器是在最后10秒启动的。想甩掉他们吗?现在还早。经过计算,当服务器满的时候开始失去连接,队列中应该有7200个并发连接,那么服务器开始失去连接的速度是120/s,发起的连接也是120/s,服务器总是有无穷无尽的连接,服务器的CPU是100%并且长时间保持。然后,在丢失连接60秒后,服务器判断它不能处理它们,新连接也不能处理它们,因此服务器到达
假设服务器处理搜索只需要0.01S,也就是10ms(这个速度可以去各种有开放时间的论坛),使用的线程数只有120个。许多服务器失去连接的时间远远超过60秒,并且使用超过120个线程。可想而知,可怕。而且只要客户端发出断开连接,连接就由代理维护,当服务器收到SQL请求时,一定会进入队列。不管连接是否已经断开,而且服务器是并发的,不是顺序执行的,这样更多的请求进入内存请求,给服务器带来更大的负担。
CC=Challenge Collapsar,意思是“挑战黑洞”。它的前身Fatboy attack就是通过不断向网站发送连接请求来达到拒绝服务的目的。业内将这种攻击命名为CC(Challenge Collapsar)是因为在DDOS攻击的早期阶段,大部分攻击都可以被业界熟知的“Collapsar”反拒绝服务攻击系统所保护。所以在黑客开发了一种新的针对http的DDOS攻击后,他们将其命名为Challenge Collapsar,声称黑洞设备无法防御。后来大家把CC这个名字延续至今。有意思的是,后来黑洞(现改名ADS)也能全力防御CC攻击,但这一段的攻守较量还是被传为佳话。
CC攻击是DDOS(分布式拒绝服务)的一种,似乎比其他DDOS攻击更有技术含量。在这次攻击中,你看不到真正的源IP,也看不到特别大的异常流量,但是服务器无法正常连接。最让站长们担心的是,这种攻击技术较低,一个初学或中级计算机水平的用户,通过更换IP代理工具和一些IP代理就可以实施攻击。所以大家有必要了解CC攻击的原理,如果发现CC攻击,如何防范。
CC攻击的原理是攻击者控制一些主机不断向对方服务器发送大量数据包,导致服务器资源耗尽直至崩溃。CC主要用于攻击页面。大家都有这样的经历:当一个网页被大量人访问时,网页打开缓慢。CC就是模拟多个用户(有多少用户就有多少线程)不断访问需要大量数据操作(也就是大量CPU时间)的页面,造成服务器资源的浪费。CPU长时间处于100%,总是有无穷无尽的连接,直到网络拥塞,正常访问暂停。
CC攻击可以归为DDoS攻击的一种。它们之间的原理是一样的,即发送大量请求数据导致服务器拒绝服务是一种连接攻击。CC攻击可以分为代理CC攻击和肉鸡CC攻击。代理攻击被称为cc(Challenge Collapsar),黑客利用代理服务器向受害主机生成合法的网页请求,实现DDoS,并伪装自己。鸡CC攻击是黑客利用CC攻击软件控制大量鸡,发动攻击。与前者相比,后者更难防守。因为肉鸡可以模拟正常用户访问网站。
一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛之类的动态网站就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。
CC攻击就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面,比如asp/php/jsp/cgi)。很多朋友问到,为什么要使用代理呢?因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。当然也可以使用肉鸡发动CC攻击。肉鸡的CC攻击效果更可观。致使服务器CPU%100,甚至死机的现象。
使用代理攻击还能很好的保持连接,这里发送了数据,代理转发给对方服务器,就可以马上断开,代理还会继续保持着和对方连接(我知道的记录是有人利用2000个代理产生了35万并发连接)。
当然,CC也可以利用这里方法对FTP、游戏端口、聊天房间等进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的。
防御CC攻击可以通过多种方法,禁止网站代理访问,尽量将网站做成静态页面,限制连接数量,修改最大超时时间等。
CC攻击有一定的隐蔽性,那如何确定服务器正在遭受或者曾经遭受CC攻击呢?可以通过以下三个方法来确定。
命令行法
一般遭受CC攻击时,Web服务器会出现80端口对外关闭的现象, 因为这个端口已经被大量的垃圾数据堵塞了正常的连接被中止了。可以通过在命令行下输入命令netstat -an来查看, “SYN_RECEIVED”是TCP连接状态标志,意思是“正在处于连接的初始同步状态 ”,表明无法建立握手应答处于等待状态。这就是攻击的特征,一般情况下这样的记录一般都会有很多条,表示来自不同的代理IP的攻击。
批处理法
上述方法需要手工输入命令且如果Web服务器IP连接太多看起来比较费劲,可以建立一个批处理文件,通过该脚本代码确定是否存在CC攻击。打开记事本键入如下代码保存为CC.bat:
@echo off
time /t >>log.log
netstat -n -p tcp |find ":80">>Log.log
notepad log.log
exit
上面的脚本的含义是筛选出当前所有的到80端口的连接。当感觉服务器异常是就可以双击运行该批处理文件,然后在打开的log.log文件中查看所有的连接。如果同一个IP有比较多的到服务器的连接,那就基本可以确定该IP正在对服务器进行CC攻击
查看系统日志
Web日志一般在C:windowssystem32LogFilesHTTPERR目录下,该目录下用类似httperr1.log的日志文件,这个文件就是记录Web访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否Web被CC攻击了。
默认情况下,Web日志记录的项并不是很多,可以通过ⅡS进行设置,让Web日志记录更多的项以便进行安全分析。其操作步骤是:“开始→管理工具”打开“Internet信息服务器”,展开左侧的项定位到到相应的Web站点,然后右键点击选择“属性”打开站点属性窗口,在“网站”选项卡下点击“属性”按钮,在“日志记录属性”窗口的“高级”选项卡下可以勾选相应的“扩展属性”,以便让Web日志进行记录。比如其中的“发送的字节数”、“接收的字节数”、“所用时间”这三项默认是没有选中的,但在记录判断CC攻击中是非常有用的,可以勾选。另外,如果你对安全的要求比较高,可以在“常规”选项卡下对“新日志计划”进行设置,让其“每小时”或者“每一天”进行记录。为了便于日后进行分析时好确定时间可以勾选“文件命名和创建使用当地时间”。
取消域名绑定
一般cc攻击都是针对网站的域名进行攻击,比如网站域名是“xxx”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。
对于这样的攻击措施是在ⅡS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开“ⅡS管理器”定位到具体站点右键“属性”打开该站点的属性面板,点击IP地址右侧的“高级”按钮,选择该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。
实例模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不便,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。
更改Web端口
一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行ⅡS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。
ⅡS屏蔽IP
我们通过命令或在查看日志发现了CC攻击的源IP,就可以在ⅡS中设置屏蔽该IP对Web站点的访问,从而达到防范ⅡS攻击的目的。在相应站点的“属性”面板中,点击“目录安全性”选项卡,点击“IP地址和域名现在”下的“编辑”按钮打开设置对话框。在此窗口中我们可以设置“授权访问”也就是“白名单”,也可以设置“拒绝访问”即“黑名单”。比如我们可以将攻击者的IP添加到“拒绝访问”列表中,就屏蔽了该IP对于Web的访问。
IPSec封锁
IPSec是优秀的系统防火墙,在排除其他还有别的类型的DDOS攻击时,针对CC攻击可以用设置IP策略来对付攻击。以219.128.*.43这个IP为例子,笔者实际操作对该IP的访问封锁。
第一步:“开始→管理工具”,打开“本地安全设置”,右键点击“IP安全策略,在本地机器”选择“创建IP安全策略”,然后点击“下一步”,输入策略“名称”和“描述”。然后默认一路“下一步”创建了一个名为“封CC攻击”的IPSec策略。
第二步:右键点击“IP安全策略,在本地机器”选择“管理IP筛选器表和筛选器操作”,在打开的窗口中点“添加”,在“IP 筛选器列表”窗口添人同第一步的名称和描述信息。取消“使用添加向导”的勾选,然后点击“添加”。在“IP 筛选器 属性”窗口的“地址”选项下设置“源地址”为“192.168.1.6”,目标地址为“我的IP地址”,取消对“镜像”的勾选;点击“协议”选项卡,设置“协议类型”为“TCP”,设置“协议端口”为“从任意端口”到“此端口80”最后确定退出。
第三步:在“新规则 属性”窗口中点选刚才创建的“封CC攻击”规则,点击“筛选器操作”选项卡下的“添加”,点选“安全措施”下的“阻止”,在“常规”选项卡下为该筛选器命名为“阻止CC攻击”然后确定退出。
第四步:点选刚才创建的“阻止CC攻击”筛选器,一路“确定”退出IP策略编辑器,可以看到在组策略窗口的中创建成功一个名为“封CC攻击”的策略,然后右键点击该策略选择“指派”。这样就实现了对该IP的封锁。
防火墙
除了利用上述方法外,还可以通过第三方的防火墙进行防范,打开防护墙防火墙可以了,笔者以天鹰ddos防火墙为例进行演示。安装好天鹰ddos防火墙即可开启防护,傻瓜式配置界面,默认参数即可防护网站,误封较少,智能识别蜘蛛。