应对DDoS攻击的基本防御策略
近些年,DDoS攻击流量常常能达到1.5Tbps的峰值,目标系统为了快速有效抑制,除了有CDN技术辅助分散了攻击流量的最终攻击目标,企业还通常订阅云服务器厂商的流量清洗服务,利用其提供的带宽和防御设备甄别和过滤可疑流量,并重路由正常流量回到真正的服务器。
然而,大多数小型企业网站遭遇低密度的DDoS攻击时,购置流量清洗服务是昂贵的,企业网管在网关防火墙上安装一些基本的配置规则能有效滤除一部分类型的DDoS流量,就能够保护正常服务。本文总结整理了一部分优秀的DDoS防御思路,如下所示:
Syn Flood防御技术
-
syn cookie/syn proxy类防护技术;这种技术对所有的syn包均主动回应,探测发起syn包的源IP地址是否真实存在,如果该IP地址真实存在,则该IP会回应防护设备的探测包,从而建立TCP连接。大多数的国内外抗DDOS产品均采用此类技术。
-
Safereset技术;此技术对所有的syn包均主动回应,探测包特意构造错误的字段,真实存在的IP地址会发送rst包给防护设备,然后发起第2次连接,从而建立TCP连接。部分国外产品采用了这样的防护算法。
-
syn重传技术;该技术利用了TCP/IP协议的重传特性,来自某个源IP的第一个syn包到达时被直接丢弃并记录状态,在该源IP的第2个syn包到达时进行验证,然后放行。
UDP Flood防御技术
UDP协议与TCP协议不同,是无连接状态的协议,并且UDP应用协议五花八门,差异极大,因此针对UDP Flood的防护非常困难。
一般最简单的方法就是不对外开放UDP服务。
如果必须开放UDP服务,则可以根据该服务业务UDP最大包长设置UDP最大包大小以过滤异常流量。还有一种办法就是建立UDP连接规则,要求所有去往该端口的UDP包,必须首先与TCP端口建立TCP连接,然后才能使用UDP通讯。
难以驾驭是UDP Flood防御技术的特点,虽难以捉摸,不过一旦纯熟,效果极佳。
DNS Flood防御技术
在UDP Flood的基础上对 UDP DNS Query Flood 攻击进行防护,根据域名 IP 自学习结果主动回应,减轻服务器负载(使用 DNS Cache)。
对突然发起大量频度较低的域名解析请求的源 IP 地址进行带宽限制,在攻击发生时降低很少发起域名解析请求的源IP地址的优先级,限制每个源 IP 地址每秒的域名解析请求次数。DNS Flood防御技术可在变化中不断调整,以求防御的最佳效果。
CC防御技术
对是否HTTP Get的判断,要统计到达每个服务器的每秒钟的GET请求数,如果远远超过正常值,就要对HTTP协议解码,找出HTTP Get及其参数(例如URL等)。然后判断某个GET 请求是来自代理服务器还是恶意请求,并回应一个带Key的响应要求,请求发起端作出相应的回馈。如果发起端不响应则说明是利用工具发起的请求,这样HTTP Get请求就无法到达服务器,达到防护的效果。
限制连接数
目前市场上的安全产品,包括防火墙、入侵防御、DDOS防御等产品主要采用限制服务器主机连接数手段防御DDOS攻击,为招数之基本。使用安全产品限制受保护主机的连接数,即每秒访问数量,可以确保受保护主机在网络层处理上不超过负荷(不含CC攻击),虽然用户访问时断时续,但可以保证受保护主机始终有能力处理数据报文。而使用安全产品限制客户端发起的连接数,可以有效降低傀儡机的攻击效果,即发起同样规模的攻击则需要更多的傀儡机。
攻击防御溯本追源技术
针对CC攻击防御的溯本追源技术是通过对服务器访问流量的实时监测,可以发现其在一定范围内波动,此时设置服务器低压阀值,当服务器访问流量高于低压阀值时开始记录并跟踪访问源。此外还要设置一个服务器高压阀值,此高压阀值代表服务器能够承受的最大负荷,当监测到服务器访问流量达到或超过高压阀值时,说明有DOS或者DDOS攻击事件发生,需要实时阻断攻击流量,此时系统将逐一查找受攻击服务器的攻击源列表,检查每个攻击源的访问流量,将突发大流量的源IP地址判断为正在进行DOS攻击的攻击源,将这些攻击源流量及其连接进行实时阻断。