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. GreenDao数据库框架的配置与增删改查

    并非原创,原创地址http://blog.csdn.net/njweiyukun/article/details/51893092 配置-------------------------------- ...

  2. QM UML状态机建模实例之移植 cortex-m0

    ---恢复内容开始--- 在上一期“Blinky for cortex-m0”中我们介绍了如何在QM中建立一个工程和生成代码,如何使生成的代码在我们的工程师运行起来,为此这一期要介绍如何将QP-NAN ...

  3. OpenSSL 使用拾遗(一)---- 生成 pkcs12 文件

    从本期开始,记录一些在使用 OpenSSL 过程中碰到的问题及解决办法 在 Linux 下需要生成 pkcs12 文件,立即想到 OpenSSL.键入如下命令 ~ # openssl pkcs12 - ...

  4. 模块化以及requirejs和seajs

    我们用模块化的思想进行网页的编写是为了更好的管理我们的项目 模块与模块之间是独立存在的,每个模块可以独立的完成一个子功能. 模块化所涉及的规范commonjs,AMD,CMD,UMD 其中的commo ...

  5. ad bga扇出 和群组布线

    本文关于如何快速规范的bga布线和扇出做笔记 目的:layout一个ili的3+1的控制板.把线距控制在4mil 这样可以节约制造成本. 问题:需要大改布局.尤其是bga扇出和通道连接的问题. 细节: ...

  6. 算法(第4版)-1.5 案例研究:union-find算法

    问题→ 动态连通性:当程序从输入中读取了整数对p q时,如果已知的所有整数对都不能说明p和q是相连的,那么则将这一对整数写入到输出中.如果已知的数据可以说明p和q 是相连的,那么程序应该忽略p q这对 ...

  7. 码农带你区分String类型的"=="和equals()

    大家玩csdn也可以关注我的博客额http://blog.csdn.net/wujiandong25253344 情形一: String s1= new String("hello" ...

  8. Android 游戏教程让人物动起来

    在这里给大家分享Android游戏教程怎样让人物动起来,话不多说了,直接进入正题. 一. 准备工作     首先要准备好要使用的人物动作图和地形图.把它分割成16个不同的动作,循环播放同一行的4个不同 ...

  9. Linux文件系统层次结构标准

    该标准的目的是定义Linux文件系统的标准路径,使得开发者和用户可以在合理的位置找到需要的东西. Linux的文件布局的大体想法是将文件和目录分为如下3组: 对运行Linux的某一特定系统唯一的文件和 ...

  10. Native VS React Native VS 微信小程序

    随着React Native和 微信小程序的出现,Native一家独大的局面出现裂痕,很多小公司使用已经正在着手微信小程序和React Native了,我公司就已经走上React Native之路.那 ...