一,防御方式 
1)JavaScript方式输出入口 
演示可以看下面这张图:  
 
第一次访问的时候,不是直接返回网页内容,而且返回这段JS程序。  
作用就是计算出入口变量的值,然后在访问的网址后面加上类似于”?jdfwkey=hj67l9″的字串,组合成新的网址,然后跳转,当防火墙验证了jdfwkey的值(hj67l9)是正确的之后,就放行,一段时间内就不会再出这个判断程序的页面。  
 
2)301或者302转向方式输出入口  
原理和1类似,区别在于把入口直接输出在了HTTP头部 信息 里,不重复叙述了。  
 
2.5)还有一些把入口通过其他方式输出的,比如cookie,类似于1和2,原理都是在第一次访问的时候设置一道槛。这个就不单独计算为一条了。  
 
3)屏蔽代理 
由于一部分的CC攻击是利用代理 服务器 发起的,所以有些时候防CC会屏蔽掉带x-forward-for这个值的IP,对匿名代理无效。  
 
4)判断速率 
由于CC攻击是持续的发起请求,所以发起攻击的IP在单位时间内的请求数量会明显比正常多出很多,通过把请求频率过高的IP屏蔽掉来防御。  
 
5)验证码 
这个基本是最后的无敌大招了,必须在用户输入验证码后才能访问。  
 
二,防御效果(突破方式) 
1中的防护方式用的最早并且用的最多的是金盾防火墙。也正是由于用的人太多了,市面上已经有突破金盾防火墙的软件在出售,原理就是通过JS解析引擎计算出jdfwkey的值。  
 
突破2的方式更简单,和1差不多,只不过是直接在HTTP头中,连JS引擎都省了。  
 
3无法硬性突破,也就是说,如果屏蔽了带x-forward-for的IP,那么它就不可能访问到。  
 
突破4的方式就是限制请求速度,但是这对于攻击者是一个挑战,限制单个攻击源的请求速度,并且保证攻击效果,这就要求攻击者拥有更多倍的攻击源(肉鸡)。  
 
对于5,验证码识别是个大话题,目前阶段几乎不可能应用到CC攻击中,未来也不太可能。但是网络上有很多的打码平台,如果和这些平台对接的话,人工识别验证码,就OVER了(应该不会有人去搞,太麻烦)。  
 
对于所有的防护方式,如果是把 网站 域名 解析到了别处,通过其他机器转发请求来防御CC攻击流量的(比如 CDN ),都可以通过添加HOST值的方式将流量发到真实机器上,使这些防护失效。找查网站真实IP的方法很多很复杂,不能保证100%都能找得到,本文不做叙述。  
 
三,负作用 
有些IP,我们会要求它一直可以访问到网站内容,比如蜘蛛,比如交易类网站的 支付宝 异步通知。  
但是收集这些IP,几乎是无法100%准确的收集到的(可能有人会想到useragent,一句话:攻击者可以伪造)。  
 
下面要讲的,就不再考虑上述的这个 问题 了。  
 
对于1和2,对访客几乎不会造成影响,判断过程是由浏览器 自 动完成的。  
 
对于3,由于个别的网络 环境 ,在没有使用代理的情况下,也会在浏览器访问时强行加上x-forward-for的值,最终的导致的就是这个访问无法访问。其实在现在这个年代,除了CC攻击中使用的代理IP外,剩的带x-forward-for的IP,几乎都是这样的情况,也就是访客本地网络环境强加上的。早些年设置代理主要是因为那个时候网速差,用于提高速度。现在搬梯子时设置的SSH代理一般不会加上x-forward-for。  
 
对于4,可能会造成误封。而且这个判断攻击的阀值也没法精确的设置,只能凭经验以及分析网站的具体情况。  
 
对于5,对用户体验会产生影响,并且长期下去,对网站形象也会产生影响。

总结下来就是,几乎所有方式,都会产生或多或少的负作用,所以,任何一种防护方式,在没事的时候不要开,只在被攻击的时候开启。

封 http_user_agent 屡试不爽 
偶尔有useragent也随机的cc攻击,可以封 http_refferer,总归有共同点,通过tail日志几秒就看得出来 
nginx一个简单的if判断return一个503之类,或者apache一个简单的deny配置 
一般一分钟内搞定

具体的应该是ECS+SLB+百度cdn

一些防CC攻击手段方法,对搜索引擎并不友好。

四,什么样的网站容易被CC攻击 
在我处理过的CC攻击中,主要消耗的是CPU和内存,通常在 带宽 被占满前CPU和内存已经爆掉。  
而对于静态网站,也就是生成HTML页面的网站,静态请求占用的CPU和内存是极低的,所以几乎不太可能出现生成HTML后被CC攻击挂掉的情况。  
所以,被CC的主要都是动态网站,比如Discuz,Wordpress等。  
 
