SYN 洪水建议

SYN 洪水建议

今天,我遇到了一台遭受 SYN 洪水攻击的服务器。我们急于让网站恢复在线,所以我们采取了以下三个步骤来让服务恢复到可用状态。攻击期间服务器负载较低,因此它并没有导致服务器瘫痪,只是使 HTTP 访问者超时。

现在我不相信这些能解决问题,但它们确实解决了症状,直到洪水退去。

  • sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=5

  • 增加 Apache prefork 服务器限制最大客户端数至 512(从 256)。

  • 设置 Apache监听日志至 1024

我看到了各种 iptables- 限制网络上其他地方正在讨论的选项,但我们得出的结论是,这些选项会限制合法流量,因为请求的网页的每个项目(每个图像等)都会计入此限制,从而阻止页面完全加载。

在这种情况下人们会怎么做?由于负载不是问题,我们的行动是否明智?

答案1

我会在网络边界使用防火墙来阻止\补救 SYN 洪水攻击(以及 DOS、DDOS、欺骗、端口探测、地址空间探测等)。我不希望这类攻击进入我的内部网络,在那里我必须逐台机器处理它。

答案2

由于我不是 iptables 方面的专家,我通常让两个防火墙中的一个帮我处理这个问题。有源滤波器脑脊液在防御 SYN 攻击以及人们可能通过多种其他方式攻击您的服务器方面,它们是出色的防火墙。

我不知道您的具体配置,但我已经在“通用” cPanel/DirectAdmin/Plesk 服务器以及一些具有自定义服务的服务器上使用了上述防火墙,并且一旦您允许正确的端口,它就能很好地运行。

另外,您可能希望打开SYN Cookies,这有助于缓解 SYN 处于开放状态的攻击。上述两个脚本均有此选项。

相关内容