端口 80 上可能发生 SYN 泛洪。发送 cookie

端口 80 上可能发生 SYN 泛洪。发送 cookie

最近我的服务器宕机了。我到处找了找,但在日志文件中只找到以下内容:

Feb 17 18:58:04 localhost kernel: possible SYN flooding on port 80. Sending cookies.
Feb 17 18:59:33 localhost kernel: possible SYN flooding on port 80. Sending cookies.

有人能给我更多相关信息吗?这是什么?如何调试原因以及如何修复。我还发了帖子ipconntrack 突然变得太大其中有另一个我觉得不寻常的数据点,我想知道这两件事是否有关联,因为它们恰好发生在同一时间,但在不同的服务器上。一个在反向代理上,另一个在实际的后端 Varnish 服务器上)

谢谢

答案1

Syn Flood 是一种攻击,在大多数情况下,攻击者伪造精心制作的数据包的源地址,试图与您的服务器建立连接(在本例中为端口 80)

如果攻击者快速生成大量这样的包,他就可以耗尽连接池,从而阻止合法用户连接到主机。

TCP Syn cookies 是一种用来更好地处理攻击情况的方法,尽管它有一些误报,但许多用户在受到 SYN 洪水攻击时仍能够访问您的服务(网站)。

答案2

这是一种基本的 DDOS 攻击,称为syn洪水攻击基本上,攻击者使用僵尸网络在您的机器上半开 TCP 连接,从而打开您的 conntrack 表。您可以使用 iptables 来防止这种情况,或者使用内置了这些规则的防火墙(如 CSF)来更轻松地防止这种情况。我写了这篇文章这里,现在推荐配置服务器防火墙(CSF)内置有这些保护措施。

如果您对此类攻击有任何具体问题,请告诉我。

答案3

这是你可以快速使用的 iptables 规则

iptables -N syn_flood
iptables -A INPUT -p tcp --syn -j syn_flood
iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A syn_flood -j DROP

答案4

如果 SYN 攻击来自单个 IP 地址,则上述规则设置没有帮助,因为其他合法流量也会被阻止,因为限制选项不考虑单个 IP 地址,所以我建议使用 connlimit 或 hashlimit。

相关内容