網站持續連線的os設定與iptables的狀況

最近有獨立主機用戶,因為要測試其程式的特殊功能,
所以主機會有大量的持續性連線。

但在centos預設時,有基本的安全防護,
當tcp/ip的線程一多,就會產生錯誤訊息。

<發生狀況>
藉由在os裡觀察tcp/ip連線時,發現在centos中,
有限制tcp/ip的單一IP連線數,當達到一個線程時,
會判斷是一種Sync Flood攻擊,因此系統會自動擋下連線,
但也因此讓其程式運行產生問題。

<如何解決>
vim /etc/sysctl.conf
修改
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.nf_conntrack_max=6553600

並在重開。

後來就沒有持續性的阻擋連線,
不過跑了數小時後,發現還是會有偶發的阻擋狀況。
(以上參數,需視實際情況修改)

<二次解決>
在centos中,除sysctl等其他參數之外,會影響連線的軟體,
還有內建iptables,如果rules沒有重新寫,他會發揮預設的一些作用,
所以我們又試著修改iptables,讓Sync Flood防護不會隨意被觸發,
改完之後,果然可以撐到一天以上都沒出現error了。

 

<結論>
不過這樣的修改,其實是將安全性降到最低,
有時這樣處理,解決了現在的問題,
但是如果遇到攻擊,可能得要有因應方式。

 

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。