DDoS攻击--CC攻击防护详解(HTTP)

前言

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 攻击,我们大多时候需要具备一定技术的网络维护人员进行见招拆招。

---------------------

版权声明:本文为CSDN博主「一只IT小小鸟」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_34777600/article/details/81978262

有服务器需求请加QQ1911624872咨询

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,218评论 0 7
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,665评论 2 20
  • 这个问题出现的原因可能是Gradle的原因,再具体的原因就emmm....不多话了,下面就几种场景给出几种解决办法...
    HaoKe阅读 2,124评论 0 2
  • 2018年的第二周,因为忙碌时间过得飞快,庆幸的是不论怎么忙都因为早起而有了属于自己自由支配时间,坚持做自己喜欢的...
    祉莉翔妈阅读 243评论 0 0
  • 最近整理书架,翻翻小朋友读过得那些书,不由得想记录一下。 上边这套幸福小土豆系列我记得买了五本,只搜寻到四本。比利...
    我爱小书虫阅读 410评论 0 0