为了防止CC攻击,通常采用CC服务器进行防护,CC服务器是一种特殊的服务器设备,采用高效的分布式计算和分布式存储技术,可以快速识别和拦截大量的无效流量和恶意请求,并将剩余的合法请求转发到目标服务器中,保证目标服务器的正常运行。CC服务器通常与防火墙、IPS等技术一起使用,形成一个完整的DDoS攻击防护系统,确保网络安全和稳定。
DDoS攻击
是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击(拒绝服务攻击)基础之上产生的一类攻击方式。
单一的DoS攻击一般是采用一对一方式的,通过制造并发送大流量无用数据,造成通往被攻击主机的网络拥塞,耗尽其服务资源,致使被攻击主机无法正常和外界通信,随着计算机与网络技术的发展,DoS攻击的困难程度加大了,于是就产生了DDoS攻击。
其原理就很简单:计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用,那么DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
另外,DDoS攻击不仅能攻击计算机,还能攻击路由器,因为路由器是一台特殊类型的计算机。
CC攻击
可以归为DDoS攻击的一种,其原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC攻击主要模拟多个用户不停地进行访问那些需要大量数据 *** 作的页面,造成服务器资源的浪费,使CPU长时间处于100%,永远都有处理不完的连接直至网络拥塞,令正常的访问被中止。
同时,CC攻击的IP都是真实、分散的,并且都是正常的数据包,全都是有效且无法拒绝的请求。
另外,因为CC攻击的目标是网页,所以服务器什么的都可以连接,ping也没问题,但是网页就是无法访问。
DDoS攻击和CC攻击区别:
1、攻击对象不同:DDoS是针对IP的攻击;CC攻击针对的是网页。
2、危害不同:DDoS攻击危害性较大,更难防御;CC攻击的危害不是毁灭性的,但是持续时间长。
3、门槛不同:DDoS攻击门槛高,攻击者一般需要在攻击前搜集被攻击目标主机数目、地址情况、目标主机的配置性能等资料,盲目攻击可能导致效果不佳;CC攻击门槛低,利用更换IP代理工具即可实施攻击,且目标比较明确,黑客水平比较低的用户也能进行。
4、流量大小不同:DDoS攻击比CC攻击所需要流量更大,且CC攻击有时不需要很大的流量。
CC主要是用来攻击页面的。就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观,现在知道为什么很多空间服务商都说大家不要上传论坛,聊天室等东西了吧。一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。
CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据 *** 作,就是需要大量CPU时间的页面)。很多朋友问到,为什么要使用代理呢?因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。
使用代理攻击还能很好的保持连接,我们这里发送了数据,代理帮我们转发给对方服务器,我们就可以马上断开,代理还会继续保持着和对方连接(我知道的记录是有人利用2000个代理产生了35万并发连接)。
可能很多朋友还不能很好的理解,我来描述一下吧。我们假设服务器A对Searchasp的处理时间需要001S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那么经过1分钟,服务器的被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理。有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列,然后服务器开始120个/秒的丢连接,我们发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了,新的连接也处理不了,这样服务器达到了超级繁忙状态。
蝴蝶:我们假设服务器处理Search只用了001S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大。
当然,CC也可以利用这里方法对FTP进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的。
防范方法
说了攻击原理,大家肯定会问,那么怎么防御?使用硬件防火墙我不知道如何防范,除非你完全屏蔽页面访问,我的方法是通过页面的编写实现防御。
1 使用Cookie认证。这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP+Cookie认证就可以了。
2 利用Session。这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号。给些示范代码吧,Session:
<%if session(“refresh”)<> 1 then
Session(“refresh”)=session(“refresh”)+1
Responseredirect “indexasp”
End if
%>
这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响。
3 通过代理发送的>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)