网络攻击当中cc攻击和ddos攻击应该是最为常见的两种攻击方式,但是很多人对这种两种攻击经常混淆,不懂得区分,这里就重点针对cc攻击来讲解一下cc攻击属于什么攻击。
严格来说,cc攻击其实是属于ddos攻击的一种类型,ddos攻击包含的方式非常多,cc攻击时其中一种,主要针对网站发起攻击。
相对于ddos攻击来说,cc攻击的流量普遍不是很高,很少达到10万量级以上,但是造成的破坏性非常大,能够直接导致网站无法正常运行。
CC攻击的原理是通过代理服务器或者大量肉鸡模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标CPU资源,造成拒绝服务。CC不可以用硬件防火墙来过滤攻击,CC攻击本身的请求就是正常的请求。
那么,针对cc攻击应该怎么预防呢?这里介绍几种防御方式
1、下载网站安全狗
点击【流量保护】进入CC攻击防护界面,开启CC攻击防护功能(一般是默认开启),即可进行防护。
网站安全狗免费下载地址,免费使用:http://free.safedog.cn/website_safedog.html
用户可以使用默认设置的参数。在使用过程中,建议根据实际需求对防护规则进行优化,设置相应的CC攻击防护规则。用户可以设置“访问规则”、“会话验证规则”、“代理规则”、“网站白名单"等。如设置访问规则参数,可设置单个IP每10秒允许最大请求的数目为100次,超过此次数,该IP会被冻结即被限制访问5分钟 或者超过这个次数,IP会被放行30分钟。
同时也可添加【网站白名单】,加入网站白名单的网站不受防护规则影响,这里的网站只单独针对CC攻击防护模块进行设置。【注意在设置参数后,建议进行测试下,如有不适,及时调整参数;或者在设置前,建议可咨询下安全狗官方人员进行了解】
2、服务器垂直扩展和水平扩容
资金允许的情况下,这是最简单的一种方法,本质上讲,这个方法并不是针对CC攻击的,而是提升服务本身处理并发的能力,但确实提升了对CC攻击的承载能力。垂直扩展:是指增加每台服务器的硬件能力,如升级CPU、增加内存、升级SSD固态硬盘等。水平扩容:是指通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等等。
3、数据缓存(内存级别,不要用文件)
对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。要注意的是,缓存不要使用文件形式,可以使用redis、mem—cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内。局域网内的网络IO肯定比起磁盘IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的。
4、用户级别的调用频率限制
不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID(后称作SID),服务端可以将SID存到缓存中。当客户端请求服务时,如果没有带SID(cookie中或请求参数中等),则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID(即SID能在服务端缓存中匹配到),便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀情况。
5、页面静态化
与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。
6、IP限制
最后,IP限制依然可以结合上述规则一起使用,但是可以将其前置至)JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。
根据上面的介绍,相信朋友们应该了解cc攻击属于什么攻击了吧。针对于cc攻击,虽然并不是什么深奥的攻击方式,但是处理起来却非常头疼,因为是属于正常的访问请求,所以想要排查需要耗费一定的时间和精力,往往需要借助攻击来搭配清理。