CC攻击的防御手段
1.提高服务器性能
CC攻击是以消耗服务器资源为主,那么高性能服务器硬件能力和充足的网络带宽资源可以提升系统对CC攻击的承载能力,不过提升服务器性能的成本要远比CC攻击成本高,所以谨慎使用。
2.网页静态化
纯静态的网页请求可以减少对服务器资源的消耗,提高服务器并发能力,从而让网站具有一定的抗CC能力。
3.使用负载均衡
现在很多云服务器商都提供负载均衡器,负载均衡器通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性,可以解决一些中小型CC攻击,但其实这跟提高服务器性能一样,成本相当高,跟CC攻击比起来,差太远。
4.限制非法请求IP
一些简单的CC攻击其IP是非常少的,可以通过防火墙对CC攻击的IP进行屏蔽访问。这方法只适用于攻击方代理IP少的情况下有效。
5.限制浏览器UA
UA是识别浏览器的重要证明,一些CC工具的访问UA都是一样的,我们只要利用防火墙把对方的UA禁止访问,就可以达到防御作用。
6.限制IP请求频率
CC攻击为了达到消耗服务器的作用,每个IP都会对服务器进行频繁的访问,通过防火墙限制每个IP 10秒钟内可以访问多少次,超过会被暂时拦截,可有效防御CC攻击。
7.JS挑战
这是一种安全防御商常用的防御CC攻击的手段,通过对每个访问网站的访客进行JS质询,合法用户正常跳转,非法用户进行拦截。
8.CDN内容分发
CDN类似于负载均衡器, 不同的是CDN对源服务器配置要求高,普通CDN想要防御CC攻击,需要把网站内容全部缓存至CDN节点,让CC攻击尽可能少的请求进服务器,从而达到防御CC攻击的作用,不过CC攻击会产生大量的流量,如果你的CDN是按量计费的,那么请谨慎使用,一不小心就会产生大量的费用,造成严重经济损失。
9.推荐防御产品
目前市面上很多防御CC攻击的产品,不过很多效果并不理想,而且误杀几率很高,主机吧这里推荐百度云加速和京东云星盾,这两个都是高防CDN,而且都是大厂产品,主机吧代理百度云加速超过5年,百度云加速防御效果杠杠的,市面上几乎99.9%的CC攻击都是可以防御,而且误杀极低,推荐大家使用。相关链接
对于CC攻击,其防御必须采用多种方法,而这些方法本质上也是在提高服务器的并发能力。
1、服务器垂直扩展和水平扩容
资金允许的情况下,这是最简单的一种方法,本质上讲,这个方法并不是针对CC攻击的,而是提升服务本身处理并发的能力,但确实提升了对CC攻击的承载能力。垂直扩展:是指增加每台服务器的硬件能力,如升级CPU、增加内存、升级SSD固态硬盘等。水平扩容:是指通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等等。
2、数据缓存
对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。要注意的是,缓存不要使用文件形式,可以使用redis、mem-cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内。局域网内的网络IO肯定比起磁盘IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的。
3、页面静态化
与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。
4、用户级别的调用频率限制
不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID,服务端可以将sid存到缓存中。当客户端请求服务时,如果没有带SID,则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID,便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀情况。
5、IP限制
最后,IP限制依然可以结合上述规则一起使用,但是可以将其前置至)JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)