SYN泛洪
SYN泛洪(SYN
Flood)是一种常见的网络拒绝服务攻击(DoS攻击),它通过大量发送伪造的TCP连接请求,耗尽目标服务器的资源,导致合法用户无法建立连接。
什么是 SYN 泛洪攻击?
TCP建立连接时,需要进行“三次握手”:
- 客户端发送 SYN 报文,表示请求建立连接。
- 服务器回应 SYN+ACK 报文,等待客户端确认。
- 客户端回复 ACK,连接建立。
SYN泛洪攻击就是攻击者发送大量 SYN 报文,但不回复服务器的
SYN+ACK,导致服务器一直等待确认,消耗大量半连接资源,最终无法为正常请求分配资源。
攻击过程简述
- 攻击者伪造大量源IP地址,向目标服务器发送大量 SYN 包。
- 服务器为每个 SYN 请求分配资源,进入半连接状态,等待客户端的
ACK。
- 由于 ACK 不到,半连接资源持续占用。
- 服务器半连接队列被占满,合法请求无法连接,服务瘫痪。
防御措施
- SYN
Cookies:服务器不为半连接分配资源,而是通过编码SYN信息在序列号中,等待确认时再验证。
- 限制半连接数量:设置最大半连接数,超过拒绝新连接。
- 防火墙过滤:丢弃异常或伪造的 SYN 包。
- 使用代理或负载均衡:分散攻击压力。