前言
HTTP 中文名称为超文本传输协议,常被用于 Web 服务请求和响应数据的传输。常见的 HTTP 请求有 GET 请求和 POST 请求两种。通常,GET 请求用于从 Web 服务器获取数据和资源,例如请求页面、获取图片和文档等;

POST 请求用于向 Web 服务器提交数据和资源,例如发送用户名/密码、上传文件等。在处理这些 HTTP 请求的过程中,Web 服务器通常需要解析请求、处理和执行服务端脚本、验证用户权限并多次访问数据库,这会消耗大量的计算资源和 IO 访问资源。

CC攻击原理
HTTP Flood 俗称CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,前身名为Fatboy攻击,也是一种常见的网站攻击方法。是针对 Web 服务在第七层协议发起的攻击。攻击者相较其他三层和四层,并不需要控制大量的肉鸡,取而代之的是通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理,攻击者通过匿名代理对攻击目标发起HTTP 请求。匿名代理服务器在互联网上广泛存在。因此攻击容易发起而且可以保持长期高强度的持续攻击,同样可以隐藏攻击者来源避免被追查。

HTTP/CC 攻击的特点:

HTTP/CC 攻击的 ip 都是真实的,分散的
HTTP/CC 攻击的数据包都是正常的数据包
HTTP/CC 攻击的请求都是有效请求,且无法拒绝
HTTP/CC 攻击的是网页,服务器可以连接,ping 也没问题,但是网页就是访问不了
如果 IIS 一开,服务器很快就死,容易丢包。
那如何造成更大的杀伤呢。Web 服务与 DNS 服务类似,也存在缓存机制。如果攻击者的大量请求命中了服务器缓存,那么这种攻击的主要作用仅体现在消耗网络带宽资源上,对于计算和 IO 资源的消耗是非常有限的。因此,高效的 HTTP/CC 攻击 应不断发出针对不同资源和页面的 HTTP 请求,并尽可能请求无法被缓存的资源( 如关键词搜索结果、用户相关资料等 ),这样才能更好的加重服务器的负担,达到理想的攻击效果。当然 HTTP/CC 攻击 也会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的 Java 等业务层逻辑以及更后端的数据库服务,增大它们的压力,HTTP/CC 攻击 产生的海量日志数据甚至会对日志存储服务器都带来影响。

如果 Web 服务器支持 HTTPS,那么进行 HTTPS 洪水攻击是更为有效的一种攻击方式。原因有二:

其一,在进行 HTTPS 通信时,Web 服务器需要消耗更多的资源用来认证和加解密。
其二,目前一部分防护设备无法对 HTTPS 通信数据流进行处理,会导致攻击流量绕过防护设备,直接对 Web 服务器造成攻击。
CC攻击防御
攻击靠演技,防护当然是靠火眼精睛叻。

防御思路

HTTP/CC 攻击 防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。当高级攻击者穿透缓存时,清洗设备会截获 HTTP 请求做特殊处理。因为CC攻击通过工具软件发起,而普通用户通过浏览器访问,这其中就会有某些区别。想办法对这二者作出判断,选择性的屏蔽来自机器的流量即可。

初级

普通浏览器发起请求时,除了要访问的地址以外,Http头中还会带有Referer,UserAgent等多项信息。遇到攻击时可以通过日志查看访问信息,看攻击的流量是否有明显特征,比如固定的Referer或UserAgent,如果能找到特征,就可以直接屏蔽掉了。

中级

如果攻击者伪造了Referer和UserAgent等信息,那就需要从其他地方入手。攻击软件一般来说功能都比较简单,只有固定的发包功能,而浏览器会完整的支持Http协议,我们可以利用这一点来进行防御。

首先为每个访问者定义一个字符串,保存在Cookies中作为Token,必须要带有正确的Token才可以访问后端服务。当用户第一次访问时,会检测到用户的Cookies里面并没有这个Token,则返回一个302重定向,目标地址为当前页面,同时在返回的Http头中加入set cookies字段,对Cookies进行设置,使用户带有这个Token。

客户端如果是一个正常的浏览器,那么就会支持http头中的set cookie和302重定向指令,将带上正确的Token再次访问页面,这时候后台检测到正确的Token,就会放行,这之后用户的Http请求都会带有这个Token,所以并不会受到阻拦。

