3.3.3 URI动态指纹学习
URI 动态指纹学习方式适用于攻击源访问的
URI 比较固定的情况。要形成攻击效果,攻击者一般都会以容易消耗系统资源的URI作为攻击目标。一个攻击源会发出多个针对该URI的请求,最终呈现为该源对特定的URI发送大量的请求报文。
基于这个原理,Anti-DDoS系统对客户端所访问的URI进行指纹学习,并找到攻击目标URI指纹。在一定的周期内,同一个源发出的包含同一指纹的请求超过设置的阈值时,就将该源加入黑名单。
3.3.4 URI行为监测
URI行为监测防御方式要先设置需要重点监测的URI,这样可以将消耗资源多、容易受到攻击的URI加入到“重点监测URI”列表中。URI行为监测防御方式通过判断两个比例是否超过阈值来确定攻击源。
在特定时间内,我们对所有客户端向某个目的服务器的所有访问中进行统计时发现,重点监测 URI的访问数与总访问数的比例超过设置的阈值时,Anti-DDoS系统启动针对源的URI检测。当这个源对某个重点检测URI的访问数与总访问数的比例超过设置的阈值时,就将该源加入黑名单
3.4 HTTP POST Flood攻击与防御
攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的HTTP POST报文,消耗服务器资源,使服务器无法响应正常请求,这就是HTTP
POST Flood攻击。
华为Anti-DDoS系统防御HTTP POST Flood攻击与防御GET Flood攻击类似,常用手段也是源认证,包括重定向认证和验证码认证。
3.4.1 重定向认证
Anti-DDoS系统代替Web服务器向客户端响应307状态码(针对POST请求方法的重定向),同时向客户端的浏览器注入 Cookie,客户端再次发起请求时会在 HTTP 报头上附加Cookie信息,Anti-DDoS系统通过验证Cookie信息的真实性来验证客户端的真伪,如图3-18所示。
重定向认证过程如下。
① 当连续一段时间内去往目标Web服务器的HTTP POST请求报文超过告警阈值后,Anti-DDoS系统启动源认证机制。源认证机制启动后,Anti-DDoS系统将会代替Web服务器与客户端建立TCP三次握手。
② Anti-DDoS系统拦截HTTP请求。该系统代替Web服务器回应307状态码,并在响应头部附加上由客户端IP生成的Cookie。
③ 如果这个源是虚假源,或者不支持完整HTTP的攻击工具,不会重新发起请求。
④ 如果这个源是真实客户端,Anti-DDoS系统生成的Cookie会写入到浏览器中,并且客户端会重新发起请求,请求头部就会带有该Cookie信息。Anti-DDoS系统收到请求后,验证Cookie是否正确,如果正确则将该客户端的源IP地址加入白名单。加入白名单后,Anti-DDoS系统会回应408状态码,表示请求超时,客户端重新发起访问
⑤ 后续这个客户端发出的HTTP请求报文命中白名单直接通过。




