12-TCP攻擊防禦配置
本章節下載: 12-TCP攻擊防禦配置 (128.70 KB)
攻擊者可以利用TCP連接的建立過程和TCP報文的交互過程對設備進行攻擊。為了避免上述攻擊帶來的危害,設備提供了SYN Cookie功能和TCP分片攻擊防範功能。
一般情況下,TCP連接的建立需要經過三次握手,即:
(1) TCP連接請求的發起者向目標服務器發送SYN報文;
(2) 目標服務器收到SYN報文後,建立處於SYN_RECEIVED狀態的TCP半連接,並向發起者回複SYN ACK報文,等待發起者的回應;
(3) 發起者收到SYN ACK報文後,回應ACK報文,這樣TCP連接就建立起來了。
利用TCP連接的建立過程,一些惡意的攻擊者可以進行SYN Flood攻擊。攻擊者向服務器發送大量請求建立TCP連接的SYN報文,而不回應服務器的SYN ACK報文,導致服務器上建立了大量的TCP半連接。從而,達到耗費服務器資源,使服務器無法處理正常業務的目的。
SYN Cookie功能用來防止SYN Flood攻擊。當服務器收到TCP連接請求時,不建立TCP半連接,而直接向發起者回複SYN ACK報文。服務器接收到發起者回應的ACK報文後,才建立連接,並進入ESTABLISHED狀態。通過這種方式,可以避免在服務器上建立大量的TCP半連接,防止服務器受到SYN Flood攻擊。
表1-1 配置SYN Cookie功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能SYN Cookie功能 |
tcp syn-cookie enable |
必選 缺省情況下,SYN Cookie功能處於使能狀態 |
使能SYN Cookie功能後,建立TCP連接時隻協商最大報文段長度選項,而不協商窗口縮放因子和時間戳選項。
Naptha攻擊類似於SYN Flood攻擊,所不同的是Naptha攻擊可利用TCP連接的CLOSING、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、LAST_ACK和SYN_RECEIVED六種狀態來達到攻擊目的,而SYN Flood隻是利用SYN_RECEIVED狀態。
Naptha攻擊通過控製大量主機與服務器建立TCP連接,並使這些連接處於同一種狀態(上述六種狀態中的一種),而不請求任何數據,從而達到消耗服務器的內存資源,導致服務器無法處理正常業務的目的。
防止Naptha攻擊功能通過加速TCP狀態的老化,來降低服務器遭受Naptha攻擊的風險。使能防止Naptha攻擊功能後,設備周期性地檢測處於上述六種狀態的TCP連接數(設備隻記錄其作為TCP服務器的TCP連接數)。如果檢測到某個狀態的TCP連接數目超過設定的最大連接數,則認為設備受到Naptha攻擊,就會加速該狀態下TCP連接的老化。當該狀態下的TCP連接數低於最大連接數的80%(最小值為1),則取消該狀態下TCP連接的加速老化。
表1-2 配置防止Naptha攻擊功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能防止Naptha攻擊功能 |
tcp anti-naptha enable |
必選 缺省情況下,防止Naptha攻擊功能處於關閉狀態 |
配置某一狀態下的最大TCP連接數 |
tcp state { closing | established | fin-wait-1 | fin-wait-2 | last-ack | syn-received } connection-number number |
可選 缺省情況下,六種TCP狀態下的最大連接數均為5 如果TCP狀態下的最大連接數為0,則表示不會加速該狀態的老化 |
配置TCP連接狀態的輪詢檢測時間間隔 |
tcp timer check-state timer-value |
可選 缺省情況下,TCP狀態輪詢檢測的時間間隔為30秒 |
設備的包過濾功能一般是通過判斷TCP首個分片中的五元組(源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議號)信息來決定後續TCP分片是否允許通過。RFC1858對TCP分片報文進行了規定,認為TCP分片報文中,首片報文中TCP報文長度小於20字節,或後續分片報文中分片偏移量等於8字節的報文為TCP分片攻擊報文。這類報文可以成功繞過上述包過濾功能,對設備造成攻擊。
例如攻擊者可構造極小的TCP首個分片報文,將TCP報文頭(通常為20字節)分布在2個分片中,這樣一來,構造報文中的非法TCP標記位將包含在第二個分片中,從而逃過包過濾係統的檢查,對設備造成攻擊。同樣,攻擊者通過構造片偏移量等於8字節的TCP分片報文,也可以繞過包過濾係統,而當這些TCP分片在目的主機上進行報文重組時,攜帶非法TCP標記位的報文將替換TCP首片中的合法標記位,對設備造成攻擊。
為防止這類攻擊,可以在設備上配置TCP分片攻擊報文丟棄功能,對不符合要求的TCP分片進行丟棄。
表1-3 配置TCP分片攻擊防範
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置TCP分片攻擊防範功能 |
attack-defense tcp fragment enable |
缺省情況下,TCP分片攻擊防範功能處於開啟狀態 |
在任意視圖下執行display tcp status命令可以顯示所有TCP連接的狀態,用戶可以通過顯示信息隨時監控TCP連接。
表1-4 TCP攻擊防禦顯示和維護
操作 |
命令 |
顯示所有TCP連接的狀態 |
display tcp status [ | { begin | exclude | include } regular-expression ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!