什么是cc攻击
CC攻击可以归为DDoS攻击的一种。他们之间都原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击。CC攻击又可分为代理CC攻击,和肉鸡CC攻击。代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现DOS以及伪装就叫CC
CC攻击的原理并不复杂,其主要思路是基于应用层的弱点进行攻击;传统的拒绝服务攻击,如Syn flood 主要是基于协议层和服务层的弱点开展攻击,早期的抗拒绝服务攻击产品也是基于此进行防护。而应用层的弱点,取决于各自应用平台的开发能力,因此难以具有通用性的防护方案,这也是CC攻击没有很好的防护产品,非常容易得手的原因。
简单举例,一个论坛系统,如果存在较多的分页,当一个蜘蛛程序,多并发高频次的进行大量翻页抓取时,已经产生了一种CC攻击。
防范手段
优化代码
尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。
减少复杂框架的调用,减少不必要的数据请求和处理逻辑。
程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。
限制手段
对一些负载较高的程序增加前置条件判断,可行的判断方法如下:
必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求) 必须具有正确的referer(可有效防止嵌入式代码的攻击)
禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征)
同一session多少秒内只能执行一次
完善日志
尽可能完整保留访问日志,有日志分析程序,能够尽快判断出异常访问,比如单一ip密集访问;比如特定url同比请求激增。