14-TCP攻擊防禦配置
本章節下載: 14-TCP攻擊防禦配置 (122.31 KB)
攻擊者可以利用TCP連接的建立過程對設備進行攻擊。為了避免上述攻擊帶來的危害,設備提供了以下功能:
· SYN Cookie功能
· 防止Naptha攻擊功能
下麵將詳細介紹上述功能可以防止的攻擊類型、工作原理,以及配置過程。
一般情況下,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秒 |
在任意視圖下執行display tcp status命令可以顯示所有TCP連接的狀態,用戶可以通過顯示信息隨時監控TCP連接。
表1-3 TCP攻擊防禦顯示和維護
命令 |
|
顯示所有TCP連接的狀態 |
display tcp status [ | { begin | exclude | include } regular-expression ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!