限制 Apache 服务器上的并行连接数

限制 Apache 服务器上的并行连接数

我在运行 Apache2 的 Ubuntu 服务器上。我想保护自己免受 (d)dos 和 syn 洪水攻击,因此尝试限制每个客户端 IP 的并行连接数。

我听说 iptables 可以完成这项工作,并且我查看了不同的命令。我想听听您的意见。据我所知,如果客户端与端口 80 建立超过 100 个并发/并行连接,以下命令都会阻止客户端 60 秒。这是正确的吗?两者之间有什么区别吗?

命令 1

iptables -A INPUT -p tcp -m recent --rcheck --seconds 60 -j REJECT

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -m recent --set -j REJECT

命令 2

iptables -A 输入 -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 100 -j REJECT

我的设置

我的服务器上运行着多个 Wordpress 网站。我认为每个客户端 100 个并发连接应该足够了 - 任何超过此数量的连接都将被阻止。这是一个合理的限制吗?

答案1

您可能需要重新考虑在 Apache 前面放置一个反向代理(Lighttpd、Nginx、Varnish 等),以便在发生攻击时减轻它的负载。

相关内容