菲律宾服务器 发表于 2015-6-17 11:50:58

CC攻击原理以及防范

攻击原理CC攻击的原理并不复杂,其主要思路是基于应用层的弱点进行攻击;传统的拒绝服务攻击,如Syn flood 主要是基于协议层和服务层的弱点开展攻击,早期的抗拒绝服务攻击产品也是基于此进行防护。而应用层的弱点,取决于各自应用平台的开发能力,因此难以具有通用性的防护方案,这也是CC攻击没有很好的防护产品,非常容易得手的原因。简单举例,一个论坛系统,如果存在较多的分页,当一个蜘蛛程序,多并发高频次的进行大量翻页抓取时,已经产生了一种CC攻击。应用层常见SQL代码范例如下(以php为例)$sql="select * from post where tagid='$tagid' order by postid desc limit $start ,30";当post表数据庞大,翻页频繁,$start数字急剧增加时,查询影响结果集=$start+30; 该查询效率呈现明显下降趋势,而多并发频繁调用,因查询无法立即完成,资源无法立即释放,会导致数据库请求连接过多,导致数据库阻塞,网站无法正常打开。性能不够优良的数据查询,不良的程序执行结构,比较消耗资源的功能,都可能成为CC攻击的目标,而执行方法可能是单机发起,也可能是通过肉鸡发起,还有可能通过高流量站点嵌入脚本(iframe嵌入或js嵌入)发起,基于高流量网站嵌入攻击代码的CC攻击,在目前互联网环境上来讲,更加无解。防CC攻击方法一、防CC攻击软件,这个目前是主流。二、另外,再推荐一些CC的防范手段       1、优化代码       尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。       减少复杂框架的调用,减少不必要的数据请求和处理逻辑。       程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。       2、限制手段       对一些负载较高的程序增加前置条件判断,可行的判断方法如下       必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求)       必须具有正确的referer(可有效防止嵌入式代码的攻击)       禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征)       同一session多少秒内只能执行一次       3、完善日志       尽可能完整保留访问日志。       有日志分析程序,能够尽快判断出异常访问,比如单一ip密集访问;比如特定url同比请求激增。
页: [1]
查看完整版本: CC攻击原理以及防范