何为CC攻击,如何抵御网站遭受CC攻击
何谓CC攻击?
攻击者通过代理服务器生成指向目标主机的合规请求,达成DDOS攻击和伪装行为,称之为:CC(Challenge Collapsar)。CC主要针对网页进行攻击。大家都有过这样的体验,当访问大型论坛时,若访问人数众多,打开页面的速度就会变慢,访问人数越多,论坛页面越多,数据库压力越大,访问频率越高,占用的系统资源也就越庞大。
防御策略
针对CC攻击,防御措施需综合运用,其核心在于增强服务器的并发处理能力。
1、服务器纵向扩展与横向扩展
在资金允许的前提下,这属于最直接的方法,本质上并非专门针对CC攻击,而是提升服务本身处理并发的能力,但确实增强了应对CC攻击的承受力。纵向扩展:指的是增加每台服务器的硬件性能,如升级CPU、增加内存、升级SSD固态硬盘等。横向扩展:指的是通过增加提供服务的服务器来提升承载能力。这种扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等。
2、数据缓存(内存级别,避免使用文件)
对于服务中具有高度共性、多用户可重用或单用户多次可重用的数据,一旦从数据库中检索出来或通过计算得出后,最好将其存放在缓存中,后续请求可以直接从缓存中获取数据,减轻数据库的检索压力和应用服务器的计算压力,快速返回结果并释放进程,从而也能缓解服务器的内存压力。需要注意的是,缓存不要使用文件形式,可以使用redis、memcached等基于内存的NoSQL缓存服务,并且与应用服务器分离,独立部署在局域网内。局域网内的网络I/O肯定比磁盘I/O要高。为了避免局域网成为瓶颈,千兆网络也是必要的。
3、页面静态化
与数据缓存类似,页面数据本质上也是数据,常见的做法是生成静态化的HTML页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓存服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。
4、用户层级的调用频率限制
无论服务是否具有登录状态,都可以通过session等方式为客户端分配唯一的识别ID(以下简称SID),服务端可以将SID存入缓存中。当客户端请求服务时,如果没有携带SID(cookie中或请求参数中),则由服务端快速分配一个并返回。如果可能,本次请求可以不返回数据,或者将分配SID独立于业务服务。当客户端请求时携带了合法SID(即SID能在服务端缓存中匹配到),便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比基于IP的频率限制,基于SID的频率限制更加精准可控,可最大程度地避免误杀情况。
5、IP限制
最后,IP限制可以结合上述规则一起使用,但可以将其前置至网络层的防火墙或负载均衡器上实施,并且可以适当提高限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。
目前市场上已经出现了许多用于防御CC攻击的产品,如高防CDN、高防IP、高防服务器等。相关链接
防火墙的作用是什么
防火墙的作用是:
防火墙指的是设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列组件的组合。它可以通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全防护。
在逻辑上,防火墙是一个隔离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保障了内部网络的安全。