抗D清洗将抗D检测告警的IP流量牵引进行进一步检测和清洗,因此抗D清洗中的检测和抗D检测的两个概念容易混淆。抗D检测是对流量粗粒度的检测,力求检测速度快,指标少,告警级别区分明显。而抗D清洗中的检测是细粒度的检测,对牵引的流量进行分类别的检测,根据清洗配置(防御配置)的每一条规则将触发规则(超阈值、无响应)的流量检测出来,并丢弃,将剩余的流量回注,从而实现清洗。
抗D清洗的每个防御配置包含多条规则,每条规则对应不同的DDOS攻击,根据抗D设备品牌不同,该规则数量级甚至能达到20条,配置参数上百个。该配置的具体信息可在各产品文档的“防御策略”、“防护策略”等类似名称的章节查到。
理解和应用抗D清洗能力较难,针对每组待防护IP或都需要配置大量参数,但这些抗D清洗能力之间是有相似性的。本文将各类抗D清洗能力总结成限速、反向探测和应用防护三类,通过理解这三类,可以增强对抗D产品更多具体的清洗的理解和应用能力。
- 限速
限速是较简单且较有效的抗D清洗手段,也是理解抗D清洗能力的比较好的切入点。虽然攻击者可以伪造源IP,但实际抗D攻防中,攻击者的主要攻击源IP的数量仍局限在10-20个左右,此时限制攻击者每个源IP能够发送的数据量(bps)或包数(pps)是较有效的手段,同时该方法对正常访问用户造成的影响也比较少,该阈值依然足够正常用户完成业务,这种将原始流量中超出源IP限速的流量丢弃的过程,就是抗D清洗。
源IP限速根据限速的网络层级和协议类型,也可以分为不同类型的限速,典型的应用场景如下图所示,当抗D检测设备检测到流量bps(此bps指网络层bps,即传输过来所有流量的总比特率)过高,则将流量牵引至抗D清洗设备,清洗设备根据TCP、UDP、ICMP等具体协议单独设置的bps阈值(该bps阈值指传输层bps,一般小于上述网络层bps)再次检测,若超出阈值则启动限速,限制单个源IP能够传送的bps和cps,或限制单个源IP能够建立的TCP连接数。
- 反向探测
在理解限速的基础上,反向探测是更深一些的流量清洗方法。限速需要配置大量的阈值,如何获取这些阈值是抗D系统应用在网络中,尤其是云运营商资源池网络中需要重点考虑的场景,此时反向探测可以起到一些作用,反向探测不再关注阈值,而是发送探测包探测源IP所在机器的情况。由于是服务端向客户端传输数据,反向探测仅适用于TCP协议,可以与限速同时使用,互不干涉。
反向探测流程如下图所示,需要注意反向探测很可能误清洗,因为正常的用户由于网络波动、网络设置等原因,也可能无法回传预期响应包,因此反向探测需要更加谨慎地配置和使用。
- 应用防护
以上两种抗D清洗算法是绝大多数抗D攻防面对的场景,但当资产价值较高时,攻击者可能会调度较多内部或外部资源,伪装正常用户访问,尝试对应用本身造成影响而不是对出口带宽或虚拟机性能造成影响。这些攻防场景较少,一般针对特定应用设置抗D防护手段。
如下图所示
小结
本篇文章对市面上抗D产品的清洗能力进行了分类总结,以增强对清洗能力和配置的理解,降低理解难度。