HTTP 中文名称为超文本传输协议,常被用于 Web 服务请求和响应数据的传输。常见的 HTTP 请求有 GET 请求和 POST 请求两种。通常,GET 请求用于从 Web 服务器获取数据和资源,例如请求页面、获取图片和文档等;
POST 请求用于向 Web 服务器提交数据和资源,例如发送用户名/密码、上传文件等。在处理这些 HTTP 请求的过程中,Web 服务器通常需要解析请求、处理和执行服务端脚本、验证用户权限并多次访问数据库,这会消耗大量的计算资源和 IO 访问资源。
HTTP Flood(俗称 CC 攻击)是针对 Web 服务在第七层协议发起的攻击。攻击者相较其他三层和四层,并不需要控制大量的肉鸡,取而代之的是通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理,攻击者通过匿名代理对攻击目标发起HTTP 请求。匿名代理服务器在互联网上广泛存在。因此攻击容易发起而且可以保持长期高强度的持续攻击,同样可以隐藏攻击者来源避免被追查。HTTP/CC 攻击的特点:
HTTP/CC 攻击的 ip 都是真实的,分散的
HTTP/CC 攻击的数据包都是正常的数据包
HTTP/CC 攻击的请求都是有效请求,且无法拒绝
HTTP/CC 攻击的是网页,服务器可以连接,ping 也没问题,但是网页就是访问不了
如果 IIS 一开,服务器很快就死,容易丢包。
用三胖的话描述,HTTP/CC 攻击 就是攻击者对受攻击目标秀演技,演的越好越像正常访问者,就越不容易被目标识别,越不容易被过滤,达到对目标服务器资源造成消耗的目的。
那如何造成更大的杀伤呢。Web 服务与 DNS 服务类似,也存在缓存机制。如果攻击者的大量请求命中了服务器缓存,那么这种攻击的主要作用仅体现在消耗网络带宽资源上,对于计算和 IO 资源的消耗是非常有限的。因此,*的 HTTP/CC 攻击 应不断发出针对不同资源和页面的 HTTP 请求,并尽可能请求无法被缓存的资源( 如关键词搜索结果、用户相关资料等 ),这样才能更好的加重服务器的负担,达到理想的攻击效果。当然 HTTP/CC 攻击 也会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的 Java 等业务层逻辑以及更后端的数据库服务,增大它们的压力,HTTP/CC 攻击 产生的海量日志数据甚至会对日志存储服务器都带来影响。
如果 Web 服务器支持 HTTPS,那么进行 HTTPS 洪水攻击是更为有效的一种攻击方式。原因有二,其一,在进行 HTTPS 通信时,Web 服务器需要消耗更多的资源用来认证和加解密。其二,目*部分防护设备无法对 HTTPS 通信数据流进行处理,会导致攻击流量绕过防护设备,直接对 Web 服务器造成攻击。
攻击靠演技,防护当然是靠火眼精睛叻。HTTP/CC 攻击 防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。当*攻击者穿透缓存时,清洗设备会截获 HTTP 请求做特殊处理。早期的方法是对源 IP 的 HTTP 请求频率设定阈值,高于既定阈值的 IP 地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是基于 Javascript 跳转的人机识别方案。HTTP Flood 是由程序模拟 HTTP 请求,一般来说不会解析服务端返回数据,更不会解析 JS之类代码。因此当清洗设备截获到 HTTP 请求时,返回一段特殊 Javascript 代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。 由于 HTTP/CC 攻击 的伪装方式千变万化,很少有策略或者硬件防护能做到*清洗,所以,针对 HTTP/CC 攻击,我们大多时候需要具备一定技术的网络维护人员进行见招拆招。
总的来讲,HTTP/CC 攻击 在于极力伪装正常用户消耗目标服务器资源。而相应的防护就在于受攻击者能否精准识别出攻击者的伪装,来个一针见血的策略来过滤垃圾访问。
*服务器托管供应商----超云网络,tel:15529362365