TShopping

 找回密碼
 註冊
搜索
查看: 1357|回復: 1

[分享] 用防火牆防止DDOS分佈式拒絕服務攻擊

[複製鏈接]
發表於 2008-8-19 15:58:47 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
DoS(Denial of Service拒絕服務)和DDoS(Distributed Denial of Service分佈式拒絕服務)攻擊是大型網站和網絡服務器的安全威脅之一。2000年2月,Yahoo、亞馬遜、CNN被攻擊等事例,曾被刻在重大安全事件的歷史中。SYN Flood由於其攻擊效果好,已經成為目前最流行的DoS和DDoS攻擊手段。

SYN Flood利用TCP協議缺陷,發送了大量偽造的TCP連接請求,使得被攻擊方資源耗盡,無法及時回應或處理正常的服務請求。一個正常的TCP連接需要三次握手,首先客戶端發送一個包含SYN標誌的數據包,其後服務器返回一個SYN/ACK的應答包,表示客戶端的請求被接受,最後客戶端再返回一個確認包 ACK,這樣才完成TCP連接。在服務器端發送應答包後,如果客戶端不發出確認,服務器會等待到超時,期間這些半連接狀態都保存在一個空間有限的緩存隊列中;如果大量的SYN包發到服務器端後沒有應答,就會使服務器端的TCP資源迅速耗盡,導致正常的連接不能進入,甚至會導致服務器的系統崩潰。

防火牆通常用於保護內部網絡不受外部網絡的非授權訪問,它位於客戶端和服務器之間,因此利用防火牆來阻止DoS攻擊能有效地保護內部的服務器。針對SYN Flood,防火牆通常有三種防護方式:SYN網關、被動式SYN網關和SYN中繼。

SYN網關 防火牆收到客戶端的SYN包時,直接轉發給服務器;防火牆收到服務器的SYN/ACK包後,一方面將SYN/ACK包轉發給客戶端,另一方面以客戶端的名義給服務器回送一個ACK包,完成TCP的三次握手,讓服務器端由半連接狀態進入連接狀態。當客戶端真正的ACK包到達時,有數據則轉發給服務器,否則丟棄該包。由於服務器能承受連接狀態要比半連接狀態高得多,所以這種方法能有效地減輕對服務器的攻擊。

被動式SYN網關 設置防火牆的SYN請求超時參數,讓它遠小於服務器的超時期限。防火牆負責轉發客戶端發往服務器的SYN包,服務器發往客戶端的SYN/ACK包、以及客戶端發往服務器的ACK包。這樣,如果客戶端在防火牆計時器到期時還沒發送ACK包,防火牆則往服務器發送RST包,以使服務器從隊列中刪去該半連接。由於防火牆的超時參數遠小於服務器的超時期限,因此這樣能有效防止SYN Flood攻擊。

SYN中繼 SYN中繼防火牆在收到客戶端的SYN包後,並不向服務器轉發而是記錄該狀態信息然後主動給客戶端回送SYN/ACK包,如果收到客戶端的ACK包,表明是正常訪問,由防火牆向服務器發送SYN包並完成三次握手。這樣由防火牆做為代理來實現客戶端和服務器端的連接,可以完全過濾不可用連接發往服務器。


作者:smtk 來源:賽迪網安全社區

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-11 04:51 , Processed in 0.057227 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表