一種分布式拒絕服務攻擊的防禦方法與系統與流程
2024-03-30 02:22:05 1

本發明涉及計算機領域,具體而言,涉及一種分布式拒絕服務攻擊的防禦方法與系統。
背景技術:
分布式拒絕服務(Distributed Denial of Service,DDoS)攻擊,指藉助於客戶端/伺服器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DDoS攻擊,從而成倍地拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間,主控程序將與大量代理程序通訊,其中,代理程序已經安裝在Internet上的許多計算機上,代理程序收到指令時就發動攻擊。利用客戶/伺服器技術,主控程序能在幾秒鐘內激活成百上千次代理程序的運行,因為攻擊時,攻擊數據包都是經過偽裝的,源IP位址也進行了偽裝,因而難以對攻擊進行準確區分。
流量清洗技術是一種近年來新興的異常流量檢測控制技術,對DDoS攻擊具有較佳的效果。流量清洗的原理是在發現網絡攻擊行為後,採用路由通告的方式改變流量轉發方向,將流量牽引至指定節點,然後用異常流量過濾設備處理重定向流量,對重定向流量中的異常流量進行過濾、限速,而將合法流量回注到網絡中,從而避免了DDoS攻擊。
現有技術中有通過設置反向代理伺服器的方法進行DDoS防禦。
當客戶機向站點提出請求時,請求將轉到反向代理伺服器。然後,反向代理伺服器通過防火牆中的特定通路,將客戶機的請求發送到內容伺服器。內容伺服器再通過該通路將結果回傳給反向代理伺服器。如果內容伺服器返回錯誤消息,反向代理伺服器會先行截取該消息並更改標頭中列出的任何統一資源定位符(URL),然後再將消息發送給客戶機。如此可防止外部客戶機獲取內部內容伺服器的重定向URL。
通過解析到反向代理伺服器上的虛擬IP位址,客戶機的訪問流量經過反向代理伺服器上層的清洗後,再經過反向代理伺服器回到內容伺服器。
然而這樣的防禦方法不支持用戶數據報協議(UDP協議)。另外由於不支持埠復用,所以單個用於防禦的虛擬IP位址能支持的並發有限。由於一般的反向代理都要基於linux kernel的協議棧,所以性能受到協議棧的制約。
現有技術中還有採用網際網路數據中心(Internet Data Center,IDC)進行防禦的方法。
在IDC內部有流量監測系統,當攻擊發生時,流量監測系統通過邊界網關協議(BGP)將流量調度到清洗系統進行清洗。
然而這樣的防禦方法只能處理IDC內部網絡受到DDOS攻擊的問題,不能解決伺服器不託管在此IDC的問題。已經不能夠適用現有的雲環境下的大規模應用。
技術實現要素:
基於以上問題,本發明的目的在於提供一種分布式拒絕服務攻擊的防禦方法與系統,能夠在現有的雲環境下有效地進行DDoS攻擊清洗,並能夠對內容伺服器進行保護。
根據本發明的一個方面,提供一種分布式拒絕服務攻擊的防禦系統,包括:監測裝置,監測裝置監測客戶端流向內容伺服器的網絡流量,監測裝置在識別到攻擊流量時發出受攻擊信號;路由器,路由器接收受攻擊信號後,將包括攻擊流量的網絡流量轉發至高防設備;高防設備,高防設備接收包括攻擊流量的網絡流量並對包括攻擊流量網絡流量進行清洗,以獲得清洗流量,高防設備將清洗流量回注內容伺服器,其中,清洗流量的源IP位址被設置為高防設備的IP位址;高防設備接收內容伺服器的處理數據,並將處理數據轉發至客戶端,其中,轉發至客戶端的處理數據的源IP位址被設置為高防設備的IP位址。
優選地,高防設備包括轉發集群,轉發集群包括交換機以及數個轉發器,交換機接收網絡流量,交換機將網絡流量轉發至數個轉發器中根據負載均衡算法確定的用於清洗網絡流量的當前轉發器,當前轉發器接收網絡流量並對網絡流量進行清洗,以獲得清洗流量,當前轉發器將清洗流量回注內容伺服器。
優選地,高防設備包括第一清洗設備以及轉發集群;第一清洗設備接收網絡流量並對網絡流量進行清洗,以獲得第一清洗流量,第一清洗設備將第一清洗流量發送至轉發集群,轉發集群接收第一清洗流量,並對第一清洗流量進行二次清洗,以獲得第二清洗流量,轉發集群將第二清洗流量回注內容伺服器。
優選地,轉發集群包括交換機以及數個轉發器,交換機接收第一清洗流量,交換機將第一清洗流量轉發至數個轉發器中根據負載均衡算法確定的用於清洗第一清洗流量的當前轉發器,當前轉發器接收第一清洗流量並對第一清洗流量進行二次清洗,以獲得第二清洗流量,當前轉發器將第二清洗流量回注內容伺服器。
優選地,當前轉發器將第二清洗流量中的源IP位址設置為轉發集群的IP位址,將目標IP位址設置為內容伺服器的IP位址。
優選地,轉發集群接收內容伺服器的處理數據,並將處理數據轉發至客戶端,其中轉發集群將轉發至客戶端的處理數據的源IP位址設置為高防設備的IP位址。
優選地,當前轉發器包括網絡地址轉換連接表,當前轉發器通過網絡地址轉換連接表進行IP位址的轉換設置。
根據本發明的第二個方面,提供一種分布式拒絕服務攻擊的防禦方法,包括步驟:監測裝置監測流向內容伺服器網絡的網絡流量,在識別到攻擊流量時發出受攻擊信號;路由器接收受攻擊信號後,將包括攻擊流量的網絡流量轉發至高防設備;高防設備接收包括攻擊流量的網絡流量並對包括攻擊流量網絡流量進行清洗,以獲得清洗流量;高防設備將清洗流量的源IP位址設置為高防設備的IP位址,並將清洗流量回注內容伺服器;高防設備接收內容伺服器的處理數據,並將處理數據的源IP位址設置為高防設備的IP位址,高防設備將轉換後的處理數據轉發至客戶端。
優選地,高防設備包括第一清洗設備以及轉發集群;第一清洗設備接收網絡流量並對網絡流量進行清洗,以獲得第一清洗流量,第一清洗設備將第一清洗流量發送至轉發集群,轉發集群接收第一清洗流量,並對第一清洗流量進行二次清洗,以獲得第二清洗流量,轉發集群將第二清洗流量回注內容伺服器。
優選地,轉發集群包括交換機以及數個轉發器,交換機接收第一清洗流量,交換機將第一清洗流量轉發至數個轉發器中根據負載均衡算法確定的用於清洗第一清洗流量的當前轉發器,當前轉發器接收第一清洗流量並對第一清洗流量進行二次清洗,以獲得第二清洗流量,當前轉發器將第二清洗流量的源IP位址設置為轉發集群的IP位址,將第二清洗流量回注內容伺服器。
優選地,轉發集群接收內容伺服器的處理數據,並將處理數據的源IP位址設置為高防設備的IP位址,並將設置後的處理數據轉發至客戶端。
本發明中當監測到DDoS攻擊時,將網絡流量轉發至高防設備,通過高防設備進行清洗並回注內容伺服器,高防設備將清洗流量的源IP位址設置為高防設備的IP位址,從而保證內容伺服器向高防設備回復處理數據。高防設備將接收到的處理數據的源IP位址設置為高防設備的IP位址,從而隱藏了內容伺服器的IP位址,防止內容伺服器受到進一步攻擊。通過這樣的設置,本發明實現了在雲環境下有效地進行DDoS攻擊清洗,並能夠對內容伺服器進行保護。
由於高防設備具有轉發器,轉發器採用基於用戶態的處理程序實現流量的網絡地址轉換以及傳輸,不受傳輸協議以及網絡區域範圍限制,因此高防設備能夠支持多個傳輸協議,且不受網絡區域範圍的限制。
由於轉發集群採用網絡地址轉換連接表從而實現埠復用,增加了並發連接數,提供大流量的DDoS防護。
附圖說明
以下結合附圖和具體實施例對本發明的技術方案進行詳細的說明,以使本發明的特性和優點更為明顯。
圖1為包括客戶端、內容伺服器以及本發明的分布式拒絕服務攻擊的防禦系統的結構示意圖;
圖2為未受到攻擊時本發明的分布式拒絕服務攻擊的防禦方法的數據流向示意圖;
圖3為受到攻擊時本發明的分布式拒絕服務攻擊的防禦方法的數據流向示意圖;
圖4為本發明的分布式拒絕服務攻擊的防禦方法的一個實例的數據流程圖。
具體實施方式
以下將對本發明的實施例給出詳細的說明。儘管本發明將結合一些具體實施方式進行闡述和說明,但需要注意的是本發明並不僅僅只局限於這些實施方式。相反,對本發明進行的修改或者等同替換,均應涵蓋在本發明的權利要求範圍當中。
一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是其中的許多操作可以被並行地、並發地或者同時實施。此外,各項操作的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應於方法、函數、規程、子例程、子程序等等。
圖1為包括客戶端、內容伺服器以及本發明的分布式拒絕服務攻擊的防禦系統的結構示意圖。客戶端101向內容伺服器103發出請求信息,從而形成流向內容伺服器103的網絡流量,為了方便說明,本發明中僅列出了一個客戶端101作為示例。如圖1所示,分布式拒絕服務攻擊的防禦系統包括監測裝置104,路由器102以及高防設備105。
當監測裝置104監測到網絡流量中包括攻擊流量時,路由器102將流向內容伺服器103的網絡流量轉入高防設備105,高防設備105對網絡流量中的攻擊流量進行清洗並將清洗後得到的清洗流量回注到內容伺服器103,清洗流量的源IP位址設置被為高防設備的IP位址,從而保證內容伺服器103在對清洗流量進行處理後,將處理數據返回高防設備105。高防設備105在接收到處理數據後,將處理數據的源IP位址被設置為高防設備的IP位址,從而隱藏了內容伺服器103的IP位址,防止內容伺服器103受到進一步攻擊。
下面對分布式拒絕服務攻擊的防禦系統中的各個裝置以及設備進行介紹。
具體而言,監測裝置104監測客戶端101流向內容伺服器103的網絡流量,監測方法可採用現有技術的監測方法,例如採集訪問內容伺服器的網絡流量,對關注的指標進行存儲,並描繪成曲線,對曲線進行攻擊檢測。當監測裝置104監測到攻擊流量時發出受攻擊信號。
路由器102進行網絡流量轉發。當路由器102未接收到受攻擊信號時,路由器102將網絡流量直接轉發至內容伺服器103。當路由器102接收到受攻擊信號時,路由器102將網絡流量轉發至高防設備105。
高防設備105用於對包括攻擊流量的網絡流量進行清洗,並將清洗流量回注到內容伺服器103。具體而言,本實施例中高防設備105包括第一清洗設備106以及轉發集群107,需要清洗的網絡流量首先由第一清洗設備106進行清洗,再由第一清洗設備106轉發至轉發集群107進行二次清洗,從而得到清洗流量。需要注意的是,在其他實施例中也可以僅設置轉發集群107而不設置第一清洗設備106,然而設置第一清洗設備106實現二次清洗能夠更好地保障攻擊流量被清洗而防止遺漏,並且減輕攻擊流量對轉發集群107的性能影響。第一清洗設備106可以使用IDC中設備,也可以通過獨立的設備實現。
其中,轉發集群107包括交換機109以及數個轉發器1081,1082,1083,本實施例中轉發集群107示例性地包括三個轉發器1081,1082,1083。數據發送到轉發集群107時,首先由交換機109接收數據,轉發集群107根據負載均衡算法確定數個轉發器1081,1082,1083中的用於處理當前數據的當前轉發器1081後,交換機109將數據轉發至當前轉發器1081。在本發明中,轉發器1081,1082,1083採用基於用戶態的處理程序實現流量的網絡地址轉換以及傳輸,能夠支持多個傳輸協議,且不受網絡區域範圍的限制。轉發器1081,1082,1083採用英特爾數據面開發套件(Intel DataPlaneDevelopmentKit,Intel DPDK)數據處理框架。Intel DPDK是Intel公司提出的一種高速網絡數據包的軟體開發套件,Intel DPDK通過旁路Linux系統網絡協議棧,直接對網卡進行讀寫,結合對多核CPU中不同內核的綁定,能夠實現1Gbit網絡小包流量下的線速收發。在Intel DPDK數據處理框架下具體接收以及發送數據的方法,可以採用現有的Intel DPDK數據處理方法。
圖2為未受到攻擊時本發明的分布式拒絕服務攻擊的防禦方法的數據流向示意圖。
如圖2所示,標識了數據流向。例如,客戶端101向域名為www.abc.com發出請求信息,監測裝置104監測流向域名為www.abc.com的網絡流量。路由器102接收網絡流量,當監測裝置104未監測出攻擊流量時,路由器102將www.abc.com的域名解析為內容伺服器103的IP位址5.5.5.5,進而路由器102將網絡流量直接轉發至內容伺服器103。
內容伺服器103接收請求信息,對請求信息響應處理,並向客戶端101返回處理數據。
圖4為本發明的分布式拒絕服務攻擊的防禦方法的一個實例的數據流程圖。如圖4所示,本發明的分布式拒絕服務攻擊的防禦方法主要實施以下步驟:
S101:監測裝置104識別攻擊流量並發出受攻擊信號;
S102:路由器102接收受攻擊信號後,將包括攻擊流量的網絡流量轉發至第一清洗設備106;
S103:第一清洗設備106接收網絡流量並進行清洗,獲得第一清洗流量;
S104:交換機109接收第一清洗流量,並轉發至當前轉發器1081;
S105:當前轉發器1081接收第一清洗流量並進行二次清洗,獲得第二清洗流量;
S106:當前轉發器1081將第二清洗流量的源IP位址設置為轉發集群107的IP位址,將第二清洗流量回注內容伺服器103;
S107:轉發集群107接收內容伺服器103的處理數據,並將處理數據的源IP位址設置為高防設備105的IP位址,並轉發至客戶端101。
圖3為受到攻擊時本發明的分布式拒絕服務攻擊的防禦方法的數據流向示意圖。
結合3以及圖4,標識了客戶端101發出的網絡流量到當前轉發器1081的數據流向。
具體而言,如步驟S101,監測裝置104監測流向域名為www.abc.com的網絡流量,當監測裝置104監測到攻擊流量時,監測裝置104發出受攻擊信號。
如步驟S102,路由器102接收到受攻擊信號後,將www.abc.com的域名解析為高防設備105的IP位址1.1.1.1,從而將包括攻擊流量的網絡流量轉發至高防設備105。
在本實施例中,如步驟S103,高防設備105中的第一清洗設備106接收網絡流量並對網絡流量進行清洗,從而獲得第一清洗流量。在本實施例中,第一清洗設備106負責對網絡流量進行網絡層、傳輸層流量型攻擊的清洗。網絡流量的清洗方法可以採用現有的清洗算法。例如針對SYN Flood攻擊,採用SYN cookie算法進行清洗。
第一清洗設備106將第一清洗流量發送至轉發集群105,由轉發集群105對第一清洗流量進行二次清洗。具體如步驟S104,轉發集群105中的交換機109接收第一清洗流量。轉發集群105根據負載均衡算法確定處理第一清洗流量的當前轉發器1081,交換機109將第一清洗流量發送當前轉發器1081。
如步驟S105,當前轉發器1081接收第一清洗流量並進行二次清洗,從而獲得第二清洗流量。在本實施例中,當前轉發器1081主要負責應用層攻擊清洗,以及在第一清洗設備106清洗時漏過的網絡層以及傳輸層攻擊流量清洗。具體的清洗算法可採用現有的清洗算法。
圖3中,標識了當前轉發器1081與內容伺服器103之間的數據流向。
如步驟S106,當前轉發器1081將第二清洗流量的源IP位址設置為轉發集群107的IP位址2.2.2.2,將第二清洗流量回注內容伺服器103。
轉發器1081,1082,1083包括網絡地址轉換(Network Address Translation,NAT)連接表,當前轉發器1081通過NAT連接表進行IP位址的轉換設置。
具體例如,當前轉發器1081接收的第一清洗流量的源IP位址為客戶端101IP位址3.3.3.3,源埠號為客戶端101埠號2222,目標IP位址為高防設備105的IP位址1.1.1.1,目標埠號為高防設備105埠號80。當前轉發器1081基於目標IP位址,源IP位址在NAT連接表中進行查找。找到後,執行相應命令將清洗後的第二清洗流量的目標IP位址設置為內容伺服器103的IP位址5.5.5.5,目標埠號為內容伺服器103的埠號80,將源IP位址設置為轉發集群107的IP位址2.2.2.2,源埠號為轉發集群107的埠號,需要注意的是,這裡轉發集群107的埠號是隨機虛擬的,例如1024。
由於轉發集群107的埠號可以復用,即源自不同客戶端的第二清洗流量可以使用同一個源埠號,例如1024,因此增加了所能支持的並發連接數,從而能夠應對大流量的攻擊防護。也就是說,轉發集群107通過NAT連接表,實現了埠復用。
同時,由於轉發器1081,1082,1083採用Intel DPDK數據處理框架進行數據轉發,優化了數據處理過程,從而加快數據處理速率,進一步適應大流量的攻擊防護。
接著,內容伺服器103接收第二清洗流量,並對第二清洗流量進行應答處理。由於第二清洗流量的源IP位址為轉發集群107的IP位址2.2.2.2,因此內容伺服器103向轉發集群107返回處理數據,此時,處理數據的源IP位址為內容伺服器103的IP位址5.5.5.5,源埠號為內容伺服器103的埠號80,目標IP位址為轉發集群107的IP位址2.2.2.2,目標埠號為轉發集群107的埠號1024。
如步驟S107,轉發集群107接收內容伺服器103的處理數據,並將處理數據的源IP位址設置為高防設備105的IP位址,並轉發至客戶端101。步驟S107的數據流向可以參照圖3中標識所示。
具體而言,轉發集群107的交換機109接收處理數據,轉發集群根據負載均衡算法確定當前轉發器,需要注意的是,此處的當前轉發器可以是和步驟S104中相同的轉發器,也可以是不同的轉發器。為了方便說明,本實施例中當前轉發器仍是和步驟S104中相同的轉發器1081。交換機109將處理數據轉發至當前轉發器1081。當前轉發器1081通過網絡地址轉換連接表進行IP位址的轉換設置,當前轉發器1081基於目標IP位址,源IP位址在NAT連接表中進行查找。找到後,當前轉發器1081將處理數據的源IP位址被設置為高防設備105的IP位址5.5.5.5,源埠號為高防設備105埠號80,目標IP位址設置為客戶端101的IP位址3.3.3.3,目標埠號為客戶端101的埠號2222。
當前轉發器1081將設置後的處理數據轉發至客戶端101。由於客戶端101接收到的處理數據的源IP位址為高防設備105的IP位址,因此有效地隱藏了內容伺服器103的IP位址,從而避免內容伺服器103被攻擊。
從以上描述可看出,本發明所提供的分布式拒絕服務攻擊的防禦系統以及防禦方法通過基於用戶態的轉發器實現對攻擊流量的清洗以及對內容伺服器IP位址的隱藏。由於高防設備具有轉發器,轉發器採用基於用戶態的處理程序實現流量的網絡地址轉換以及傳輸,不受傳輸協議以及網絡區域範圍限制,因此高防設備能夠支持多個傳輸協議,能夠不受網絡區域範圍的限制。轉發集群採用NAT連接表從而實現埠復用,增加了並發連接數,提供大流量的DDoS防護。高防設備通過兩層清洗,有效地防止了攻擊流量對轉發器的性能影響。同時,對於內容伺服器的提供商而言,要使用發明所提供的分布式拒絕服務攻擊的防禦系統以及防禦方法,只需要改動域名解析即可,無需作出大的業務改動。
以上僅是本發明的具體應用範例,對本發明的保護範圍不構成任何限制。除上述實施例外,本發明還可以有其它實施方式。凡採用等同替換或等效變換形成的技術方案,均落在本發明所要求保護的範圍之內。