CC攻击种类:
1、直接攻击:主要针对有重要缺陷的Web应用程序,一般来说是程序写的有问题的时候才会出现这种情况,比较少见。
2、肉鸡攻击:黑客使用CC攻击软件,控制大量肉鸡发动攻击,相比代理攻击更难防御,因为肉鸡可以模拟正常用户访问网站的请求,伪造成合法数据包。
3、僵尸网络攻击:有点类似于DDoS攻击,从Web应用程序层面上已经无法防御。
4、代理攻击:代理攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现Dos和伪装。
CC攻击防御措施:
1、取消域名绑定
一般CC攻击都是针对网站的域名进行攻击,比如我们网站域名为:www.oldboyedu.com,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。对于这样的攻击我们的措施是取消这个域名的绑定,让CC攻击失去目标。
2、屏蔽IP
我们通过命令或在查看日志发现了CC攻击的源ip,就可以在防火墙中设置屏蔽该IP对web站点的访问,从而达到防范攻击的目的。
3、更改Web端口
一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。
4、域名欺骗解析
如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样再多的肉鸡或者代理也会宕机。
5、部署高防CDN防御
高防CDN可以自动识别恶意攻击流量,对这些虚假流量进行智能清洗,将正常访客流量回源到源服务器IP上,保障源服务器的正常稳定运行。
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条)