五,都是什么人在攻击 
1)无聊恶作剧  
2)打击报复  
3)敲诈勒索  
4)同行恶意竞争  
 
六,结尾 
今天遇到的一起攻击事件,某网站被敲诈1万块(也就是前文中的截图,网站有金盾防护,但是被肉鸡穿透)。于是理了理思绪,写下了这些经验之谈,与大家分享。

防火墙、CDN、WAF等防御CC攻击的几种方式相关推荐

  1. Nginx简单防御CC攻击的两种方法

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

  2. 网站防御爬虫攻击的几种方式

    最近研究一个小软件,但遇到对方服务器有反爬机制,有点尴尬. 那就只好先了解看看网站防御爬虫都有哪些方式,好知己知彼 反爬机制主要有两大策略: 01 - 控制IP访问频率 最常见的基本都会使用代理IP来 ...

  3. Discuz! 防御CC攻击的设置办法

    防御 CC 攻击 Discuz!5.5 在以往抗 CC 的基础上又加了两种方法,可以根据实际遭受攻击的情况,通过配置组合出适合的抵抗方法.限于篇幅,不详细阐述对抗原理,现将配置方法做下简要说明. 配置 ...

  4. 游戏盾防御CC攻击的工作原理

    什么是游戏盾, 具体防御CC攻击的工作原理? 游戏盾用数据和算法来实现智能调度,将"正常玩家"流量和"黑客攻击"流量快速分流至不同的节点,最大限度缓解大流量攻击 ...

  5. mysql cc攻击_防御CC攻击说明

    CC 攻击的前身是 DDOS 攻击(分布式拒绝攻击). DDOS 攻击的原理针对 TCP/IP协议的缺陷,也不能算是缺陷,只是当时设计该协议时是在几十年前,设计者假定大家都是遵守游戏规则的良好公民,现 ...

  6. html防cc代码,Nginx实现简单防御cc攻击方法

    本文主要和介绍lua+Nginx下如何快速有效得防御CC攻击.至于如何安装Nginx就不详细介绍了,闲话少说,大家请看示例,希望能帮助到大家. 使用Nginx的配置对cc攻击进行简单防御 ====== ...

  7. 服务器如何有效防御CC攻击?

    服务器是一种高性能计算机,作为网络的节点,存储.处理网络上80%的数据.信息,是网络的灵魂,有着非常重要的作用.而CC攻击作为DDoS攻击最为常见的一种,很多服务器都遭到过CC攻击,因此带来严重的影响 ...

  8. 宝塔零成本的防御CC攻击方法

    宝塔零成本的防御CC攻击方法 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

  9. web服务器攻击的八种方式

    随着互联网的高速发展,网络走进了千家万户,同时也有很大一部分人架设起了自己的网站.继而不安分的黑客们,又将目光对准了服务器攻击这个方式,从而破坏或取得服务器的管理权限.本文将主要讲述针对web服务器攻 ...

最新文章

  1. 三层交换机原理:01路由器如何隔离广播域?
  2. CTFshow 文件上传 web165
  3. python3字符串的常见操作
  4. 全志A33-ARM linux开机进入uboot命令行
  5. oracle与sqlserver差异,Oracle与SQLServer的SQL语法差异总结
  6. 【Flink】Flink checkpoint 本地磁盘 没有清除
  7. 深入分析 RestController 与 Controller 的区别,你真的了解吗?
  8. 论述计算机辅助设计技术主要包括的内容,计算机辅助设计复习思考题
  9. Java自学方法和路线,我万字推荐你这样学
  10. 如何批量把照片设置统一尺寸?
  11. tomcat8.0安装及配置
  12. java 加密解密,编码解码工具类
  13. 差异表达基因变化倍数_【其他】差异基因筛选方法
  14. GUI学习笔记——04更改背景板颜色,鼠标进入事件
  15. C程序设计(谭浩强第五版)总结
  16. 欧几里得算法 辗转相除法 C语言
  17. Android数据存储之文件存储
  18. 数字孪生医院:一个围绕着智慧医院决策的建模、管理和行动闭环的全新方式...
  19. H3c Smart-link 实验
  20. js判断身份证号码是否正确

热门文章

  1. 详解信奥一本通1290:采药
  2. 当前市场的CC攻击防御软件,CC防御软件,DDOS防御软件,DDOS攻击防御的防御经验总结……
  3. Vue ElementUI table通过改css样式实现斜线表头
  4. GBase 8c V3.0.0数据类型——类型转换函数
  5. 为什么你没时间研究一下LED节能灯?五分钟带你暴力拆解!
  6. McAfee推出针对USB设备的入侵防护方案(转)
  7. 走进音视频的世界——Opus编解码协议
  8. Visual Studio Code 配置 gcc
  9. 京东7Fresh新零售架构设计分析
  10. Java 字符串拼接的三种方式 “+”、“String.format()”、“StringBuilder.append()”,换行拼接“\r\n”