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

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

我听说iptables可以做这个工作,而且我看过不同的命令。 我想听听你的意见。 据我所知,下面的命令都阻塞客户端60秒,如果他们做了超过100个并行/并行连接到端口80.这是正确的,是否有任何区别?

命令1

iptables -A INPUT -p tcp -m最近–rcheck –seconds 60 -j REJECT

iptables -A INPUT -p tcp –dport 80 -m connlimit –connlimit-above 100 -m最近–set -j REJECT

命令2

iptables -Ainput-p tcp –dport 80 -i eth0 -m状态 – 状态新build-m最近 – 设置

iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state新-m最近–update –seconds 60 –hitcount 100 -j REJECT

我的设置

我在我的服务器上运行多个Wordpress网站。 我认为每个客户100个并发连接应该是足够的 – 任何人超过这个应该被阻止。 这是一个合理的限制吗?

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