网络攻击横行的互联网时代,CC攻击可谓是较为常见的攻击手段,也是需要网站抵挡的攻击之一,想要保护好网站,就需要做好应对攻击的CC防护措施。管理网站和服务器的时候,最害怕的就是网站受到CC攻击,特别是一般的服务器带宽并不大,当受到CC攻击的时候,很容易就因为资源被完全抢占而导致服务器崩溃。
CC攻击的原理很简单,就是对一些消耗资源较大的应用页面不断地发起正常的请求,以达到消耗服务端资源的目的,在web应用中,查询数据库、读写硬盘文件的操作,相对都会消耗比较多的资源。
CC主要是用来攻击页面的,大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就越多。
网站在进行CC防护时需要注意的问题是宽带问题。有人说,增加宽带可以有效防止这种攻击。事实上黑客能调用的资源已经非常庞大,增加宽带不一定能阻止这种攻击,有时提高宽带很有可能会损失你的宽带成本。这种攻击,50兆宽带对于很多网站来说已经非常大了,但是现在黑客在调集了巨大的资源后,可以提供的单位流量攻击远远超过50兆,所以说通过增加宽带来抵御这种攻击显然是一种愚蠢的方法。
有些人在CC防护时可能会有另一种误解,就是认为可以依靠杀毒软件来防止CC攻击。的确,在服务器上安装杀毒软件现在已经是很多人的操作模式,但是这些杀毒软件只能防止常见的攻击,而无法抵御这种大规模的攻击。
杀毒软件的有时甚至比服务器的防火墙还要差。安装杀毒软件会关闭服务器的防火墙,这样服务器防火墙的保护将丢失。因此,所谓的网络攻击防护软件实际上是没有用的,都无法抵御这种大规模的攻击。
当网站遭到CC攻击,会产生以下危害:
1、CC攻击后会导致网站访问速度异常缓慢,哪怕真实的用户访问量很少,打开速度也会很慢。
2、网站长时间被CC攻击,会导致网站访问异常,搜索引擎无法抓取,导致关键词排名受影响,网站访问量骤减,转化率大幅度降低。
3、正常访问的网站加载速度延迟都会消耗用户的耐心,最终导致用户跳出率极高,流失严重,损害网站品牌形象。
CC攻击的类型主要包括直接攻击,代理攻击,僵尸网络攻击三种
1、直接攻击:主要针对有重要缺陷的web应用程序,一般说来是程序写的有问题的时候才会导致这种情况,非常见类型。
2、代理攻击:具体是黑客操作一批代理服务器,然后每个代理同时发出多个请求到目标主机,并且在发出请求后立刻断掉与代理的连接,避免代理返回的数据将本身的带宽堵死,而不能发动再次请求,这时 目标主机会将响应这些请求的进程进行队列,这样一来正常请求将会被排后处理,这时就出现页面打开极其缓慢或者白屏。
3、僵尸网络:攻击有点类似于DDoS攻击,从web应用程序层面上已经无法进行CC防护。
以上攻击方式其实都是同样的原理,CC攻击主要就是黑客控制某些主机,然后不停地发大量数据包给对方服务器,造成服务器资源耗尽,一直到宕机崩溃。CC攻击主要是用来攻击页面的,模拟多个用户不停地进行访问那些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,就会导致网络拥塞,正常的访问被中止。
第一步,降低被攻击的可能性 1、完善日志
尽可能完整保留访问日志。日志分析程序,能够尽快判断出异常访问,比如单一IP密集访问,或者特定url同比请求激增等。
2、优化代码
尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。减少复杂框架的调用,减少不必要的数据请求和处理逻辑。程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。
3、还可以采取一些限制手段
比如对一些负载较高的程序增加前置条件判断,可行的判断方法如下:
a.必须具有正确的referer,可有效防止嵌入式代码的攻击;
b.同一session多少秒内只能执行一次。
c.必须具有网站签发的session信息才可以使用,可简单阻止程序发起的集中请求;
d.禁止一些客户端类型的请求,比如一些典型的不良蜘蛛特征;
第二步,被攻击时可采取的CC防护方式 1)IIS屏蔽IP
我们通过命令或在查看日志发现了CC攻击的源IP,就可以在IIS中设置屏蔽该IP对web站点的访问,从而达到防范IIS攻击的目的。
2)取消域名绑定
取消域名绑定后web服务器的CPU能够马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不便,另外,对于针对IP的CC攻击它是无效的,就算更换域名黑客发现之后,黑客也会对新域名实施攻击。
3)更改web端口
一般情况下web服务器通过80端口对外提供服务,因此黑客实施攻击就以默认的80端口进行攻击,所以,可以修改web端口达到防CC攻击的目的。
遇到任何事情,解决方式都可以分为事前预防和事后补救两步。做好CC防护也是一样,不仅需要做好遇到攻击时的解决方案,更重要的是可以提前做好防御措施。未雨绸缪是首选,亡羊补牢也不晚,都可以降低CC攻击带来的损失。