CC攻击即http flood,以攻击成本低(只需数台http代理服务器即可实现攻击)、隐蔽性强(中小CC攻击一般不会造成网络瓶颈)、难防御(与正常访问的请求很难区分开)、威力强大(造成和DDOS流量攻击一样的效果,网站长时间无法打开)等特点著称。常规的http flood防御为JS弹回,二次请求验证加入白名单 和 多层缓存(七层、四层共同缓存)实现防御体。 
 
 
CC攻击,首先造成的后果往往是被攻击服务器CPU爆满、内存占用高、甚至磁盘IO高占用。通常服务器上有永远处理不完的任务,所以,CC攻击,也是以拒绝服务为目的的攻击,属于DDOS攻击中的一种。 
 
 
那么CC攻击应该如何防御呢? 
 
 
首先站长朋友需要冷静下来,对手攻击你的项目,目的就是要你自乱阵脚,冷静下来,才好准备拔剑迎战。 
 
 
分析量有多少:

netstat -an | grep ':80 ' -c
 

这是判断80端口的连接数,用这个数字与网站上第三方统计代码相比对,如果差距悬殊,甚至服务器卡到统计不出来,那么就肯定是CC攻击。 
如果资源占用太高甚至SSH命令执行都困难,先暂停一段时间的WEB服务(不要觉得失去什么,服务已经无法访问,何必留着继续耗资源?) 
 
 
1.新手必备:限制访问速率 
使用http://tengine.taobao.org/document_cn/http_limit_req_cn.html中的CONF字段配置限制语句 #详细后续编辑# 
 
 
2.擒贼擒王:找出攻击共同特征 
按连接数排序

netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
 

找出连接数最大的IP(假设是22.00.**.11),在日志中匹配

cat /log/nginx/access.log | grep "22.00.**.11" | more
 

找出访问日志中攻击者所用工具的特征,然后尝试在conf中封禁掉。 
 
 
 
3.报仇不留情:封禁 
 
 
假如攻击者使用工具的UA包含“Bench”字段,那么可以在conf中屏蔽掉:

location /{
if ( $http_user_agent ~ "Bench" ) {
return 444;
}
}

  

附录:常见防御CC攻击算法 
 
 
日志分析 
将日志中访问频率过高的IP封禁 
将日志中不符合人的特征的IP封禁(同一URL访问不合理次数等等)

NGINX防御CC攻击教程的更多相关文章

  1. Nginx防御CC攻击

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

  2. 基于日志数据分析以防御CC攻击的想法

    1. What - 什么是CC攻击 CC攻击,即针对应用层HTTP协议的DDos攻击,攻击者在短时间内向目标服务器发送大量的HTTP请求,使得服务器会非常繁忙,资源消耗会增加:同时,如果请求中包含基于 ...

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

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

  4. Nginx 防CC攻击拒绝代理访问

    先大概说说简单的结构…前端一个Nginx反向代理,后端一个Nginx instance app for PHP…实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打 ...

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

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

  6. 通过Nginx对CC攻击限流

    最近公司部署到阿里金融云的系统遭受CC攻击,网络访问安全控制仅靠阿里云防火墙保障,在接入层及应用层并未做限流. 攻击者拥有大量的IP代理,只要合理控制每个IP的请求速率(以不触发防火墙拦截为限),仍给 ...

  7. nginx预防常见攻击

    目录 nginx防止DDOS攻击 概述 攻击手段 配置 限制请求率 限制连接的数量 关闭慢连接 设置 IP 黑名单 设置IP白名单 小站点解决方案 nginx防止CC攻击 概述 主动抑制方法 应用举例 ...

  8. nginx防止DDOS攻击配置

    转自:http://www.escorm.com/archives/452 防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈.DDOS的特点是分布式,针对带宽和服务攻击 ...

  9. nginx防止DDOS攻击

    防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈.DDOS的特点是分布式,针对带宽和服务攻击,也就是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构 ...

随机推荐

  1. vhosetuser 和 vhostuservlient 差异

    Open vSwitch支持的vHost-user类型 在Open vSwitch中vHost User通过socket进行通信,模式为client-server,其中server端负责创建/管理/销 ...

  2. 900. RLE Iterator

    Write an iterator that iterates through a run-length encoded sequence. The iterator is initialized b ...

  3. 内置装饰器二:@property

    property 装饰器的作用 property 装饰器将方法包装成属性,将私有属性公有化,此属性只能被读取.相当于实现get方法的对象 class People: def __init__(self ...

  4. FunDA(13)- 示范:用户自定义操作函数 - user defined tasks

    FunDA是一种函数式的编程工具,它所产生的程序是由许多功能单一的细小函数组合而成,这些函数就是用户自定义操作函数了.我们在前面曾经提过FunDA的运作原理模拟了数据流管道.流元素在管道流动的过程中被 ...

  5. tomcat apr Dockfile

    基于 centos7.4 jdk1.7 RUN yum makecache && yum --nogpgcheck -y groupinstall 'Development Tools ...

  6. UINavigationBar 的视觉效果

    有很多属性可以决定导航栏的视觉效果,下面做一下总结 barStyle 属性 白底黑字 default 黑底白字 black blackOpaque 和 blackTranslucent 已被 Depr ...

  7. Python小白学习之路(十七)—【内置函数二】

    序列操作类函数 all() 功能:判断可迭代对象的每个元素是否都为True值注意:If the iterable is empty, return True.(举例3) 回顾:None     ''  ...

  8. C#获取获取北京时间多种方法

    #region 获取网络时间 ///<summary> /// 获取中国国家授时中心网络服务器时间发布的当前时间 ///</summary> ///<returns> ...

  9. Java之集合(二十一)LinkedTransferQueue

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7505355.html 1.前言 本章介绍无界的阻塞队列LinkedTransferQueue,JDK7才提供了这 ...

  10. 【Java并发编程】:并发新特性—信号量Semaphore

    在操作系统中,信号量是个很重要的概念,它在控制进程间的协作方面有着非常重要的作用,通过对信号量的不同操作,可以分别实现进程间的互斥与同步.当然它也可以用于多线程的控制,我们完全可以通过使用信号量来自定 ...