客户端如果是CC软件,那么一般不会支持这些指令,那么就会一直被拦在最外层,并不会对服务器内部造成压力。

高级

高级一点的,还可以返回一个网页,在页面中嵌入JavaScript来设置Cookies并跳转,这样被伪造请求的可能性更小

Token生成算法:Token需要满足以下几点要求

每个IP地址的Token不同
  无法伪造
  一致性,即对相同的客户端,每次生成的Token相同
Token随IP地址变化是为了防止通过一台机器获取Token之后,再通过代理服务区进行攻击。一致性则是为了避免在服务器端需要存储已经生成的Token。

推荐使用以下算法生成Token,其中Key为服务器独有的保密字符串,这个算法生成的Token可以满足以上这些要求:

Token = Hash( UserAgent + client_ip + key )
总结:

早期的方法是对源 IP 的 HTTP 请求频率设定阈值,高于既定阈值的 IP 地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是基于 JavaScript 跳转的人机识别方案。
HTTP Flood 是由程序模拟 HTTP 请求,一般来说不会解析服务端返回数据,更不会解析 JS之类代码。因此当清洗设备截获? HTTP 请求时,返回一段特殊 JavaScript 代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。 由于 HTTP/CC 攻击 的伪装方式千变万化,很少有策略或者硬件防护能做到完美清洗,所以,针对 HTTP/CC 攻击,我们大多时候需要具备一定技术的网络维护人员进行见招拆招。
简易CC攻击防御方法
1. 利用Session做访问计数器:

利用Session针对每个IP做页面访问计数器或文件下载计数器,防止用户对某个页面频繁刷新导致数据库频繁读取或频繁下载某个文件而产生大额流量。(文件下载不要直接使用下载地址,才能在服务端代码中做CC攻击的过滤处理)

2. 把网站做成静态页面:

大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给骇客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器。

3. 增强操作系统的TCP/IP栈

Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》。也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》。

4. 在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间

这是一个很有效的方法。CC的防御要从代码做起,其实一个好的页面代码都应该注意这些东西,还有SQL注入,不光是一个入侵工具,更是一个DDOS缺口,大家都应该在代码中注意。举个例子吧,某服务器,开动了5000线的CC攻击,没有一点反应,因为它所有的访问数据库请求都必须一个随机参数在Session里面,全是静态页面,没有效果。突然发现它有一个请求会和外面的服务器联系获得,需要较长的时间,而且没有什么认证,开800线攻击,服务器马上满负荷了。代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响!

5. 服务器前端加CDN中转

(免费的有百度云加速、360网站卫士、加速乐、安全宝等),如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。
另外,防止服务器对外传送信息泄漏IP地址,最常见的情况是,服务器不要使用发送邮件功能,因为邮件头会泄漏服务器的IP地址。如果非要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP地址。
总之,只要服务器的真实IP不泄露,10G以下小流量DDOS的预防花不了多少钱,免费的CDN就可以应付得了。如果攻击流量超过20G,那么免费的CDN可能就顶不住了,需要购买一个高防的盾机来应付了,而服务器的真实IP同样需要隐藏

简易CC攻击防御策略
确定Web服务器正在或者曾经遭受CC攻击,那如何进行有效的防范呢?

(1).取消域名绑定 
  一般cc攻击都是针对网站的域名进行攻击,比如我们的网站域名是“www.abc.com”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。 对于这样的攻击我们的措施是取消这个域名的绑定,让CC攻击失去目标。

(2).域名欺骗解析 
  如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让其自作自受。

(3).更改Web端口 
  一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行IIS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。

(4).屏蔽IP 
  我们通过命令或在查看日志发现了CC攻击的源IP,就可以在防火墙中设置屏蔽该IP对Web站点的访问,从而达到防范攻击的目的。
————————————————
版权声明:本文为CSDN博主「一只IT小小鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34777600/article/details/81978262

