1. What - 什么是CC攻击
CC攻击,即针对应用层HTTP协议的DDos攻击,攻击者在短时间内向目标服务器发送大量的HTTP请求,使得服务器会非常繁忙,资源消耗会增加;同时,如果请求中包含基于数据库的查询,也会对数据库的性能造成影响。
 
2. Why - 为什么要防范CC攻击
降低Qos质量,妨碍正常用户的访问,严重时会使服务不可用。
 
3. how - 如何防范
1) 确认HTTP请求会话唯一性
客户端IP+session,服务端可以做判断,相同时刻下的请求,如果客户端IP出现的次数不是唯一的,这种请求必然不是正常用户,服务端可以调用相关防御机制处理这类请求;在IP唯一的情况下,检测session中的访问动作,如果多次刷新,则是可疑行为,此时应该启用防御机制。
这种防范属于应用层程序的自身的主动防御,也是最可靠的,代价主要在程序架构和开发。
 
2) 基于访问日志数据分析的防御
根据连续访问日志的数据分析,根据IP访问量的变化情况,获得可疑IP,将这类IP放入拒绝访问列表中,以实现防御目的。
这种防范属于网络层面的被动防御,防御机制生效落后于攻击,且很容易误杀同一个出口IP的正常用户,这也是我们当前在做的,思路和模块简述如下:
(1) 获取策略阈值
根据已有的正常访问日志,统计连续几天内如下数据内容,以一天为例:
时间片单位:15min
单位时间内:总的访问量(total_access_p15),总的访问IP数(ips_p15)
时间片内每个IP的平均访问量:ips_per_count=total_access_p15/ips_p15
从00:00:00开始,一天可以获取24*60/15=96个ips_per_count
连续计算正常访问情况下5天的96个ips_per_count,然后对相同起始时刻的单位时间做均值,最后获得96个avg_ips_per_count作为对应的策略阈值
(2) 可疑IP判定
已知时间片内的每个avg_ips_per_count,将其作为过滤条件,去过滤查询出时间片内访问次数大于avg_ips_per_count的单个IP(ip),每个IP在每5min内的访问量(ip_count_p3),对相邻的ip_count_p求商,如果商大于1,则视为可疑行为的IP,将其加入黑名单。
(3) 黑名单更新
在日志中查询黑名单IP出现的非200状态码如403的次数(bl_ip_deny_count),如果bl_ip_deny_count小于上次(ip_count_p1+ip_count_p2+ip_count_p3)/3,则将其移出黑名单。
 
进行上述简要分析处理,可以较为真实的反映IP的请求行为,做到较为可靠的防御效果,并降低误杀的可能。
 

基于日志数据分析以防御CC攻击的想法的更多相关文章

  1. NGINX防御CC攻击教程

    CC攻击即http flood,以攻击成本低(只需数台http代理服务器即可实现攻击).隐蔽性强(中小CC攻击一般不会造成网络瓶颈).难防御(与正常访问的请求很难区分开).威力强大(造成和DDOS流量 ...

  2. Nginx防御CC攻击

    CC攻击可以归为DDoS攻击的一种.他们之间都原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击.CC攻击又可分为代理CC攻击,和肉鸡CC攻击.代理CC攻击是黑客借助代理服务器生 ...

  3. 使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法

    这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.co ...

  4. 使用Discuz!自带参数防御CC攻击以及原理

    CC攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config.inc.php中: $attackevasive = 0;  // 论坛防御 ...

  5. cc攻击技术

    攻击者借助代理服务器生成指向受害主机的合法请求,实现DOS,和伪装就叫:cc(ChallengeCollapsar). CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较 ...

  6. CC攻击网站和游戏如何针对性预防?

    1:CC攻击原理 CC = Challenge Collapsar,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致 使形成拒绝服务的目的, CC攻击是DDOS(分布式拒绝服务)的一种,相比 ...

  7. cc攻击和ddos攻击的区别和攻防 + 调SYN连接参数

    1.一个是WEB网络层拒绝服务攻击(DDoS),一个是WEB应用层拒绝服务攻击(CC),网络层就是利用肉鸡的流量去攻击目标网站的服务器,针对比较本源的东西去攻击,服务器瘫痪了,那么运行在服务器上的网站 ...

  8. 【随笔】Linux主机简单判断CC攻击的命令

    今天看到一个很有意思的命令tcpdump,在这里记录下. 如果想要看tcpdump的详细用法,可以点击这里. 什么是CC攻击? 关于CC攻击,这里引用百度的解释: CC攻击的原理就是攻击者控制某些主机 ...

  9. DDoS攻防战(二):CC攻击工具实现与防御理论

    我们将要实现一个进行应用层DDoS攻击的工具,综合考虑,CC攻击方式是最佳选择,并用bash shell脚本来快速实现并验证这一工具,并在最后,讨论如何防御来自应用层的DDoS攻击. 第一步:获取大量 ...

随机推荐

  1. 使用javaScript实现简单倒计时功能

    效果如下: <div class="warp"> <p id="txt">距离”十一“国庆放假还有:</p><br&g ...

  2. 设置table距离顶部位置

    //UIEdgeInsetsMake———— UIEdgeInsets insets = {top, left, bottom, right} self.tableView.contentInset ...

  3. dedecms购物车商品添加删除数量改变方式变成ajax

    简单的做了一下修改,模板用的它默认的模板,感觉之前全是表单提交很不爽用的 修改的相关文件:/plus/posttocar.php, /plus/car.php,/templets/plus/car.h ...

  4. 移动混合开发之android文件管理新建文件和删除文件

    今天经过一天超过8小时的实践,有很多CSS上的细节需要注意: 1, /*注意是对before的操作*/ .content ul li .icon-check-empty:before{ display ...

  5. FastFDS配置安装

    先说环境: win7旗舰版,配CRT连接虚拟机,虚拟机用的vmware Player,安装的CentOS6.4版本. 1.添加用户 useradd fastdfs 这步可以不做,后面的操作用root账 ...

  6. C++中const关键字的使用总结

    C++中使用const关键字来修饰常量,下面从两个方面总结:变量和成员函数. 变量:const可以修饰普通变量.指针(数组)和结构体. 1.const修饰普通变量是最简单的情形.这样的用法多为在程序中 ...

  7. docker 源码分析 三(基于1.8.2版本),NewDaemon启动

    本文来分析一下New Daemon的启动过程:在daemon/daemon.go文件中: func NewDaemon(config *Config, registryService *registr ...

  8. j2ee学习资料收集

    1    tomcat web.xml加载顺序,  讲解了web.xml什么时候加载,内部的各个组件加载的顺序 http://blog.sina.com.cn/s/blog_4553489c01010 ...

  9. php大力力 [049节] php函数implode()

    implode()[1]  函数返回一个由数组元素组合成的字符串. 注释:implode() 函数接受两种参数顺序.但是由于历史原因,explode() 是不行的,您必须保证 separator 参数 ...

  10. 删除hao123这个恶心的毒瘤

    最近做服务器,好好一个东西莫名其妙的被染上了这个狗皮膏药......然后我就用了各种手段删除,注册表.组策略等等都用上了,却没有丝毫办法.....最后发现的地方特别无语,居然在快捷方式的属性中加上了u ...