今天我一直在处理一个服务器,看起来像是一个SYN洪水攻击。 将网站重新上线是一件非常急切的事情,所以我们通过三个步骤将服务恢复到可用状态。 在攻击过程中服务器负载很低,所以服务器没有closures,只是超时了HTTP访问者。
现在我不相信这些解决了这个问题,但他们肯定解决了这个问题,直到洪水消退。
设置sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 5
Apache prefork ServerLimit和MaxClient增加到512(从256)。
将Apache ListenBackLog设置为1024
我在网上的其他地方看到了各种iptables -limit选项,但是我们得出的结论是,这些会限制合法的stream量,因为被请求网页的每个项目(每个图像等)都会计入这个限制,停止页面完全加载。
人们在这些情况下做了什么,而且我们的行动是否明智,因为负荷不是问题?
由于我不是iptables的专家,我通常让两个防火墙之一处理这个。 当涉及到防止SYN攻击时, APF和CSF都是很好的防火墙,人们可以通过其他方式攻击你的服务器。
我不知道你的具体configuration,但我已经使用了“通用”cPanel / DirectAdmin / Plesk服务器上的所有防火墙,以及一些自定义服务,一旦你允许正确的端口,它的工作效果很好。
另外,您可能希望打开SYN Cookie ,这有助于减轻SYN处于打开状态的攻击。 上述两个脚本都有这个选项。
我会在networking边界使用防火墙来防止SYN洪水攻击(以及DOS,DDOS,欺骗,端口探测,地址空间探测等)。 我不希望这种东西进入我的内部networking,我不得不在机器的基础上处理它。