SYN 洪水攻击简介
SYN 洪水攻击是一种 DDos 攻击的常见形式。它基于 TCP 三路握手的弱点。一次三路握手会经历客户端 SYN, 服务端 SYN-ACK, 客户端再次 ACK。服务端在客户端 SYN 到达时调用 accept() 并阻塞,在客户端 ACK 收到 accept() 才返回。SYN flood 就是发送大量恶意的 SYN 给服务器,又不发 ACK 给服务器,结果服务器就要维护非常多的连接对象,直到内存被撑爆。防御手段的话得要对 TCP 协议做出一些修正,例如收到 SYN 只开一点内存用于存客户端信息而不创建连接,或者通过校验才创建连接等等。一般对于 DDos 攻击,服务端没有什么好的防御手段,只能硬扛,除非去购买 DDos 防御服务,把流量先引到服务商那里清洗干净了再导回来。