Security ❀ HTTP协议常见DOS攻击详解

文章目录

  • 1. 协议基础概述
  • 2. HTTP协议报文
    • 2.1 HTTP Request 请求包
    • 2.2 HTTP Response 应答包
  • 3. HTTP GET Flood
    • 3.1. 攻击原理
    • 3.2. 防护方法
  • 4. HTTP POST Flood
    • 4.1. 攻击原理
    • 4.2. 防护方法
  • 5. 慢速CC攻击
    • 5.1. 攻击原理
    • 5.2. 防护方法
  • 6. 总结

1. 协议基础概述

HTTP - HyperText Transport Protocol 超文本传输协议:客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本等信息,服务器收到该请求后,回复一个状态应答作为响应。

参考文档:Linux系统HTTP服务部署参考

2. HTTP协议报文

2.1 HTTP Request 请求包

Client发送请求到Server侧,请求某个网页内容。

Security ❀ HTTP协议常见DOS攻击详解_第1张图片

2.2 HTTP Response 应答包

Server侧收到Client请求后,做出回应。
Security ❀ HTTP协议常见DOS攻击详解_第2张图片

3. HTTP GET Flood

3.1. 攻击原理

黑客利用工具向目标Web服务器发送大量HTTP GET请求报文,造成大量资源消耗而影响正常业务请求。

3.2. 防护方法

  • 3xx重定向机制:当流量达到告警阈值时,当新的HTTP GET请求达到防护设备时,会被告知重定向到新的UR L,以此验证客户端是否为有效请求,真实的浏览器支持重定向过程,通过重定向发起新的TCP连接后再次重定向到正常URL即可恢复正常的业务请求(需要进行两次重定向,第一次为源认证,第二次为恢复);
  • 代理转发:若客户端通过代理转发请求Web资源,则防护设备需要匹配 X-Forward-For 字段或 X-Real-IP 字段内真实的客户侧请求IP,而不是代理IP。
  • 验证码机制:人机交互手段,防护设备要求客户端必须通过验证码手段认证方可进行业务访问,以此来判断是否为真实用户,验证码机制会使得用户体验感较差。
  • 限速访问:若请求多为肉机人为访问(如病毒木马导致的人为误访问多点并发请求),此时无法通过重定向与验证码进行限制,需要限制访问TOP Web服务,以此来防止其他业务受到影响。

4. HTTP POST Flood

4.1. 攻击原理

黑客利用工具向目标Web服务器发送大量HTTP POST请求报文,造成大量资源消耗而影响正常业务请求。

4.2. 防护方法

  • 3xx重定向机制:与HTTP GET Flood防护机制基本完全相同,唯一区别:重定向时返回需要附加POST请求Cookie,客户端第二次请求携带此Cookie时则认证通过,客户端加白后第二次重定向到正常业务即可;
  • 代理转发
  • 验证码机制
  • 限速访问

5. 慢速CC攻击

5.1. 攻击原理

黑客利用工具向目标Web服务器建立连接,长时间保持连接不主动释放资源,持续消耗Web服务资源。

5.2. 防护方法

  • Slow Headers:正常请求头部字段均会携带结束符(\r\n,十六进制为0x0d0a),攻击中不携带此标识,服务侧持续维持连接状态,防护设备需要检测HTTP报文规范格式,不满足格式要求的报文直接丢弃,并记录其SIP,达到阈值后进行拉黑操作。
  • Slow POST:客户端发送一个POST请求,其数据长度设置为非常大的数值,每次数据传输只传输一个字节,保持连接资源占用,导致服务器资源持续被占用。防护设备需要校验POST请求中设置的数据长度阈值,且同时检测正文数据大小,若同时存在传输阈值偏大,正文数据较小的情况则丢弃报文,并进行记录SIP拉黑即可。

6. 总结

常见的HTTP DOS防护手段的方法:

  • 3xx重定向机制:在TCP三次握手之前校验源是否真实可信,常用TCP代理和首包丢弃校验方法;
  • 协议字段标准:当使用肉机时,无法进行TCP/IP源认证,此时需要使用协议特征进行校验,如HTTP协议的302重定向机制来验证客户端可信;
  • 验证码认证:人机交互,通过验证码或者图片进行校验,对登陆的用户进行一次性安全认证,以此判断是否为真实用户请求。

你可能感兴趣的:(Security,Attack,http,网络协议,网络)