网络攻击的问题一直都存在着,人们对于防御网络攻击也一直都进行着,在这里我们就来认识一种DDOS攻击的类型,CC攻击。我们简单地学习一下CC攻击的概念与意义,然后再就防御CC攻击的问题上讲讲该怎么提升防御能力,希望大家可以与小编一起来看一看。
CC攻击是DDoS攻击的一种类型,使用代理服务器向受害服务器发送大量貌似合法的请求(通常使用HTTPGET)。CC(ChallengeCollapsar,挑战黑洞)根据其工具命名,攻击者创造性地使用代理机制,利用众多广泛可用的免费代理服务器发动DDoS攻击。许多免费代理服务器支持匿名模式,这使追踪变得非常困难。
CC攻击是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。
CC攻击利用代理服务器向网站发送大量需要较长计算时间的URL请求,如数据库查询等,导致服务器进行大量计算而很快达到自身的处理能力而形成DOS,而攻击者一旦发送请求给代理后就主动断开连接,因为代理并不因为客户端这边连接的断开就不去连接目标服务器,因此攻击机的资源消耗相对很小,而从目标服务器看来,来自代理的请求都是合法的。
虽然在一定程度上利用limit_req_module能够防止CC攻击,但是会出现误杀的情况;我们国内的宽带用户的IP地址如今已然是大量内网化,经常都是几百个人在使用同一个IP地址,如果是做基于IP的频率限制,误杀的概率会非常大。
大家应该也都清楚,我们国内很多都是一个公司的许多电脑共用一个IP,一个小区也是有这样的情况,而且移动网络共用基站的设备还更容易出现相同的公网IP。如果只用IP频率限制这一种手段来防御CC攻击是不够的,因此我们还需要其他的一些方法,这些方法本质上也能够提供服务器的并非能力。
1.数据缓存(内存级别,不需用文件)。对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或者是通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。
值得我们注意的是,在数据缓存时可以使用Redis、memcached等基于内存的nosql缓存服务,但不要使用文件形式,而且要和应用服务器分离开来,在局域网内单独部署。主要是局域网内的网络IO要比磁盘IO高。另外,使用千兆网络是必要的选择,因为这样才会不令局域网的带宽成为瓶颈。
2.服务器垂直扩展和水平扩容。如果我们的资金足够的话,这是最简单的一种方法,如果从本质上来讲的话,这并不是针对CC攻击的方法,而是提升服务本身的处理并发能力,这是能够提升对CC攻击的承载能力。
垂直扩展:指的是增加每台服务器的硬件能力,比如增加内存、升级SSD固态硬盘、升级CPU等。
水平扩容:指的是通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器、缓存服务器等等。
3.用户级别的调用频率限制。无论服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID(后称作SID),服务端可以把SID存到缓存中。当客户端请求服务时,假如没有带SID(cookie中或请求参数中等)的话,就由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID(即SID能在服务端缓存中匹配到),就可以依据SID对客户端进行频率限制。如果是SID非法的请求,那么就直接拒绝服务。根据SID的频率限制比根据IP进行的频率限制会更加精准可控,最大程度的避免误杀的情况。
4.页面静态化。页面数据在本质上也是属于数据的,这个是与数据缓存一样的。我们经常使用的手段是生成静态化的html页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,这几种方法都可以降低服务器端的数据检索和计算压力,快速相应结果并释放连接进程。
5.IP限制。当然啦,IP限制依然是一个防御CC攻击的方法,尽管它有我们之前所说的误杀情况发生。但我们可以把这个IP限制结合以上所说的规则结合起来使用,可以把它前置到外层的防火墙或负载均衡器上去做,并且可以调大限制的阈值(结合历史统计数量,预测一个极端的访问量阈值,在服务器可承受的范围内,尽量避免误伤),防止恶意访问穿透到应用服务器上,造成应用服务器压力。
以上的内容就是小编整理的关于CC攻击的知识了。大家在学习了这几种的防御方法之后对付CC攻击都游刃有余了吧?很开心这篇文章能够帮助到大家,也很感激大家能够花费时间来阅读小编的这篇文,非常感谢!如果大家有什么想要学习的可以给小编留言也可以前往我们课课家教育进行咨询与学习哦。