TCP intercept
R1與R2建立 TCP連接配接的過程:
1、 R1發送一個序列号100至R2(SYN )
2、 R2回複101,并發送自己的一個序列号200(SYN ACK)
3、 R1回複R2一個201序列号(ACK)
至此R1與R2雙方的TCP連接配接建立完全。
R1給R2發送資料,R2回應R1的資料并發送自己的序列号,如果這時R1不給R2回應,則R2會啟動一個等待計時器來等待這個回應,直到逾時為止。這樣的連接配接稱為半連接配接。
如果R2是一台伺服器,這樣的半連接配接過多,會占用掉伺服器的資源 ,進而導緻伺服器癱瘓不能正常工作,為了避免這種情況在伺服器上可以進行設定,同樣在中間路由器上也可以設定。
路由器上可以監測TCP連接配接的狀态,如果長時間TCP連接配接都沒有建立成功,則認為這是 一個攻擊,并告訴伺服器端重置這個會話;還可以在路由器上設定半連接配接的最大數量。
路由器為伺服器提供TCP保護的兩種模式:
1、 watch模式
用戶端的TCP連接配接請求會被正确發送到伺服器,路由器會跟蹤監測這條會話,如果長時間TCP連接配接都沒有建立成功,路由器會向伺服器端發送重置會話的請求。
2、 intercept模式
用戶端的TCP連接配接請求會被停置在路由器上,隻有當三次握手建立後,才會将該會話發送給伺服器,讓伺服器與用戶端正常連接配接,否則路由器将清除該會話。
在配置TCP intercept時,需要通過ACL來告訴路由器需要監測哪些TCP會話
配置TCP intercept
1、 建立ACL告訴路由器需要監測哪些TCP會話,并将ACL與tcp intercept關聯起來
Access-list 100 permit tcp any any
Ip tcp intercept list 100
2、 配置TCP intercept的模式
Ip tcp intercept mode watch
Ip tcp intercept mode intercept
3、 配置半連接配接最長等待時間,也就是watch模式的最長等待時間
Ip tcp intercept watch-timeout 60 時間以秒為機關
在這裡還可以配置一個連接配接逾時時間,即TCP連接配接建立完後多長時間沒有傳送資料就斷開該連接配接。預設路由器會監測這個會話24小時,這個時間可以修改,比如修改為1個小時
Ip tcp intercept connection-timeout 3600\
4、 定義路由器中記錄的半連接配接數的門檻值,預設分别為900和1100
Ip tcp intercept max-incomplete low 800
Ip tcp intercept max-incomplete high 1000
還可以定義每分鐘最大/小的半連接配接數
Ip tcp intercept one-minute low 800
Ip tcp intercept one-minute high 1000
5、 配置丢棄模式,即半連接配接數達到最大門檻值時,如何丢棄連接配接;預設是丢棄時間最長的會話
Ip tcp intercept drop-mode old/random