DDoS攻击--CC攻击防护详解(HTTP)相关推荐

  1. 游戏盾无限防御DDOS和CC攻击

    游戏很容易招到黑客攻击,尤其是对于一些比较出名的平台,风险就更高一些.究竟为什么黑客这么喜欢攻击地方性游戏呢? 经过许多被攻击的案例显示,黑客之所以会选择攻击棋牌游戏平台是以下原因: /1.盗卖游戏币 ...

  2. 棋牌游戏一上线就被DDOS和CC攻击怎么解决?

    近年来,随着棋牌游戏行业的发展壮大,市场竞争变得越来越激烈.与此同时,一些地方性的棋牌游戏在运营时也存在很多潜在的风险,需要时刻提防黑客的攻击入侵,以保证游戏平台顺利运行.那么在实际的棋牌游戏运营过程 ...

  3. 阿里云DDoS基础防护详解防护阈值黑洞时间详细说明

    阿里云DDoS基础防护是免费赠送给用户的,每台实例都可以免费试用DDoS基础防护,护云盾分享DDoS基础防护的详细说明,包括防护阈值.防护流量.安全信誉及黑洞时间等: DDoS基础防护详解 阿里云免费 ...

  4. 无法访问windows安装服务_香港香港服务器被DDOS和CC攻击

    香港香港服务器被DDOS和CC攻击的解决方案CC攻击原理:攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页 ...

  5. DDoS攻击--Syn_Flood攻击防护详解(TCP)

    Syn_Flood概述 Syn-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文, ...

  6. ddos和cc攻击的区别,防护!!

    什么是DDoS攻击? DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻 ...

  7. 阿里云盾技术强在哪里?轻松防御DDoS、CC攻击

    阿里云安全核心产品:云盾 云盾是阿里巴巴集团多年来安全技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力,为中小网站提供如安全漏洞检测.网页木马检测,以及面向云服务器用户提供的主机入侵检测.防 ...

  8. 阿里云盾技术强在哪?轻松防御ddos,cc攻击

    阿里云安全核心产品:云盾 云盾是阿里巴巴集团多年来安全技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力,为中小网站提供如安全漏洞检测.网页木马检测,以及面向云服务器用户提供的主机入侵检测.防 ...

  9. BGP高防IP如何防DDos和cc攻击?原理是什么?

    高防服务器又称为BGP高防ip,无论你的业务在哪里,都可以使用DDos及cc防护.如果业务不在,只需把需要防护的设备绑定高防即可防护,无需任何配置. 一.DDoS攻击原理 是目前互联网中最常见的网络攻 ...

  10. 腾讯云高防服务器 腾讯云BGP高防IP是如何防DDos和cc攻击的?

    腾讯云高防服务器又称为腾讯云BGP高防ip,无论你的业务是否在腾讯云,都可以使用腾讯云提供的DDos及cc防护.如果 业务不在腾讯云,只需把需要防护的设备绑定腾讯云高防即可防护,无需任何配置,更详细功 ...

最新文章

  1. Ubuntu 查看隐藏的文件
  2. nodejs windows 安装过程
  3. Ruby中爬虫的实现
  4. centos7 network网络服务重启报错failed to start lsb
  5. I must be strong and carry on
  6. Node.js module.exports与导出
  7. 爱数助力国资委实现混合IT环境下的业务保护
  8. 2021年还能用的13款完全免费的Office插件整理(含功能详细介绍)
  9. After Effects - Bodymovin 插件验货及感受
  10. 虚拟化技术的优点和缺点
  11. zbox的测试例——selectAll+selectInverse
  12. 详解项目管理中任务、成本、产品三者的关系
  13. app按钮没反应android,求助,uni-app按钮点击没反应
  14. 【PADS封装】贴片电解电容封装(带3D)
  15. iOS最强下片神器,免费不限速,秒杀其他下载神器!
  16. postek二次开发_博思得RFID标签打印机解析
  17. 金融科技之:融资租赁业务系统建设方案分享
  18. CodePen最佳实例分享
  19. 怎样在Word当中制作斜线表头,这样操作很简单
  20. adb 命令让手机不进入休眠

热门文章

  1. 机器人动作编辑器说明
  2. 《大秦帝国三:崛起》 剧情简介和最新进展
  3. SQL 存储过程或语句获取月份简写
  4. feign api Ambiguous mapping
  5. 中国无线VOC检测器行业市场供需与战略研究报告
  6. 下一个韦神?广西桂林14岁初中生保送清华丘班,明年本硕博连读!
  7. 连上hdmi后没有声音。
  8. matlab求hurst,请问如何用MATLAB计算大盘的HURST
  9. 运维工程师故障排查思路(备忘)
  10. 用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)