|
0 10.11.11.11:23236.15.133.204:2577 SYN_RECV - tcp 0 0
10.11.11.11:23127.160.6.129:51748 SYN_RECV - tcp 0 0
10.11.11.11:23222.220.13.25:47393 SYN_RECV - tcp 0 0
10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0 0
10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0 0
10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0 0
10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...
上面是在LINUX系統(tǒng)中看到的,很多連接處于SYN_RECV狀態(tài)(在WINDOWS系統(tǒng)中是SYN_RECEIVED狀態(tài)),源IP地址都是隨機的,表明這是一種帶有IP欺騙的SYN攻擊。
我們也可以通過下面的命令直接查看在LINUX環(huán)境下某個端囗的未連接隊列的條目數(shù):
#netstat -n -p TCP grep SYN_RECV grep :22 wc -l 324
顯示TCP端囗22的未連接數(shù)有324個,雖然還遠達不到系統(tǒng)極限,但應該引起管理員的注意。
五、SYN攻擊防范技術
關于SYN攻擊防范技術,人們研究得比較早。歸納起來,主要有兩大類,一類是通過防火墻、路由器等過濾網關防護,另一類是通過加固TCP/IP協(xié)議棧防范.但必須清楚的是,SYN攻擊不能完全被阻止,我們所做的是盡可能的減輕SYN攻擊的危害,除非將TCP協(xié)議重新設計。
1、過濾網關防護
這里,過濾網關主要指明防火墻,當然路由器也能成為過濾網關。防火墻部署在不同網絡之間,防范外來非法攻擊和防止保密信息外泄,它處于客戶端和服務器之間,利用它來防護SYN攻擊能起到很好的效果。過濾網關防護主要包括超時設置,SYN網關和SYN代理三種。
·網關超時設置:
防火墻設置SYN轉發(fā)超時參數(shù)(狀態(tài)檢測的防火墻可在狀態(tài)表里面設置),該參數(shù)遠小于服務器的timeout時間。當客戶端發(fā)送完SYN包,服務端發(fā)送確認包后(SYN+ACK),防火墻如果在計數(shù)器到期時還未收到客戶端的確認包(ACK),則往服務器發(fā)送RST包,以使服務器從隊列中刪去該半連接。值得注意的是,網關超時參數(shù)設置不宜過小也不宜過大,超時參數(shù)設置過小會影響正常的通訊,設置太大,又會影響防范SYN攻擊的效果,必須根據所處的網絡應用環(huán)境來設置此參數(shù)。
·SYN網關:
SYN網關收到客戶端的SYN包時,直接轉發(fā)給服務器;SYN網關收到服務器的SYN/ACK包后,將該包轉發(fā)給客戶端,同時以客戶端的名義給服務器發(fā)ACK確認包。此時服務器由半連接狀態(tài)進入連接狀態(tài)。當客戶端確認包到達時,如果有數(shù)據則轉發(fā),否則丟棄。事實上,服務器除了維持半連接隊列外,還要有一個連接隊列,如果發(fā)生SYN攻擊時,將使連接隊列數(shù)目增加,但一般服務器所能承受的連接數(shù)量比半連接數(shù)量大得多,所以這種方法能有效地減輕對服務器的攻擊。
·SYN代理:
當客戶端SYN包到達過濾網關時,SYN代理并不轉發(fā)SYN包,而是以服務器的名義主動回復SYN/ACK包給客戶,如果收到客戶的ACK包,表明這是正常的訪問,此時防火墻向服務器發(fā)送ACK包并完成三次握手。SYN代理事實上代替了服務器去處理SYN攻擊,此時要求過濾網關自身具有很強的防范SYN攻擊能力。
2、加固tcp/ip協(xié)議棧
防范SYN攻擊的另一項主要技術是調整tcp/ip協(xié)議棧,修改tcp協(xié)議實現(xiàn)。主要方法有SynAttackProtect保護機制、SYN cookies技術、增加最大半連接和縮短超時時間等。tcp/ip協(xié)議棧的調整可能會引起某些功能的受限,管理員應該在進行充分了解和測試的前提下進行此項工作。
·SynAttackProtect機制
為防范SYN攻擊,Windows2000系統(tǒng)的tcp/ip協(xié)議棧內嵌了SynAttackProtect機制,Win2003系統(tǒng)也采用此機制。SynAttackProtect機制是通過關閉某些socket選項,增加額外的連接指示和減少超時時間,使系統(tǒng)能處理更多的SYN連接,以達到防范SYN攻擊的目的。默認情況下,Windows2000操作系統(tǒng)并不支持SynAttackProtect保護機制,需要在注冊表以下位置增加SynAttackProtect鍵值: |
|
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|