【DDoS】【配置管理】常见DDoS攻击及防护原理

李莉02发表于:2021年06月28日 11:21:59更新于:2021年06月29日 18:41:50

1    流量型攻击防护原理

1.1    SYN Flood

    本质来说是SYN-Proxy(SYN代理)来进行防御。

    SYN-Proxy的基本过程:客户端首先和设备建立连接,之后设备再和服务器建立连接,并进行两个连接之间的数据传输。

    伪造源的半连接攻击,攻击器无法和设备建立连接,所以攻击数据会被设备全部拦截下来,不会到达服务器,达到防护的目的。设备对这两个连接的建立是优化过的处理模式,设备上只创建一个连接对象,也只显示一个连接计数,同时对数据的转发也是优化过的模式,以此保证数据转发速度和整机性能。

    当设备进入[SYN]防护模式后,若攻击量小于SYN-Urgent,对已经访问过的客户端,会直接做回应,否则全部按照新客户端访问来处理。这样在大流量攻击下,可以很大程度上降低设备负载;

    重传机制:对新客户端访问,依靠TCP重传来达到减少SYN-ACK回应的效果。客户端发送第一个SYN后,设备摘取相关信息后不做回应,直接丢弃,之后依据TCP协议规范,正常的客户端在3秒后还要发送第二个SYN,设备在接收到这个SYN时,再进行一次检测,判断是不是正常的客户端重传,之后才回应SYN-ACK。这样可以有效减少设备的负载,并减少用户的外出带宽占用。

 

1.2    ACK&RST Flood保护

    设备依靠连接跟踪来识别出异常的ACK。在进行正常的TCP连接处理之后,对于收到的ACK报文,如果没有匹配的TCP连接,则该ACK会被识别成异常ACK, 异常ACK超过设置的阀值设备会进入[ACK]模式,之后的异常ACK会被丢弃。

 

1.3    UDP Flood

    针对没有UDP业务的,当设备下主机每秒收到的UDP报文超过设置的阈值,此时设备会对该主机进入 UDP Flood防御模式,丢弃所有针对此IP的UDP数据包。

有使用UDP业务的主机,分析客户应用的情况,设置端口保护的特殊属性,设备会检测所有UDP报文是否有同步TCP连接,若没有,则丢弃该类报文。

还可以通过抓包,得到客户应用的登陆数据,设置相应的协议模式,实现针对性的防御。

 

1.4    ICMP Flood

    设备对于收到的ICMP报文超过设置的阈值,就会进入ICMP Flood防御模式,此时丢弃所有针对此防护IP的ICMP数据包。

 

1.5    碎片

    当设备下主机每秒收到的Fragment碎片报文超过设置的阈值值,该设备下主机进入Fragment Flood防御模式,此时丢弃所有针对此IP的Fragment 数据包。

 

1.6    其它NonIP协议

    当设备下检测到每秒收到不常用的IP协议族或其他协议数据报文超过设置的阈值,此时设备会进入NonIP Flood防御模式,丢弃所有针对此防护IP的NonIP数据包。

 

 2    连接型攻击防护原理

    针对连接型的攻击,设备主要从两大方面进行防护:

    1)通用防护策略

    连接数量保护:单一IP客户端对服务器建立的连接总数,超出后屏蔽该客户端IP,屏蔽原因为系统连接限制;屏蔽时间默认为10000秒。

    连接频率保护:限制单一IP 对服务器的TCP请求建立连接的频率为所设置的阀值,超出后的连接无法建立。

    连接空闲超时:已经建立的连接在设置时间内没有任何数据交互(默认为300秒),则重置该连接。

 

    2)专用web防护插件

    针对web服务器,对于新客户端的HTTP请求,由插件返回一个包含验证脚本的页面,正常的浏览器将执行这段脚本,并由脚本重定向到原始页面,并附加计算出的验证码,设备在得到该验证码后判断该客户端是否可信。攻击器一般无法解析该脚本,因此无法完成验证码的计算,所以也就被设备拦截在外,同时会记录进屏蔽日志。

 

3    流量自学习

    设备可以计算主机前10天、当前小时的平均流量,作为基线流量,并用特定颜色曲线生成流量图表。

    当前流量超过平均流量乘以设置的基线因子倍数,主机会进入[Bline]防护,此状态不会过滤报文,只是会提示主机进入此种状态,做为流量异常提醒。