本文关于什么是CC攻击,如何防止网站被CC攻击?,据
亚洲金融智库2022-04-13日讯:
什么是CC攻击?
攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(Challenge Collapsar)。CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观。
防御方法
对于CC攻击.其防御必须采用多种方法,而这些方法本质上也是在提高服务器的并发能力。
1、服务器垂直扩展和水平扩容
资金允许的情况下,这是最简单的一种方法,本质上讲,这个方法并不是针对CC攻击的,而是提升服务本身处理并发的能力,但确实提升了对CC攻击的承载能力。垂直扩展:是指增加每台服务器的硬件能力,如升级CPU、增加内存、升级SSD固态硬盘等。水平扩容:是指通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等等。
2、数据缓存(内存级别,不要用文件)
对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。要注意的是,缓存不要使用文件形式,可以使用redis、mem—cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内。局域网内的网络IO肯定比起磁盘IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的。
3、页面静态化
与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。
4、用户级别的调用频率限制
不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID(后称作SID),服务端可以将SID存到缓存中。当客户端请求服务时,如果没有带SID(cookie中或请求参数中等),则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID(即SID能在服务端缓存中匹配到),便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀情况。
5、IP限制
最后,IP限制依然可以结合上述规则一起使用,但是可以将其前置至)JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。
目前市面上已经很多网站防御CC的产品,如高防CDN、高防IP、高防服务器等。相关链接
CUP使用率如果经常百分百的话,很可能是受到cc攻击。cc攻击,是一种以网站页面为攻击目标的应用层攻击,攻击时选择服务器开放的页面中需要较多资源开销的应用。例如占用大量cpu资源进行运算或需要大量访问数据库的应用。因此攻击会造成服务器CPU使用率百分之百。cc攻击的特点:很小的流量达到拒绝服务的效果;正常访问特征,攻击特征不明显,没有长时间的半开连接,也没有大量的tcp或UDP的syn包流量出现,很难与正常访问区分。cc攻击的检测方法:1.cookie认证,验证浏览器端cookie;2.通过HTTP_X_FORWARDED_FOR变量检测代理服务器,提供代理时会通过HTTP_X_FORWARDED_FOR变量发送原始的用户ip地址,根据这个变量可以统计在一段时间内同一原始ip通过不同的代理服务器发送了多少个访问请求,如果超出正常值,就可以认定为攻击行为;3.将页面中需要进行数据访问或者较复杂处理的内容放在一个重定向指令之后,访问该页面得用web服务器访问重定向功能先让用户访问一个简单的预处理页面,由预处理页面记录用户访问信息,并进行认证,通过认证的请求重定向到执行用户访问请求的页面,对用户访问信息设置过期,如果一段时间内出现大量用户信息过去,就可以判断出页面正受到攻击;4.建立网站各个页面访问量分布模型,当用户访问分布情况发生较大的变化时,可以判定为发生cc攻击了。cc攻击的防御只需要在服务器上装上相应的服务器安全防御软件就可以达到效果了,至于这类的软件可以百度上自行搜索,服务器安全狗效果不错,建议可以考虑。
专题推荐:
攻击(173)如何(585)防止(22)