- 什么是HTTP慢速连接攻击?
HTTP慢速攻击(Slowloris Attack)是一种利用HTTP协议特性进行的攻击方式。攻击者通过发送大量的半开连接请求到目标服务器,每个连接请求只发送少量的数据,并长时间保持连接不断开。
这样,攻击者可以逐渐占满服务器的连接资源,导致服务器无法处理正常的请求,从而造成拒绝服务(DoS)或分布式拒绝服务(DDoS)的效果。
由于这种攻击方式发送的请求都是合法的,因此很难被传统的防火墙或入侵检测系统所识别。同时,慢速攻击还可以与其他攻击方式相结合,形成更为复杂的攻击链,进一步提高攻击的成功率和隐蔽性。
- HTTP慢速攻击的特点
- 隐蔽性高:慢速攻击利用的是HTTP协议的合法特性,因此很难被传统的安全设备所识别。
- 占用资源少:每个慢速连接只发送少量的数据,因此攻击者可以使用较少的资源发起大量的攻击。
- 攻击效果显著:通过占用服务器的连接资源,慢速攻击可以迅速导致服务器性能下降,甚至崩溃。
- HTTP慢速连接攻击原理
HTTP慢速连接攻击是CC攻击的变种,对任何一个允许HTTP访问的服务器,攻击者先在客户端上向该服务器建立一个content-length比较大的连接,然后通过该连接以非常低的速度(例如,1秒~10秒发一个字节)向服务器发包,并维持该连接不断开。
由于HTTP请求底层使用TCP网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且HTTP在发送请求的时候采用了这种慢速连接发HTTP请求,并维持该连接不断开,就会导致占用一个HTTP连接会话。
如果攻击者在客户端上不断建立这样的连接,服务器上可用的连接和服务器正常资源将慢慢被占满,从而导致服务器拒绝用户正常的访问请求,也就产生了拒绝服务攻击的效果。
- HTTP慢速连接攻击种类
HTTP慢速连接攻击主要分为三种:Slow read攻击、Slow headers攻击、Slow body攻击。
- Slow read
攻击攻击者建立连接后发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response或者让服务器误以为客户端很忙,如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,直到连接快超时前才读取一个字节,这样方式以消耗服务器的连接和内存资源。
Slowloris Read攻击原理图:
- Slow headers
攻击Web应用在处理HTTP请求之前都要先接受完所有的HTTP头部,Web 服务器在没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等客户端发送数据。
攻击者就是利用了这点,对服务器发起一个HTTP请求,一直不停的发送HTTP头部,但是HTTP头字段不发送结束符,之后发送其他字段,而服务器在处理之前需要先接收完所有的HTTP头部,导致连接一直被占用,这样就消耗了服务器的连接和内存资源。
Slowloris Header攻击原理图:
- Slow body
攻击攻击者发送一个HTTP POST请求,并将总报文长度设置为一个很大数值,表示要发送大量数据,服务器就会保持连接准备接收数据。
但是在随后的数据发送中,每次却只发送很小的报文(比如10-100s发一个字节),这样导致服务器端一直等待攻击者发送数据,以此消耗服务器的资源。
Slowloris Body攻击原理图:
- HTTP慢速攻击的防护思路
关于慢速攻击原理,有个比喻非常的形象,可以把被攻击的WEB服务器看作一个咖啡厅,通常用餐的步骤是:点单、付款、用餐,而攻击者就像是这个咖啡厅竞争对手,他雇佣了许多看似正常的客人进来用餐,结果就会发生了许多不正常的情况。
Slowloris Header攻击就像那种点餐犹豫不决的人,不停的说又一直说不清自己要点什么菜,Slowloris Body攻击就好比顾客结账,但却是从口袋一个一个摸硬币出来付款,Slowloris Read攻击就像吃完饭不离开一直霸占座位的客人,导致新的顾客无法进来就餐。
上面三种类型的顾客,其实共性就一个字:慢!如果咖啡厅想正常营业,就只能通过阻止这些捣乱的顾客,清理这些点餐慢、付款慢的顾客,限定用餐时长。
回到慢速攻击的真实场景,上面说到餐厅需要限制用餐时长,那我们就需要限制HTTP请求和响应时长,关于防护策略可以从安全设备层面和中间件层面考虑。
-
- 中间件层面
设置WEB服务器的HTTP头部传输时间限制,比如Apache2.2.15版本之后,通过mod_reqtimeout模块配置HTTP头部超时时间,如果在超时时间内没有完成传输,将断开连接,对于NGINX可以在配置文件中设置client_body_timeout和client_header_timeout超时时间来防护慢速攻击,其他中间件同样有类似的防护参数,其防护的思想基本相同,在此就不再赘述。
-
- 安全设备层面
德迅云安全的安全加速SCDN,对慢速攻击可以进行有效防护,有专门的防护策略
功能介绍:
-
-
- Web攻击防护:(OWASP TOP 10威胁防护、智能语义解析引擎、AI检测和行为分析)
- 应用层DDoS防护:(CC、HTTP Flood攻击防御、慢连接攻击防御)
-
慢链接攻击防护说明
对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。
对Slow Post攻击,通过检测请求小包数量阈值进行防护。
-
-
- 合规性保障:(自定义防护规则、网页防篡改、访问日志审计、数据防泄漏)
-
数据防泄漏说明
对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。
-
-
- HTTP流量管理:(支持HTTP流量管理、请求头管理)
-
支持HTTP流量管理
·
可以设置源IP或者特点接口访问速率,对超过速率的访问进行排队处理,减缓服务器压力。
-
-
- 安全可视化:(四大安全分析报表、全量日志处理、实时数据统计)
-
实时数据统计说明
提供基于均值和峰值带宽统计信息,提供攻击带宽和正常占比,随时关注业务状况。提供多种组件,了解业务监控和核心指标变化情况。