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. 微信openid获取(php),

    在看这个的基础上有阅读过微信的相关文档, 这段url是给用户的,当用户点击进去后会出一个,确认登录授权,需要用户点击授权之后跳到你的授权回调地址(注意:下面php代码必须放在授权回调地址中:比如回调地 ...

  2. ie6下js更新元素display:block后,仍然不显示的hack办法

    $hotGames.html(html).removeClass("hide").show();//代码执行到这里,在ie6下仍然无法正常显示 //只有执行了下边的两行代码后,才正 ...

  3. MVC与webservice上传文件(图片和视频),希望帮且到一些朋友

    最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料. 自己也折腾了半天,才把完整的代码实现完.可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见 ...

  4. DTD指定了游戏规则。

    1.DTD的作用 DTD是XML的型,列出了XML中的元素有哪些.元素间的关系.元素可以有哪些内容,元素的属性也有哪些.DTD实质说明的是元素间的关系,也就是类之间的关系.是一棵树状结构的说明,与XM ...

  5. 用VC调用EXCEL简单代码(转载自越长大越孤单,觉得很好)

    首先在stdafx.h里加入对IDispatch接口提供支持的头文件: #include <afxDisp.h> 再在应用程序类的InitInstance()函数里加入: AfxOleIn ...

  6. opensuse 13.1 安装配置从0开始

    主要目的为自己留作备份,仅作参考! 1. 输入法 托盘->输入法->配置 去掉除英语和Sunpinyin之外的输入法,配置Sunpinyin,使用双拼方案,重启fcitx. 另外需要禁用笔 ...

  7. Gnu C的不同于标准C的语法

    2. ,## 是与逗号合在一起用的, 表示后面有变量,则显示逗号,若后面无变量,则不显示逗号, 这种情况适用于用宏替换可变参数的函数,调用的时候可能传一个参数,或传两个参数, 这种打印语句在平台上,函 ...

  8. 学习Core 本机开发调试 (环境)

    安装  https://www.microsoft.com/net/download 本机开发调试 需要下载安装这3个,如果没装 windows(Server Hosting)可能会 出现502.5报 ...

  9. js 正则表达式 转至(七郎's Blog)

    //匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线 var re =new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,19}$"); if( ...

  10. Map循环的三种方法

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapTest { pu ...