Apache-2.2
限制 Apache 伺服器上的並行連接數
我在執行 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 等),以減輕攻擊時的負載。