Apache-2.2

限制 Apache 伺服器上的並行連接數

  • July 10, 2011

我在執行 Apache2 的 Ubuntu 伺服器上。我想保護自己免受 (d)dos 和 syn flood 攻擊,因此嘗試限制每個客戶端 IP 的並行連接數。

我聽說 iptables 可以完成這項工作,並且我查看了不同的命令。我想听聽你的意見。據我所知,如果客戶端與埠 80 建立超過 100 個並發/並行連接,則以下命令都會阻止客戶端 60 秒。這是正確的,兩者之間有什麼區別嗎?

命令 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 -A INPUT -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 最近 –update –seconds 60 –hitcount 100 -j REJECT

我的設置

我在我的伺服器上執行多個 Wordpress 站點。我認為每個客戶端 100 個並發連接就足夠了——超過這個值的任何人都應該被阻止。這是一個合理的限制嗎?

您可能需要重新考慮在 Apache 前面放置一個反向代理(Lighttpd、Nginx、Varnish 等),以減輕攻擊時的負載。

引用自:https://serverfault.com/questions/288784