泛洪攻击(Flood)与TCP代理(TCP proxy)

下文摘自H3C攻击防范指导手册

泛洪攻击

网络上常常会发生泛洪攻击和网络扫描攻击。泛洪攻击指攻击者向攻击目标发送大量的虚假请求,驱使被攻击者由于不断应付这些无用信息而筋疲力尽,合法的用户却由此无法享受到相应服务,即发生拒绝服务。扫描攻击是攻击者对网络进行主机或端口扫描,通常攻击者通过扫描了解网络的状况,为后续的攻击做准备。
防火墙通过检测网络流量,分析异常流量的特征,能成功检测出各种泛洪攻击和网络扫描攻击,具体功能包括:ICMP Flood 攻击检测、UDP Flood 攻击检测、SYN Flood 攻击检测、连接数限制和扫描攻击检测。

  1. ICMP Flood攻击检测
    短时间内向特定目标不断请求 ICMP 回应,致使目标系统负担过重而不能处理合法的传输任务,就发生了 ICMP Flood。启用 ICMP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机 ICMP 连接速率超过该值,防火墙会输出发生 ICMP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。

  2. UDP Flood攻击检测
    短时间内向特定目标不断发送 UDP 报文,致使目标系统负担过重而不能处理合法的传输任务,就发生了 UDP Flood。启用 UDP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机响应的 UDP 连接速率超过该值,防火墙会输出发生 UDP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。

  3. SYN Flood攻击检测
    由于资源的限制,TCP/IP 栈只能允许有限个 TCP 连接。SYN Flood 伪造 SYN 报文向服务器发起连接,服务器在收到报文后用 SYN_ACK 应答,此应答发出去后,不会收到 ACK 报文,造成一个半连接。若攻击者发送大量这样的报文,会在被攻击主机上出现大量的半连接,耗尽其资源,使正常的用户无法访问,直到半连接超时。在一些创建连接不受限制的实现里,SYN Flood 具有类似的影响,它会消耗掉系统的内存等资源。
    启用 SYN Flood 攻击检测功能时,要求设置一个连接速率阈值和半开连接数量阈值,一旦发现保护主机响应的 TCP 新建连接速率超过连接速度阈值或者半开连接数量超过半开连接数量阈值,防火墙会输出发生 SYN Flood 攻击的告警日志,并且可以根据用户的配置采取以下三种措施:

    • 阻止发往该保护主机的后续连接请求;
    • 切断保护主机上的最老半连接会话;
    • 向 TCP Proxy 添加受保护 IP 地址。
  4. 连接数限制
    连接数限制包括源 IP 连接数限制和目的 IP 连接数限制。启用连接数限制功能时,要求设置一个连接数阈值,一旦 IP 的连接数超过该值,防火墙会输出告警日志,并用可以根据用户配置阻止该 IP新建连接。

  5. 扫描攻击检测
    攻击者运用扫描工具探测目标地址和端口,用来确定哪些目标系统连接在目标网络上以及主机开启哪些端口服务。启用扫描攻击保护功能时,要求设置一个扫描速率阈值,一旦存在 IP 主动发起的连接速率超过该值,则判定该 IP 正在进行扫描探测,防火墙会输出发生扫描攻击的告警日志,阻止扫描者发起的后续连接,并且可以根据用户配置将扫描者加入到黑名单。

TCP代理

1. SYN Flood攻击详细介绍

一般情况下,TCP 连接的建立需要经过三次握手,即:
(1) TCP 连接请求的发起者向目标服务器发送 SYN 报文;
(2) 目标服务器收到 SYN 报文后,建立处于 SYN_RECEIVED 状态的 TCP 半连接,并向发起者回复 SYN ACK 报文,等待发起者的回应;
(3) 发起者收到 SYN ACK 报文后,回应 ACK 报文,这样 TCP 连接就建立起来了。利用 TCP 连接的建立过程,一些恶意的攻击者可以进行 SYN Flood 攻击。攻击者向服务器发送大量请求建立 TCP 连接的 SYN 报文,而不回应服务器的 SYN ACK 报文,导致服务器上建立了大量的 TCP 半连接。从而达到耗费服务器资源,使服务器无法处理正常业务的目的。

2. TCP Proxy功能简介

