NGINX防御CC攻击教程

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访问不合理次数等等)

时间: 2024-07-30 05:00:48

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

如何配置Nginx防御CC攻击

前言这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果.其实很多时候,各种防攻击的思路我们都明白,比如限制IP啊,过滤攻击字符串啊,识别攻击指纹啦.可是要如何去实现它呢?用守护脚本吗?用PHP在外面包一层过滤?还是直接加防火墙吗?这些都是防御手段.不过本文将要介绍的是直接通过nginx的普通模块和配置文件的组合来达到一定的防御效果.验证浏览器行为简易版我们先来做个比喻.社区在搞福利,在广场上给大家派发红包.而坏人派了一批人形的机器人(没有语言模块)来冒领红包,聪明工作人员需要想出

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

这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.com/thread-8644-1-1.html CC攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config.inc.php中: 1 $attackevasive = 0;             // 论坛防御级别,可防止大量的非正常请求

Nginx 防CC攻击拒绝代理访问

先大概说说简单的结构…前端一个Nginx反向代理,后端一个Nginx instance app for PHP…实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打流量,而是针对数据库请求页面进行攻击,如search操作…帖子ID F5等..从日志分析来看是从3个URL着手攻击的,当时使用Nginx 匹配$query_string 来return 503…不过会导致页面不能访问,所以想到这么一个折中的办法. 首先你看一段代理请求的NGINX日志: ##通过分析

防御CC攻击

菠菜盾 高防CDN 使用集群防御 隐藏网站真实IP 节点分布 国内 日本 韩国 美国 香港 加拿大 等地方 无视一切CC  流量攻击 集群防御 有效的解决了 CC流量等攻击 游戏客户端多端口定制CDN防御,一键隐藏真实IP,秒开,无需搬站无视CC,被墙域名高防解决 自助购买 自动开通 简洁方便  防御更强.秒速解析.更高防御 无需用户操作.智能防御  智能解析  智能切换,无视CC攻击 无视一切流量 高防 高配 高速 客服QQ:5569669 咨询热线:4000655875 公司网站: http

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

1. What - 什么是CC攻击 CC攻击,即针对应用层HTTP协议的DDos攻击,攻击者在短时间内向目标服务器发送大量的HTTP请求,使得服务器会非常繁忙,资源消耗会增加:同时,如果请求中包含基于数据库的查询,也会对数据库的性能造成影响. 2. Why - 为什么要防范CC攻击 降低Qos质量,妨碍正常用户的访问,严重时会使服务不可用. 3. how - 如何防范 1) 确认HTTP请求会话唯一性 客户端IP+session,服务端可以做判断,相同时刻下的请求,如果客户端IP出现的次数不是唯

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

CC攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config.inc.php中: $attackevasive = 0;  // 论坛防御级别,可防止大量的非正常请求造成的拒绝服务攻击                                  // 防护大量正常请求造成的拒绝服务攻击, 这个参数可以设置的值有: 0表示关闭此功能 1表示cookie刷新限制 2表示限制代理访问 4表示二次请求 8表示回答问题(第一次访问时需要回

Discuz!开源系统如何防御CC攻击?

Discuz!是一套免费的开源建站系统,在国内挺受欢迎的,主要用来搭建社区论坛类的网站.社区论坛类的网站由于流量比较大,很容易遭到DDOS攻击,特别是针对网页的CC攻击.一旦网站遇到类似攻击,不但导致用户流失,还会被搜索引擎降权.那当遇到CC攻击时该怎么办呢?其实Discuz!系统有一个缓解CC攻击的功能,今天墨者安全就教大家如何进行配置. 在Discuz!的配置文件找到config.inc.php,可以看到默认数值是0. $attackevasive = 0; 我们可以修改这个参数来缓解CC攻

H5游戏如何来防御cc攻击又不会误封用户

CC攻击是H5游戏常见的攻击类型,而H5游戏遭受CC攻击的时候,H5游戏访问就会变慢或者无法访问,那么CC攻击是如何攻击H5游戏的呢?CC攻击主要攻击的是页面,H5游戏运营者都知道H5游戏访问量特别大的时候网站访问也会变慢,H5游戏服务器压力大,而CC攻击就是模拟多个用户不停的去访问那些需要大量数据操作的页面,以此让H5游戏服务器CPU占满,从而导致H5游戏无法访问. 第一.高防cdn帮助H5游戏防御攻击需要H5游戏服务器ip地址没有被黑客知道,黑客攻击过H5游戏服务器那么就说明ip已经被黑客记

iptables 实现防御CC攻击

一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP.数据进行检测. 目前市面上比较常见的有3.4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关. 对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测.但是对于七层的防火