1、動態(tài)刪除連接表項

在BIG IP遭受DDOS攻擊時,一個最常見的資源消耗就是內(nèi)存。在默認(rèn)配置下,當(dāng)BIG IP的內(nèi)存使用達(dá)到97%的時候,BIG IP就會自動進行重啟,以恢復(fù)自身的正常運行。

在一個HA的組里,則此時由備機接管繼續(xù)提供服務(wù)。當(dāng)然,這是最糟糕的情況,在達(dá)到這個狀態(tài)前,在BIG IP的全局配置中,有兩個重要的和安全相關(guān)參數(shù)設(shè)置來避免內(nèi)存耗盡。

這兩個參數(shù)就是Low Water Mark和High Water Mark。當(dāng)系統(tǒng)的內(nèi)存占用超過Low Water Mark的設(shè)定值的時候,BIGIP將開始刪除在連接表中最“老”的連接表項,也就是最接近達(dá)到idel time out定義時間的表項,但此時BIGIP仍然接收新的連接建立。當(dāng)系統(tǒng)內(nèi)存占用超過HighWater Mark的時候,BIG IP將不再接收新的連接,并且刪除老的連接,直到系統(tǒng)的內(nèi)存占用達(dá)到Low Water Mark的設(shè)定值為止。

2、 SYN Cookie啟動閥值

在四層工作模式下,可以直接啟動SYN Cookie對SYN 攻擊進行防護,但在全代理工作模式下,如果對每一個SYN包都建立一個連接表項,在SYN攻擊足夠強烈的時候,BIGIP自身的內(nèi)存也將會被迅速充滿進入連接刪除或者重啟狀態(tài)。

但如果系統(tǒng)在正常工作下,啟用SYN Cookie會帶來額外的CPU計算損耗。因此,在全代理模式下,可以通過設(shè)置SYN Thrash Hold的值來動態(tài)的啟用SYN Cookie進行SYN攻擊防護。

當(dāng)系統(tǒng)中沒有進入正常三次握手連接的表項的數(shù)量,也就是在SYN-RECEIVED狀態(tài)的連接達(dá)到設(shè)定值,則對后續(xù)的新建連接進行SYN Cookie處理。這樣,對新建的連接,就不再直接添加新的連接表項而只有通過SYN Cookie驗證后,再建立連接表項進行處理。保證正常的客戶訪問可以持續(xù)。

3、最大拒絕包發(fā)送速率

在默認(rèn)狀態(tài)下,BIGIP將對發(fā)送到非VS端口的數(shù)據(jù)包、超時的連接、命中VS但沒有對應(yīng)連接表項的請求回應(yīng)RST包進行拒絕。但如果在DDOS發(fā)生的時候,這種RST包的響應(yīng)也會耗費很多的CPU資源。因此,在BIGIP中,可以通過DB 參數(shù)TM.MaxRejectRate來設(shè)置每秒鐘回應(yīng)的RST包的數(shù)量,以節(jié)省系統(tǒng)資源,保證系統(tǒng)可用性。

4、最大ICMP請求回應(yīng)速率

在遭遇ICMP Flood的時候,BIGIP也是通過全局設(shè)定的DB參數(shù)TM.MaxICMPRate來限制整臺設(shè)備可以響應(yīng)的ICMP回應(yīng)速率,以減小本身的性能損 耗。需要注意的是,這個設(shè)定的默認(rèn)值為250/秒,在一些網(wǎng)絡(luò)設(shè)備執(zhí)行高速ping檢查的時候,由于該功能啟用,會在對端發(fā)現(xiàn)有丟包現(xiàn)象。如果一定要進行 驗證,需要調(diào)高這個參數(shù)。

除了上述全局的參數(shù)設(shè)置外,TCP/UDP超時時間設(shè)定和TCP-Profile-延遲接收連接也非常重要。

TCP/UDP超時時間設(shè)定:TCP/UDP超時時間主要用于設(shè)定在一個連接中,有多長時間沒有數(shù)據(jù)進行傳輸,則將該連接從連接表項中刪除,并向客 戶端和服務(wù)器端分別發(fā)送RST包。減小超時時間設(shè)定,將有助于減小BIGIP的內(nèi)存消耗。例如默認(rèn)值為300秒,而針對大部分的HTTP應(yīng)用,該值可以調(diào) 整到90秒或者60秒以下,以使BIGIP可以更快的回收內(nèi)存空間占用而不影響業(yè)務(wù)運行。但對一些長連接應(yīng)用,則需要根據(jù)應(yīng)用的實際需求進行設(shè)定。

TCP-Profile-延遲接收連接:在TCP Profile中,還有一個重要安全相關(guān)參數(shù)就是Defered Accept,默認(rèn)為關(guān)閉狀態(tài),當(dāng)該參數(shù)開啟時,BIGIP對所有的請求在三次握手建立完成后,并不開啟完整的連接表項,只是簡單的記錄該連接狀態(tài)。只有在客戶端或者Pool Member之間開始有數(shù)據(jù)傳輸?shù)臅r候,才開始建立正式的連接表項。

分享到

zhangcun

相關(guān)推薦