TCP Proxy 功能用来防止服务器受到 SYN Flood 攻击。客户端通过 TCP 代理请求与受保护的服务器建立连接时,TCP 代理首先验证客户端的请求是否为 SYN Flood 攻击,验证通过后客户端和服务器之间才能建立 TCP 连接,从而避免服务器受到攻击。
TCP Proxy 支持两种代理方式:单向代理和双向代理。单向代理方式是指仅对 TCP 连接的正向报文进行处理;双向代理是指对 TCP 连接的正向和反向报文都进行处理。用户可以根据实际的组网情况进行选择。
单向代理组网双向代理组网
例如:在如 图 1-1 所示的组网中,从客户端发出的报文经过TCP代理,而从服务器端发出的报文不经过TCP代理,此时只能使用单向代理方式;在如 图 1-2 所示的组网中,从客户端发出的报文经和从服务器端发出的报文都经过TCP代理,此时可以使用单向代理方式,也可以使用双向代理方式。

3. TCP Proxy处理流程

3.1. 单向代理

单向代理方式下,TCP Proxy的处理流程如 图 1-3 所示。
单向代理方式的TCP Proxy处理流程
TCP 代理收到某客户端发来的与受保护服务器(匹配某个受保护 IP 表项)建立 TCP 连接的请求(SYN 报文)后,先代替服务器向客户端回应序号错误的 SYN ACK 报文。如果收到客户端回应的RST 报文,则认为该 TCP 连接请求通过 TCP 代理的验证。一定时间内,TCP 代理收到客户端重发的 SYN 报文后,直接向服务器转发,在客户端和服务器之间建立 TCP 连接。TCP 连接建立后,TCP代理直接转发后续的报文,不对报文进行处理。

3.2. 双向代理

双向代理方式下,TCP Proxy的处理流程如 图 1-4 所示。
双向代理方式的TCP Proxy处理流程
TCP 代理收到某客户端发来的与受保护服务器建立 TCP 连接的请求(SYN 报文)后,先代替服务器向客户端回应正常的 SYN ACK 报文(窗口值为 0)。如果收到客户端回应的 ACK 报文,则认为该 TCP 连接请求通过 TCP 代理的验证。TCP 代理再向服务器发送同样的 SYN 报文,并通过三次握手与服务器建立 TCP 连接。双向代理方式中,在客户端和 TCP 代理、TCP 代理和服务器之间建立两个 TCP 连接。由于两个 TCP 连接使用的序号不同,TCP 报文交互过程中,TCP 代理接收到客户端或服务器发送的报文后,需要修改报文序号,再转发给对端,这样才能保证通信正常。

TCP SYN Flood攻击是一种常见的拒绝服务(DoS)攻击方式,攻击者通过发送大量的TCP SYN请求来消耗目标服务器的资源,导致正常用户无法访问该服务器。为了防御TCP SYN Flood攻击,可以采取以下几种方法: 1. SYN Cookie技术:当服务器收到一个TCP SYN请求时,不立即分配资源,而是根据请求的源IP地址和端口号生成一个加密的cookie,并将其发送给客户端。客户端在后续的请求中需要携带这个cookie才能建立连接。这样可以有效防止伪造的TCP SYN请求。 2. SYN Proxy:使用SYN Proxy可以将服务器的负载分散到多个代理服务器上,代理服务器负责接收和验证TCP SYN请求,并将合法的请求转发给目标服务器。这样可以减轻目标服务器的负载压力。 3. 防火墙设置:通过在防火墙上设置规则,限制对服务器的TCP SYN请求的数量和频率,可以有效减少攻击的影响。可以设置防火墙规则来限制每个IP地址的连接数或者限制每秒钟接收的TCP SYN请求的数量。 4. 流量清洗设备:流量清洗设备可以对进入服务器的流量进行实时监测和分析,识别并过滤掉恶意的TCP SYN请求,保护服务器免受攻击。 5. 负载均衡器:使用负载均衡器可以将流量分发到多个服务器上,从而分散攻击的影响。当一个服务器受到攻击时,负载均衡器可以将流量转发到其他正常的服务器上,确保服务的可用性。 6. 更新操作系统和应用程序:及时更新操作系统和应用程序的补丁可以修复已知的漏洞,提高服务器的安全性,减少受到攻击的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值