最近我的服务器宕机了。我到处找了找,但在日志文件中只找到以下内容:
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
答案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。