SYN 洪水(半开连贯攻打)通过反复发送初始化连贯申请(SYN)数据包,攻击者将占用服务器上的所有可用端口,导致服务器无奈创立新的连贯。工作形式如下:
- 攻击者通常应用伪造的 IP 地址向指标服务器发送大量 SYN 数据包。
- 服务器别离对每一项连贯申请做出响应,并 关上一个可用端口,做好接管响应的筹备。
- 在服务器期待最初一个 ACK 数据包(永远不会达到)的过程中,攻击者将持续发送更多 SYN 数据包。每当有新的 SYN 数据包达到,服务器都会长期关上一个新的端口并在一段特定工夫内放弃连贯;用遍所有可用端口后,服务器将无奈失常运行。
在网络中,如果服务器连贯处于关上状态但另一端的机器连贯未关上,则视为 半开连贯 。因而,SYN 洪水攻打也叫做「 半开连贯攻打」。
歹意用户通常采取 分布式攻打(DDoS)的形式发动 SYN 洪水攻打。
DDoS,distributed denial-of-service:分布式拒绝服务攻打,攻击者通过管制被恶意软件感化的网络设备来动员攻打。被恶意软件感化的网络设备称为 机器人(或僵尸),一组机器人称为 僵尸网络。
我置信很多敌人在浏览网站时都会遇到过测验是否是机器人的页面,这里的机器人就是指被歹意管制的计算机了。
攻击者近程管制每一个机器人,发送申请到指标服务器,导致服务器不堪重负,从而造成对失常流量的拒绝服务。因为每个机器人都是失常的互联网设施,因而很难辨别攻打流量和失常流量。
如何缓解 SYN 洪水攻打?
- 回收最先创立的半开连贯:当半开连贯队列填满后,新的连贯笼罩掉最先创立的连贯。毛病:这有可能导致用户无奈失常连贯到服务器,并且当攻打量小于半开连贯队列的容量时,这种办法会生效。
- SYN Cookie:服务器不再维持半开连贯状态,发送了 SYN+ACK 数据包后,保留这个初始连贯序号到 Cookie 中,而后从半开队列中删除客户端的 SYN 申请,当客户端发送 ACK 报文后,查看是否非法,非法再重建一个 TCP 连贯。毛病:服务器丢失了重发 SYN+ACK 数据包的能力,可能导致用户无奈连贯到服务器。
参考资料:
- SYN 洪水 DDoS 攻打
- 什么是分布式拒绝服务攻打?