关于防御DDoS攻击的防火墙技术概述
1、DDoS简介
DDoS是(Distributed Denial of Service)的缩写,即分布式拒绝服务,DDoS攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。
这些网络由计算机和其他设备(例如 IoT 设备)组成,它们感染了恶意软件,从而被攻击者远程控制。这些个体设备称为机器人(或僵尸),一组机器人则称为僵尸网络。一旦建立了僵尸网络,攻击者就可通过向每个机器人发送远程指令来发动攻击。
当僵尸网络将受害者的服务器或网络作为目标时,每个机器人会将请求发送到目标的 IP 地址,这可能导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。由于每个机器人都是合法的互联网设备,因而可能很难区分攻击流量与正常流量。
2、如何防御DDoS攻击
对于分布式攻击,直接切入的非常有效的防御方法比较困难,仍以预防为主,其主要的防范DDoS措施有:
缩小暴露面,隔离资源和不相关的业务,降低被攻击的风险;提升网络设备性能,提高带宽,提升总负载能力;部署专业的安全设施,如NGFW、DDoS清洗设备、高防服务器、高防IP等。使用内容分发网络(CDN),将基础设施置于CDN后面,减少对企业网络基础设施的攻击;从互联网服务提供商(ISP)或第三方DDoS解决商购买DDoS缓解/防护服务;
以上各种防范措施中,在关键网络节点部署防火墙是目前较为主流且适用场景最广的DDoS攻击防范手段,能够有效抵御或减缓各种常见的DDoS攻击,保证内部网络主机的正常运行。
3、防火墙防范DDoS攻击相关技术
NGFW,全称是Next Generation Firewall,即下一代防火墙。NGFW可以全面应对应用层威胁,通过深入分析网络流量中的用户、应用和内容,借助全新的高性能单路径异构并行处理引擎,NGFW能够为用户提供有效的应用层一体化安全防护,帮助用户安全地开展业务并简化用户的网络安全架构。
在现代网络中,DDoS流量以多种形式出现,流量设计可能有所不同,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。防火墙的攻击防范功能能够检测出多种类型的网络攻击,并能采取相应的措施保护内部网络免受恶意攻击。
3.1通用防范技术
NGFW设备深入分析每条流量,采用静态过滤、畸形报文过滤、扫描窥探报文过滤、源合法性认证、基于会话防范等精心打造的“七层防御体系”,可以有效识别流量型攻击、应用型攻击、扫描窥探型攻击和畸形包攻击等多种攻击类型,实现了对多种Dos\DDoS攻击流量精确防御。
静态过滤:直接丢弃位于黑名单中的IP地址发出的流量,或者直接让位于白名单的IP地址发出的流量通过。畸形报文过滤:过滤利用协议栈漏洞的畸形报文攻击。扫描窥探报文过滤:过滤探测网络结构的扫描型报文和特殊控制报文。源合法性认证:基于应用来认证报文源地址的合法性,这些应用支持协议交互。清洗设备通过发送源探测报文及检查响应报文来防范虚假源或工具发出的攻击流量。基于会话防范:基于会话来防御并发连接、新建连接或异常连接超过阈值的连接耗尽类攻击。特征识别过滤:主要靠指纹学习和抓包分析来获得流量特征,防范僵尸工具或通过代理发起的攻击流量,以区别正常用户的访问行为。其中抓包分析是指对异常/攻击流量抓包以生成抓包文件,通过对抓包文件进行解析和提取指纹,能够获取流量特征。流量整形:流量经过此前各分层过滤之后,流量依然很大,超过用户实际带宽,此时采用流量整形技术,确保用户网络带宽可用。
3.2源探测技术
3.2.1 技术原理:设备对请求服务的报文的源IP地址进行探测,来自真实源IP地址的报文将被转发,来自虚假源IP地址的报文将被丢弃。
3.2.2 可防范的攻击类型:SYN Flood、HTTP Flood、HTTPS Flood、DNS Request Flood、DNS Reply Flood、SIP Flood。
3.2.3 SYN Flood攻击防御:
1)攻击原理
攻击者伪造大量的SYN请求报文发送给服务器,服务器每收到一个SYN就会响应一个SYN-ACK报文,但是攻击者并不会理会此SYN-ACK报文,所以服务器端会存在大量TCP半开连接,维护这些链接需要消耗大量的CPU及内存资源,最终导致服务器无暇处理正常的SYN请求,拒绝服务。
与SYN Flood攻击相似的攻击还有FIN Flood攻击、RST Flood攻击、ACK Flood攻击等,其攻击原理都是伪造带有特殊标志位的TCP报文,对目标服务器发起攻击,消耗其系统资源,最终导致服务器无法提供正常的服务。
2)防范原理
在连续一段时间内,防火墙收到的具有相同目的地址的SYN报文数如果超过闻值,则启动SYN报文源认证。防火墙拦截SYN报文,并伪造一个带有错误序列号的SYN-ACK报文回应给客户端。
如果客户端是虚假源,则不会对错误的SYN-ACK报文进行回应,认证失败,防火墙丢弃后续此源地址的SYN报文;
如果客户端是真实源,则会响应一个RST报文,认证通过,防火墙把此源地址加入白名单,并放行后续的SYN报文。
3.2.4 HTTPS Flood攻击
1)攻击原理:攻击者通过代理、僵尸主机或者直接向目标服务器发起大量的HTTPS连接,造成服务器资源耗尽,无法响应正常的请求。
2)防范原理:
防火墙基于目的地址对目的端口为443的HTTPS报文(不区分请求或响应报文)速率进行统计,当目的IP相同且目的端口为443的HTTPS报文速率达到阈值时,启动源认证防御。防火墙代替服务器与客户端完成三次握手,随后对客户端发送的Hello报文的关键字段进行检查,丢弃攻击者报文,放通正常用户报文(并加入白名单)。
3.3指纹技术
3.3.1 技术原理:设备将攻击报文的一段显著特征学习为指纹,未匹配指纹的报文将被转发,匹配指纹的报文将被丢弃。
3.3.2 可防范的攻击类型:UDP Flood、UDP Fragment Flood。
3.3.3 UDP Flood攻击防御:
1)UDP Flood攻击原理:UDP协议是一种无连接的服务,攻击者向服务器发送大量UDP协议数据包,如发送大量UDP报文冲击DNS服务器、Radius认证服务器、流媒体视频服务器等,导致服务器带宽和系统资源耗尽,无法提供正常服务。
UDP Flood攻击包括小包和大包两种方式进行攻击:
小包是指64字节大小的数据包,这是以太网上传输数据帧的最小值,在相同流量下,单包体积越小,数据包的数量就越多。由于交换机、路由器等网络设备需要对每一个数据包进行检查和校验,因此使用UDP小包攻击能够最有效的增大网络设备处理数据包的压力,造成处理速度的缓慢和传输延迟等拒绝服务攻击的效果。
大包是指1500字节以上的数据包,其大小超过了以大网的最大传输单元,使用UDP大包攻击,能够有效的占用网络接口的传输宽带,并迫使被攻击目标在接受到UDP数据时进行分片重组,造成网络拥堵,服务器响应速度变慢。
2)防范原理(指纹学习):
UDP Flood攻击报文具有一定的特点,这些攻击报文通常都拥有相同的特征字段,可以通过指纹学习的方式防御UDP Flood攻击。在连续一段时间内,防火墙收到的具有相同目的地址的UDP报文数如果超过闻值,则触发指纹学习。防火墙将攻击报文的一段显著特征学习为指纹后,匹配指纹的报文会被丢弃。
3.4限流技术
3.4.1 技术原理:设备直接丢弃超过速率上限的报文。
3.4.2 可防范的攻击类型:ICMP Flood、UDP Flood。
3.4.3 ICMP Flood攻击防御:
1)攻击原理:实施ICMP Flood攻击的攻击者一般通过控制大量主机,在短时间内发送大量的超大ICMP报文到被攻击目标,占用被攻击目标的网络带宽和系统资源,最终导致资源耗尽,业务不可用。
此类型攻击也会导致依靠会话转发的网络设备会话耗尽,引发网络瘫痪。
2)防范原理:
针对ICMP Flood攻击,防火墙可以对ICMP报文进行限流,将ICMP报文速率限制在一个较小的闻值范围内,超出闽值的ICMP报文被防火墙直接丢弃。防火墙可以基于接口对ICMP报文进行限流,也可基于目的IP地址对ICMP报文进行限流。
4、NGFW不足之处
虽然防火墙设备在大部分场景下能够有效抵御或减缓DDoS攻击,但其处理DDoS攻击的能力依然有限,如果DDoS攻击流量过大的话,防火墙很有可能会由于设备资源耗尽,导致业务无法正常运行,甚至系统崩溃或者宕机。例如IDC、金融、政府、互联网、游戏等行业对网络质量需求极高,这些行业出口带宽流量大,业务类型丰富,对可靠性要求高,并且在抵御外网攻击的同时,又要确保业务应用的畅通。而这些需求仅通过防火墙设备防御DDoS攻击是远远不够的。
倘若为了提高防火墙处理性能,采购T级别或更高级别NGFW设备,仅仅用于防御DDoS攻击,也是一件毫无性价比的事情。目前主流的解决方案是在网络架构中引入专业的DDoS防御设备,采用透明模式或旁路模式替防火墙处理DDoS流量,确保整个网络的正常运行。
5、结语
随着互联网环境越来越复杂,DDoS攻击的形式也在发生着日新月异的变化,新的攻击方法还在不断被发明出来。理论上,对于DDoS攻击来说并没有100%有效的防御手段,防火墙技术也仅仅是起到了最基础的防御目的,但是只要我们更好的了解DDoS攻击,积极部署防御措施,还是能够在很大程度上缓解和抵御这类安全威胁的。