專利名稱:防御DDoS攻擊的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種防御DDoS攻擊的方法、裝置和系統(tǒng)。
背景技術(shù):
現(xiàn)有通過(guò)網(wǎng)絡(luò)對(duì)服務(wù)器進(jìn)行遠(yuǎn)程攻擊的方式中有一種為拒絕服務(wù)攻擊(Denial of Service,簡(jiǎn)稱DoS),攻擊者向服務(wù)器發(fā)送帶有虛假地址的請(qǐng)求,服務(wù)器發(fā)送回復(fù)報(bào)文到 虛假地址,然后服務(wù)器一直等待所需的回復(fù)報(bào)文。拒絕服務(wù)攻擊會(huì)占據(jù)服務(wù)器過(guò)多的資源, 從而使合法用戶無(wú)法得到服務(wù)器的響應(yīng)。由于服務(wù)器的處理能力通常較高,利用單個(gè)計(jì)算 機(jī)進(jìn)行DoS攻擊往往無(wú)法達(dá)到預(yù)期的效果,因此出現(xiàn)了分布式拒絕服務(wù)攻擊(Distributed Denial of Service,簡(jiǎn)稱DDoS)。攻擊者首先控制大量的傀儡計(jì)算機(jī),并將其中一部分傀儡 計(jì)算機(jī)設(shè)置為主控端,然后攻擊者發(fā)送攻擊指令給各個(gè)主控端,并由主控端將指令發(fā)送給 所有的傀儡計(jì)算機(jī),最后傀儡計(jì)算機(jī)對(duì)指定的服務(wù)器進(jìn)行DoS攻擊,從而造成服務(wù)器超載 或者死機(jī)。
為了防御DDoS的攻擊,現(xiàn)有防御DDoS攻擊的方案主要有兩種一種為在靠近服務(wù)器的位置部署檢測(cè)DDoS攻擊的設(shè)備。當(dāng)檢測(cè)設(shè)備發(fā)現(xiàn)流量過(guò) 載時(shí),生成一個(gè)防御消息并廣播給各個(gè)靠近用戶的防御設(shè)備。防御設(shè)備收到防御消息后,首 先對(duì)消息的有效性進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后,對(duì)異常流量進(jìn)行阻斷。另一種為在靠近服務(wù)器的地方部署一個(gè)防御DDoS攻擊的設(shè)備,由防御設(shè)備來(lái)代 理用戶和服務(wù)器之間的數(shù)據(jù)交互過(guò)程。如果防御設(shè)備和用戶之間TCP三次握手能夠順利完 成,則認(rèn)為是合法的連接請(qǐng)求,否則就是無(wú)效的連接請(qǐng)求。在實(shí)現(xiàn)上述防御DDoS攻擊的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題 第一種防御方案中,防御設(shè)備直接阻斷部分流量,會(huì)造成合法用戶無(wú)法訪問(wèn)受攻擊的服務(wù) 器。第二種防御方案中,當(dāng)DDoS攻擊的流量很大時(shí),會(huì)有大量的連接請(qǐng)求需要防御設(shè)備處 理,此時(shí)防御設(shè)備本身會(huì)發(fā)生超載或者死機(jī)。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種防御DDoS攻擊的方法、裝置、系統(tǒng),能夠在流量過(guò)載時(shí) 保證合法用戶訪問(wèn)受攻擊的服務(wù)器并且降低防御設(shè)備本身的負(fù)載。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種防御DDoS攻擊的方法,包括接收用戶訪問(wèn)目標(biāo)服務(wù)器的連接請(qǐng)求;判斷防御表中是否保存有所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí);當(dāng)防御表中保存有所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí)時(shí),將所述連接請(qǐng) 求轉(zhuǎn)發(fā)到代理服務(wù)器,以使所述代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接,并 使所述代理服務(wù)器在與所述用戶建立連接成功后,代理所述用戶與目標(biāo)服務(wù)器進(jìn)行報(bào)文交互。
一種防御DDoS攻擊的方法,包括接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求;與所述用戶進(jìn)行三次握手連接;在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接;在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù)器之間的報(bào)文。一種接入設(shè)備,包括防御消息接收模塊,用于接收來(lái)自檢測(cè)設(shè)備的防御消息,將防御消息中的目標(biāo)服 務(wù)器標(biāo)識(shí)添加到防御表中;連接請(qǐng)求轉(zhuǎn)發(fā)模塊,用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理服 務(wù)器,以使代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。一種代理服務(wù)器,包括連接請(qǐng)求接收模塊,用于接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的 連接請(qǐng)求;用戶連接模塊,用于與所述用戶進(jìn)行三次握手連接;目標(biāo)服務(wù)器連接模塊,用于在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三 次握手連接;報(bào)文轉(zhuǎn)發(fā)模塊,用于在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù) 器之間的報(bào)文。一種防御DDoS攻擊的系統(tǒng),包括檢測(cè)設(shè)備,用于向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包含 目標(biāo)服務(wù)器標(biāo)識(shí);接入設(shè)備,用于記錄目標(biāo)服務(wù)器標(biāo)識(shí),并將用戶對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到 代理服務(wù)器;代理服務(wù)器,用于代替目標(biāo)服務(wù)器與用戶三次握手連接,并完成用戶與目標(biāo)服務(wù) 器之間的報(bào)文轉(zhuǎn)發(fā)。本發(fā)明實(shí)施例提供的防御DDoS攻擊的方法、裝置和系統(tǒng),在目標(biāo)服務(wù)器受到攻擊 時(shí),只針對(duì)攻擊源所在網(wǎng)段,通過(guò)代理服務(wù)器進(jìn)行與用戶之間的握手連接,能夠在流量過(guò)載 時(shí)保證合法用戶訪問(wèn)受攻擊的服務(wù)器并且降低接入設(shè)備本身的負(fù)載。
圖1為本發(fā)明防御DDoS攻擊的方法的一個(gè)實(shí)施例的流程圖。圖2為本發(fā)明防御DDoS攻擊的方法的另一個(gè)實(shí)施例的流程圖。圖3為本發(fā)明防御DDoS攻擊的方法的另一個(gè)實(shí)施例的流程圖。圖4為本發(fā)明防御DDoS攻擊的方法的另一個(gè)完整實(shí)施例的流程圖。圖5為本發(fā)明一種檢測(cè)設(shè)備的實(shí)施例的結(jié)構(gòu)示意圖。圖6為本發(fā)明一種接入設(shè)備的實(shí)施例的結(jié)構(gòu)示意圖。圖7為本發(fā)明一種代理服務(wù)器的實(shí)施例的結(jié)構(gòu)示意圖。圖8為本發(fā)明一種防御DDoS攻擊的系統(tǒng)的實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的方法、裝置、系統(tǒng)進(jìn)行詳細(xì)描述。本發(fā)明防御DDoS攻擊的方法的一個(gè)實(shí)施例,應(yīng)用于檢測(cè)設(shè)備,如圖1所示,包括S101、在發(fā)生針對(duì)目標(biāo)服務(wù)器的DDoS攻擊時(shí),識(shí)別出攻擊源所在網(wǎng)段。用戶在訪問(wèn)目標(biāo)服務(wù)器時(shí)會(huì)發(fā)出SYN連接請(qǐng)求,檢測(cè)設(shè)備對(duì)這些SYN連接請(qǐng)求進(jìn) 行統(tǒng)計(jì),當(dāng)單位檢測(cè)時(shí)間內(nèi)SYN連接請(qǐng)求的數(shù)目到達(dá)警戒值時(shí),檢測(cè)設(shè)備檢測(cè)是否發(fā)生了 DDoS攻擊,并識(shí)別出攻擊源可能所在的網(wǎng)段。如果檢測(cè)設(shè)備檢測(cè)到某個(gè)網(wǎng)段內(nèi)的用戶對(duì)目 標(biāo)服務(wù)器的連接頻率異常增加,則判定發(fā)生了針對(duì)該目標(biāo)服務(wù)器的DDoS攻擊,該網(wǎng)段即為 攻擊源所在網(wǎng)段。其中,以上提到的單位檢測(cè)時(shí)間、警戒值和對(duì)目標(biāo)服務(wù)器的連接頻率的具 體取值可以由網(wǎng)絡(luò)管理人員根據(jù)經(jīng)驗(yàn)進(jìn)行配置。S102、向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包含目標(biāo)服務(wù) 器的標(biāo)識(shí),以使所述接入設(shè)備對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器進(jìn)行DDoS攻擊防御。所述目標(biāo)服務(wù)器標(biāo)識(shí)可以是目標(biāo)服務(wù)器的IP地址。正常情況下,用戶在訪問(wèn)目標(biāo)服務(wù)器時(shí)會(huì)發(fā)出SYN連接請(qǐng)求,目標(biāo)服務(wù)器在收到 用戶的SYN連接請(qǐng)求后,與用戶進(jìn)行三次握手連接,如果成功則雙方進(jìn)行通信。而現(xiàn)有的 DDoS攻擊恰恰利用了這一過(guò)程,發(fā)送大量虛假的SYN連接請(qǐng)求,造成目標(biāo)服務(wù)器資源耗盡 而癱瘓。本實(shí)施例通過(guò)檢測(cè)設(shè)備檢測(cè)是否出現(xiàn)DDoS攻擊,在發(fā)生DDoS攻擊時(shí),以防御消息 的形式通知接入設(shè)備對(duì)目標(biāo)服務(wù)器進(jìn)行DDoS攻擊防御,相比現(xiàn)有技術(shù)的第二種防御方式, 無(wú)需接入設(shè)備一直處于防御狀態(tài),節(jié)省了接入設(shè)備資源,減少了由于大量連接請(qǐng)求需要處 理而造成的接入設(shè)備超載或者死機(jī)。另外,本實(shí)施例只向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送 防御消息,進(jìn)一步降低了全網(wǎng)絡(luò)中對(duì)接入設(shè)備資源的消耗。本發(fā)明防御DDoS攻擊的方法的另一個(gè)實(shí)施例,應(yīng)用于接入設(shè)備,如圖2所示,包 括S201、接收來(lái)自檢測(cè)設(shè)備的防御消息,該防御消息中攜帶目標(biāo)服務(wù)器的標(biāo)識(shí),將防 御消息中的目標(biāo)服務(wù)器的標(biāo)識(shí)添加到防御表中。接入設(shè)備自身保存一個(gè)防御表,用來(lái)記錄遭到攻擊的目標(biāo)服務(wù)器的標(biāo)識(shí),所述遭 到攻擊的目標(biāo)服務(wù)器的標(biāo)識(shí)由檢測(cè)設(shè)備通過(guò)防御消息發(fā)送。S202、將用戶對(duì)防御表中目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理服務(wù)器,以使代理服 務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。接入設(shè)備接收來(lái)自用戶的連接請(qǐng)求,判斷防御表中是否保存有所述連接請(qǐng)求中攜 帶的目標(biāo)服務(wù)器的標(biāo)識(shí),當(dāng)防御表中保存有所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí)時(shí), 接入設(shè)備將該連接請(qǐng)求轉(zhuǎn)發(fā)給代理服務(wù)器,由代理服務(wù)器與用戶進(jìn)行三次握手連接;如果 所述防御表中沒(méi)有保存所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí),按正常流程將用戶的連 接請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器。其中,目標(biāo)服務(wù)器的標(biāo)識(shí)可以是目標(biāo)服務(wù)器的IP地址。上述步驟S201和S202之間并沒(méi)有執(zhí)行上的先后順序。本實(shí)施例在接入設(shè)備內(nèi)設(shè)置防御表,只將針對(duì)防御表中目標(biāo)服務(wù)器的鏈接請(qǐng)求轉(zhuǎn) 發(fā)給代理服務(wù)器,不會(huì)對(duì)其他正常的連接請(qǐng)求造成影響。
本發(fā)明防御DDoS攻擊的方法的另一個(gè)實(shí)施例,應(yīng)用于代理服務(wù)器,如圖3所示,包 括S301、接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求。S302、與所述用戶進(jìn)行三次握手連接。
用戶針對(duì)目標(biāo)服務(wù)器的SYN連接請(qǐng)求中包含目標(biāo)服務(wù)器的標(biāo)識(shí),可以是目標(biāo)服務(wù) 器的IP地址,代理服務(wù)器接收接入設(shè)備轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的SYN連接請(qǐng)求后,代 替目標(biāo)服務(wù)器向用戶發(fā)送SYN+ACK報(bào)文,并用目標(biāo)服務(wù)器的地址代替代理服務(wù)器的IP地 址,作為源地址載入發(fā)送的SYN+ACK報(bào)文。之后,代理服務(wù)器等待用戶返回的ACK回復(fù)報(bào)文, 如果代理服務(wù)器收到ACK回復(fù)報(bào)文,三次握手連接成功,進(jìn)入步驟303 ;如果代理服務(wù)器未 收到ACK回復(fù)報(bào)文,三次握手連接失敗,流程終止。S303、在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接。如果代理服務(wù)器收到用戶的ACK回復(fù)報(bào)文,判定三次握手連接成功,用戶為合法 用戶,代理服務(wù)器向目標(biāo)服務(wù)器發(fā)送SYN連接請(qǐng)求,接收目標(biāo)服務(wù)器返回的SYN+ACK報(bào)文, 然后向目標(biāo)服務(wù)器發(fā)送ACK回復(fù)報(bào)文,完成三次握手。 S304、在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù)器之間的報(bào)文。用戶與目標(biāo)服務(wù)器的報(bào)文傳輸經(jīng)過(guò)代理服務(wù)器中轉(zhuǎn),即用戶發(fā)送給目標(biāo)服務(wù)器的 報(bào)文由代理服務(wù)器轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器;目標(biāo)服務(wù)器發(fā)送給用戶的報(bào)文由代理服務(wù)器轉(zhuǎn)發(fā)給 用戶。本實(shí)施例通過(guò)代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接,降低了目標(biāo) 服務(wù)器受到攻擊的風(fēng)險(xiǎn),提高了系統(tǒng)安全性。本發(fā)明防御DDoS攻擊的方法的另一個(gè)完整實(shí)施例,如圖4所示,包括S401、檢測(cè)設(shè)備在發(fā)生針對(duì)目標(biāo)服務(wù)器的DDoS攻擊時(shí),識(shí)別出攻擊源所在網(wǎng)段。比如,一個(gè)惡意訪客通過(guò)計(jì)算機(jī)網(wǎng)吧Y中的一臺(tái)電腦作為攻擊終端,以用戶X的身 份向目標(biāo)服務(wù)器A不斷發(fā)出SYN連接請(qǐng)求(比如每分鐘5千次)且不對(duì)目標(biāo)服務(wù)器A返回 的SYN+ACK報(bào)文進(jìn)行回應(yīng),意圖大量消耗目標(biāo)服務(wù)器A的系統(tǒng)資源以達(dá)到攻擊目的。檢測(cè) 設(shè)備檢測(cè)到單位檢測(cè)時(shí)間內(nèi)(比如5分鐘)針對(duì)目標(biāo)服務(wù)器A的SYN連接請(qǐng)求的數(shù)目非常 高(比如5萬(wàn)次),已經(jīng)超過(guò)了警戒值(1萬(wàn)次),檢測(cè)設(shè)備進(jìn)一步檢測(cè)哪個(gè)網(wǎng)段對(duì)目標(biāo)服務(wù) 器A的SYN連接請(qǐng)求的頻率已經(jīng)達(dá)到常規(guī)的認(rèn)為已經(jīng)發(fā)生DDoS攻擊的頻率(比如每分鐘1 千次),這時(shí)檢測(cè)設(shè)備檢測(cè)到計(jì)算機(jī)網(wǎng)吧Y所在的網(wǎng)段可能發(fā)生DDoS攻擊(現(xiàn)有檢測(cè)設(shè)備 不能直接查出進(jìn)行DDoS攻擊的用戶,但是能查到發(fā)生DDoS攻擊的用戶所在網(wǎng)段這一層)。S402、檢測(cè)設(shè)備向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包含 目標(biāo)服務(wù)器的標(biāo)識(shí)。檢測(cè)設(shè)備向計(jì)算機(jī)網(wǎng)吧Y所在的網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包 含目標(biāo)服務(wù)器A的標(biāo)識(shí),該標(biāo)識(shí)可以是IP地址。S403、接入設(shè)備接收來(lái)自檢測(cè)設(shè)備的防御消息,將防御消息中的目標(biāo)服務(wù)器的標(biāo) 識(shí)添加到防御表中。具體可以是接入設(shè)備將目標(biāo)服務(wù)器A的IP地址存入防御表。S404、接入設(shè)備將用戶對(duì)防御表中的標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代 理服務(wù)器,以使代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。
接入設(shè)備將后續(xù)計(jì)算機(jī)網(wǎng)吧Y所在的網(wǎng)段的所有用戶訪問(wèn)目標(biāo)服務(wù)器A的SYN連 接請(qǐng)求都轉(zhuǎn)發(fā)給代理服務(wù)器B,由代理服務(wù)器B代替目標(biāo)服務(wù)器A與用戶進(jìn)行三次握手連 接。本實(shí)施例中,接入設(shè)備將針對(duì)防御表中所有目標(biāo)服務(wù)器的連接請(qǐng)求都轉(zhuǎn)發(fā)到同一個(gè)代 理服務(wù)器B,由代理服務(wù)器B轉(zhuǎn)發(fā)給各目標(biāo)服務(wù)器。實(shí)際應(yīng)用中,接入設(shè)備可以根據(jù)系統(tǒng)設(shè) 定或者路由選取規(guī)則將用戶發(fā)送的針對(duì)防御表中某一個(gè)或某幾個(gè)目標(biāo)服務(wù)器的連接請(qǐng)求 及以后的報(bào)文通過(guò)兩個(gè)或兩個(gè)以上代理服務(wù)器分別轉(zhuǎn)發(fā)。其中,系統(tǒng)設(shè)定或者路由選取規(guī) 則可以是本領(lǐng)域常用的規(guī)則,比如,根據(jù)用戶訪問(wèn)優(yōu)先級(jí)將不同用戶的連接請(qǐng)求和報(bào)文轉(zhuǎn) 發(fā)給不同的代理服務(wù)器;或者根據(jù)每個(gè)目標(biāo)服務(wù)器目前的訪問(wèn)量不同將針對(duì)不同目標(biāo)服務(wù) 器的連接請(qǐng)求和報(bào)文轉(zhuǎn)發(fā)給不同的代理服務(wù)器。S405、代理服務(wù)器接收接入設(shè)備轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求。S406、代理服務(wù)器與所述用戶進(jìn)行三次握手連接。代理服務(wù)器B與包括用戶X在內(nèi)的計(jì)算機(jī)網(wǎng)吧Y所在的網(wǎng)段的訪問(wèn)目標(biāo)服務(wù)器A
的各用戶逐一進(jìn)行三次握手。在握手過(guò)程中,代理服務(wù)器B以目標(biāo)服務(wù)器A的IP地址作為源地址向各用戶返回 SYN+ACK報(bào)文,并等待用戶返回的ACK回復(fù)報(bào)文。由于用戶X是惡意訪客,只發(fā)出SYN連接 請(qǐng)求,不對(duì)代理服務(wù)器B返回的SYN+ACK報(bào)文進(jìn)行回應(yīng),所以代理服務(wù)器B與用戶X的握手 必然不成功,用戶X將無(wú)法連接到目標(biāo)服務(wù)器,也就避免了用戶X對(duì)目標(biāo)服務(wù)器的攻擊。S407、在與用戶三次握手連接成功后,代理服務(wù)器與目標(biāo)服務(wù)器進(jìn)行三次握手連 接。假設(shè)除了 X的其它用戶都是正常連接,代理服務(wù)器B接收接入設(shè)備轉(zhuǎn)發(fā)的其他用 戶針對(duì)目標(biāo)服務(wù)器A的SYN連接請(qǐng)求后,代替目標(biāo)服務(wù)器A向用戶發(fā)送SYN+ACK報(bào)文,并用 目標(biāo)服務(wù)器A的IP地址代替代理服務(wù)器B的IP地址,作為源地址載入發(fā)送的SYN+ACK報(bào) 文。之后,如果代理服務(wù)器B收到某個(gè)用戶的ACK回復(fù)報(bào)文,代理服務(wù)器B與該用戶的三次 握手連接成功。之后,代理服務(wù)器B向目標(biāo)服務(wù)器A發(fā)送SYN連接請(qǐng)求,接收目標(biāo)服務(wù)器A 返回的SYN+ACK報(bào)文,然后向目標(biāo)服務(wù)器A發(fā)送ACK回復(fù)報(bào)文,完成三次握手。S408、代理服務(wù)器在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù)器 之間的報(bào)文。轉(zhuǎn)發(fā)的具體過(guò)程為用戶發(fā)送給目標(biāo)服務(wù)器A的報(bào)文先發(fā)送到接入設(shè)備,接入設(shè) 備在防御表中查找到目標(biāo)服務(wù)器A的標(biāo)識(shí),并且代理服務(wù)器B為目標(biāo)服務(wù)器A的代理服務(wù) 器,接入設(shè)備將用戶發(fā)送給目標(biāo)服務(wù)器A的報(bào)文轉(zhuǎn)發(fā)給代理服務(wù)器B,代理服務(wù)器B將該報(bào) 文再轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器A。之后,目標(biāo)服務(wù)器A發(fā)送給用戶的報(bào)文先通過(guò)接入設(shè)備發(fā)送給代 理服務(wù)器B,代理服務(wù)器B修改報(bào)文的目的IP地址為用戶的IP地址后,將所述報(bào)文發(fā)送給 接入設(shè)備,接入設(shè)備將所述報(bào)文發(fā)送給用戶。S409、代理服務(wù)器統(tǒng)計(jì)單位時(shí)間內(nèi)用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求,如果少于攻擊閾值,向接入設(shè)備發(fā)送防御解除消息,所述防御解除消息包含需要解除DDoS攻擊防御的 目標(biāo)服務(wù)器的標(biāo)識(shí)。代理服務(wù)器B統(tǒng)計(jì)單位時(shí)間內(nèi)(比如10分鐘),所有用戶針對(duì)目標(biāo)服務(wù)器A的連 接請(qǐng)求是否少于攻擊閾值(比如4萬(wàn)次),向接入設(shè)備發(fā)送防御解除消息,所述防御解除消 息包含目標(biāo)服務(wù)器A的IP地址。其中,攻擊閾值為經(jīng)驗(yàn)值或統(tǒng)計(jì)值,可人為設(shè)置。
S410、接入設(shè)備接收來(lái)自代理服務(wù)器的防御解除消息。S411、接入設(shè)備根據(jù)所述防御解除消息刪除防御表中的目標(biāo)服務(wù)器的標(biāo)識(shí),解除 對(duì)該標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的DDoS攻擊防御。防御解除之后,接入設(shè)備將用戶發(fā)送的SYN連接請(qǐng)求直接發(fā)送給目標(biāo)服務(wù)器A,由 目標(biāo)服務(wù)器A與用戶進(jìn)行三次握手連接,三次握手連接成功后,用戶與目標(biāo)服務(wù)器A之間的 報(bào)文僅通過(guò)接入設(shè)備轉(zhuǎn)發(fā)。
本實(shí)施例通過(guò)檢測(cè)設(shè)備檢測(cè)是否出現(xiàn)DDoS攻擊,在發(fā)生DDoS攻擊時(shí),以防御消息 的形式通知攻擊源所在網(wǎng)段的接入設(shè)備對(duì)目標(biāo)服務(wù)器進(jìn)行DDoS攻擊防御。本實(shí)施例在接 入設(shè)備內(nèi)設(shè)置防御表,只針對(duì)防御表中的標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)給代理服 務(wù)器,不會(huì)對(duì)其他正常的連接請(qǐng)求造成影響,防御更加準(zhǔn)確,更有針對(duì)性。并且,本實(shí)施例無(wú) 需接入設(shè)備一直處于防御狀態(tài),節(jié)省了接入設(shè)備資源,減少了由于大量連接請(qǐng)求需要處理 而造成的接入設(shè)備超載或者死機(jī)。另外,本實(shí)施例只向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防 御消息,進(jìn)一步降低了對(duì)全網(wǎng)絡(luò)中接入設(shè)備資源的消耗。本實(shí)施例通過(guò)代理服務(wù)器代替目 標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接,降低了目標(biāo)服務(wù)器受到攻擊的風(fēng)險(xiǎn),提高了系統(tǒng)安全 性。對(duì)應(yīng)圖1所示的方法實(shí)施例,本發(fā)明還提供一種檢測(cè)設(shè)備的實(shí)施例,如圖5所示, 包括識(shí)別模塊51,用于在發(fā)生針對(duì)目標(biāo)服務(wù)器的DDoS攻擊時(shí),識(shí)別出攻擊源所在網(wǎng) 段。防御消息發(fā)送模塊52,用于向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防 御消息包含目標(biāo)服務(wù)器標(biāo)識(shí),以使所述接入設(shè)備對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器進(jìn)行防御。對(duì)應(yīng)圖2所示的方法實(shí)施例,本發(fā)明還提供一種接入設(shè)備的實(shí)施例,如圖6所示, 包括防御消息接收模塊61,用于接收來(lái)自檢測(cè)設(shè)備的防御消息,將防御消息中的目標(biāo) 服務(wù)器標(biāo)識(shí)添加到防御表中。連接請(qǐng)求轉(zhuǎn)發(fā)模塊62,用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理 服務(wù)器,以使代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。進(jìn)一步的,以上實(shí)施例還可以包括報(bào)文轉(zhuǎn)發(fā)模塊63,用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文轉(zhuǎn)發(fā)到代理服務(wù) 器,將代理服務(wù)器轉(zhuǎn)發(fā)的來(lái)自防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文發(fā)送給用戶。防御解除消息接收模塊64,用于接收來(lái)自代理服務(wù)器的防御解除消息。防御解除模塊65,用于根據(jù)所述防御解除消息刪除防御表中的目標(biāo)服務(wù)器標(biāo)識(shí), 并解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防御。對(duì)應(yīng)圖3所示的方法實(shí)施例,本發(fā)明還提供一種代理服務(wù)器的實(shí)施例,如圖7所 示,包括連接請(qǐng)求接收模塊71,用于接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器 的連接請(qǐng)求。用戶連接模塊72,用于與所述用戶進(jìn)行三次握手連接。目標(biāo)服務(wù)器連接模塊73,用于在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接。 報(bào)文轉(zhuǎn)發(fā)模塊74,用于在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服 務(wù)器之間的報(bào)文。進(jìn)一步的,以上實(shí)施例還可以包括防御解除消息發(fā)送模塊75,用于統(tǒng)計(jì)單位時(shí)間內(nèi)用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求 少于攻擊閾值,向接入設(shè)備發(fā)送防御解除消息,所述防御解除消息包含解除防御的目標(biāo)服 務(wù)器標(biāo)識(shí),以使接入設(shè)備解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防 御。對(duì)應(yīng)圖4所示的方法實(shí)施例,本發(fā)明還提供一種防御DDoS攻擊的系統(tǒng)的實(shí)施例, 如圖8所示,包括檢測(cè)設(shè)備81,用于向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包 含目標(biāo)服務(wù)器標(biāo)識(shí)。接入設(shè)備82,用于記錄目標(biāo)服務(wù)器標(biāo)識(shí),并將用戶對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā) 到代理服務(wù)器。代理服務(wù)器83,用于代替目標(biāo)服務(wù)器與用戶三次握手連接,并完成用戶與目標(biāo)服 務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。對(duì)應(yīng)圖1所示的方法實(shí)施例,檢測(cè)設(shè)備81用于在發(fā)生針對(duì)目標(biāo)服務(wù)器的DDoS攻 擊時(shí),識(shí)別出攻擊源所在網(wǎng)段,并向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消 息包含目標(biāo)服務(wù)器標(biāo)識(shí),以使所述接入設(shè)備對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器進(jìn)行防御。對(duì)應(yīng)圖2所示的方法實(shí)施例,接入設(shè)備82用于接收來(lái)自檢測(cè)設(shè)備的防御消息,將 防御消息中的目標(biāo)服務(wù)器標(biāo)識(shí)添加到防御表中,并將用戶對(duì)防御表中目標(biāo)服務(wù)器的連接請(qǐng) 求轉(zhuǎn)發(fā)到代理服務(wù)器,以使代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。此外,接 入設(shè)備82還用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文轉(zhuǎn)發(fā)到代理服務(wù)器,將代理服 務(wù)器轉(zhuǎn)發(fā)的來(lái)自防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文發(fā)送給用戶。進(jìn)一步的,接入設(shè)備82還用 于接收來(lái)自代理服務(wù)器的防御解除消息,根據(jù)所述防御解除消息刪除防御表中的目標(biāo)服務(wù) 器標(biāo)識(shí),并解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防御。對(duì)應(yīng)圖3所示的方法實(shí)施例,代理服務(wù)器83用于接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的 用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求,之后與所述用戶進(jìn)行三次握手連接。在與用戶三次握手 連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接。在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā) 用戶與目標(biāo)服務(wù)器之間的報(bào)文。此外,代理服務(wù)器83還用于統(tǒng)計(jì)單位時(shí)間內(nèi)用戶針對(duì)目標(biāo) 服務(wù)器的連接請(qǐng)求,如果連接請(qǐng)求次數(shù)少于攻擊閾值,向接入設(shè)備發(fā)送防御解除消息,所述 防御解除消息包含解除防御的目標(biāo)服務(wù)器標(biāo)識(shí),以使接入設(shè)備解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù) 器的防御。本發(fā)明提供的防御DDoS攻擊的裝置和系統(tǒng)實(shí)施例,在目標(biāo)服務(wù)器受到攻擊時(shí),只 針對(duì)攻擊源所在網(wǎng)段,通過(guò)代理服務(wù)器進(jìn)行與用戶之間的握手連接,能夠在流量過(guò)載時(shí)保 證合法用戶訪問(wèn)受攻擊的服務(wù)器并且降低防御設(shè)備本身的負(fù)載。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁 碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。 以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種防御DDoS攻擊的方法,其特征在于,包括接收用戶訪問(wèn)目標(biāo)服務(wù)器的連接請(qǐng)求;判斷防御表中是否保存有所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí);當(dāng)防御表中保存有所述連接請(qǐng)求中攜帶的目標(biāo)服務(wù)器的標(biāo)識(shí)時(shí),將所述連接請(qǐng)求轉(zhuǎn)發(fā)到代理服務(wù)器,以使所述代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接,并使所述代理服務(wù)器在與所述用戶建立連接成功后,代理所述用戶與目標(biāo)服務(wù)器進(jìn)行報(bào)文交互。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括將所述用戶發(fā)送給所述目標(biāo)服務(wù)器的后續(xù)報(bào)文轉(zhuǎn)發(fā)到所述代理服務(wù)器,將所述代理服 務(wù)器轉(zhuǎn)發(fā)的來(lái)自所述目標(biāo)服務(wù)器的后續(xù)報(bào)文發(fā)送給所述用戶。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,還包括接收來(lái)自檢測(cè)設(shè)備的防御消息,該防御消息中攜帶需要進(jìn)行DDoS防御的目標(biāo)服務(wù)器 的標(biāo)識(shí);當(dāng)所述防御表中沒(méi)有保存所述目標(biāo)服務(wù)器的標(biāo)識(shí)時(shí),將所述目標(biāo)服務(wù)器的標(biāo)識(shí)添加到 所述防御表中;對(duì)所述防御表中的標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器進(jìn)行DDoS攻擊防御。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括接收來(lái)自所述代理服務(wù)器的防御解除消息,所述防御解除消息中攜帶目標(biāo)服務(wù)器的標(biāo)識(shí);根據(jù)所述防御解除消息解除對(duì)所述標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的DDoS攻擊防御。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述目標(biāo)服務(wù)器標(biāo)識(shí)為目標(biāo)服務(wù)器IP地址。
6.一種防御DDoS攻擊的方法,其特征在于,包括接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求; 與所述用戶進(jìn)行三次握手連接;在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接; 在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù)器之間的報(bào)文。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括統(tǒng)計(jì)單位時(shí)間內(nèi)用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求,如果少于攻擊閾值,向接入設(shè)備發(fā) 送防御解除消息,所述防御解除消息包含解除防御的目標(biāo)服務(wù)器的標(biāo)識(shí),以使接入設(shè)備解 除對(duì)所述標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的DDoS攻擊防御。
8.一種接入設(shè)備,其特征在于,包括防御消息接收模塊,用于接收來(lái)自檢測(cè)設(shè)備的防御消息,將防御消息中的目標(biāo)服務(wù)器 標(biāo)識(shí)添加到防御表中;連接請(qǐng)求轉(zhuǎn)發(fā)模塊,用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理服務(wù) 器,以使代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接。
9.根據(jù)權(quán)利要求8所述的接入設(shè)備,其特征在于,還包括報(bào)文轉(zhuǎn)發(fā)模塊,用于將用戶對(duì)防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文轉(zhuǎn)發(fā)到代理服務(wù)器,將 代理服務(wù)器轉(zhuǎn)發(fā)的來(lái)自防御表中目標(biāo)服務(wù)器的后續(xù)報(bào)文發(fā)送給用戶。
10.根據(jù)權(quán)利要求8所述的接入設(shè)備,其特征在于,還包括防御解除消息接收模塊,用于接收來(lái)自代理服務(wù)器的防御解除消息;防御解除模塊,用于根據(jù)所述防御解除消息刪除防御表中的目標(biāo)服務(wù)器標(biāo)識(shí),以解除 對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防御。
11.一種代理服務(wù)器,其特征在于,包括連接請(qǐng)求接收模塊,用于接收接入設(shè)備根據(jù)防御表轉(zhuǎn)發(fā)的用戶針對(duì)目標(biāo)服務(wù)器的連接 請(qǐng)求;用戶連接模塊,用于與所述用戶進(jìn)行三次握手連接;目標(biāo)服務(wù)器連接模塊,用于在與用戶三次握手連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握 手連接;報(bào)文轉(zhuǎn)發(fā)模塊,用于在與目標(biāo)服務(wù)器三次握手連接成功后,轉(zhuǎn)發(fā)用戶與目標(biāo)服務(wù)器之 間的報(bào)文。
12.根據(jù)權(quán)利要求11所述的代理服務(wù)器,其特征在于,還包括防御解除消息發(fā)送模塊,用于統(tǒng)計(jì)單位時(shí)間內(nèi)用戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求,如果 少于攻擊閾值,向接入設(shè)備發(fā)送防御解除消息,所述防御解除消息包含解除防御的目標(biāo)服 務(wù)器標(biāo)識(shí),以使接入設(shè)備解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防御,從防御表中刪除目標(biāo)服務(wù) 器對(duì)應(yīng)的表項(xiàng)。
13.一種防御DDoS攻擊的系統(tǒng),其特征在于,包括檢測(cè)設(shè)備,用于向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包含目標(biāo) 服務(wù)器標(biāo)識(shí);接入設(shè)備,用于記錄目標(biāo)服務(wù)器標(biāo)識(shí),并將用戶對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理 服務(wù)器;代理服務(wù)器,用于代替目標(biāo)服務(wù)器與用戶三次握手連接,并完成用戶與目標(biāo)服務(wù)器之 間的報(bào)文轉(zhuǎn)發(fā)。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,檢測(cè)設(shè)備還用于在發(fā)生針對(duì)目標(biāo)服務(wù) 器的DDoS攻擊時(shí),識(shí)別出攻擊源所在網(wǎng)段。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,接入設(shè)備還用于完成代理服務(wù)器與目 標(biāo)服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,接入設(shè)備還用于根據(jù)來(lái)自代理服務(wù)器 的防御解除消息刪除防御表中的目標(biāo)服務(wù)器標(biāo)識(shí),并解除對(duì)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)服務(wù)器的防 御。
17.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,代理服務(wù)器還用于在與用戶三次握手 連接成功后,與目標(biāo)服務(wù)器進(jìn)行三次握手連接。
18.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,代理服務(wù)器還用于統(tǒng)計(jì)單位時(shí)間內(nèi)用 戶針對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求,如果連接請(qǐng)求次數(shù)少于攻擊閾值,向接入設(shè)備發(fā)送防御解 除消息,所述防御解除消息包含解除防御的目標(biāo)服務(wù)器標(biāo)識(shí),以使接入設(shè)備解除對(duì)標(biāo)識(shí)對(duì) 應(yīng)的目標(biāo)服務(wù)器的防御。
全文摘要
本發(fā)明公開了一種防御DDoS攻擊的方法、裝置和系統(tǒng),涉及通信領(lǐng)域,為解決現(xiàn)有技術(shù)不能在流量過(guò)載時(shí)保證合法用戶訪問(wèn)受攻擊的服務(wù)器并且防御設(shè)備本身負(fù)載高的問(wèn)題而發(fā)明。在本發(fā)明實(shí)施例中,檢測(cè)設(shè)備向攻擊源所在網(wǎng)段的接入設(shè)備發(fā)送防御消息,所述防御消息包含目標(biāo)服務(wù)器標(biāo)識(shí);接入設(shè)備記錄目標(biāo)服務(wù)器標(biāo)識(shí),并將用戶對(duì)目標(biāo)服務(wù)器的連接請(qǐng)求轉(zhuǎn)發(fā)到代理服務(wù)器;代理服務(wù)器代替目標(biāo)服務(wù)器與用戶進(jìn)行三次握手連接,并完成用戶與目標(biāo)服務(wù)器之間的報(bào)文轉(zhuǎn)發(fā)。本發(fā)明適用于計(jì)算機(jī)網(wǎng)絡(luò)。
文檔編號(hào)H04L12/56GK101834875SQ201010184700
公開日2010年9月15日 申請(qǐng)日期2010年5月27日 優(yōu)先權(quán)日2010年5月27日
發(fā)明者張波, 賈伊迪普·斯里瓦斯塔瓦 申請(qǐng)人:華為技術(shù)有限公司