设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 778|回复: 0
打印 上一主题 下一主题

CC攻击原理以及防范

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2015-6-17 11:50:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
攻击原理
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同比请求激增。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|中国U网    

GMT+8, 2024-5-16 21:57 , Processed in 0.067773 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表