專利名稱:查詢請(qǐng)求報(bào)文處理方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,特別涉及一種查詢請(qǐng)求報(bào)文處理方法、裝置及 系統(tǒng)。
背景技術(shù):
域名系統(tǒng)(Domain Name System, DNS)是一種以層次結(jié)構(gòu)分布的命名系統(tǒng)。在 如互聯(lián)網(wǎng)hternet之類的傳輸控制協(xié)議/網(wǎng)間協(xié)議CTransmissionControl Protocol/ Internet Protocol,TCP/IP)網(wǎng)絡(luò)中,使用DNS名字來定位計(jì)算機(jī),如果在應(yīng)用程序中輸入 DNS名,就可以由DNS服務(wù)器中的數(shù)據(jù)庫提供包括IP地址在內(nèi)的與名稱相關(guān)的信息??蛻舳撕陀蛎?wù)器(DNS服務(wù)器)之間一般是使用用戶數(shù)據(jù)報(bào)協(xié)議 (UserDatagram Protocol, UDP)傳輸報(bào)文,在UDP傳輸方式下,客戶端存在重傳機(jī)制,在沒 有收到服務(wù)器的響應(yīng)報(bào)文后會(huì)重復(fù)向DNS服務(wù)器發(fā)送報(bào)文。由于UDP方式不采用建立連接 方式進(jìn)行通信,也沒有連接握手等機(jī)制,因此DNS服務(wù)器容易在網(wǎng)絡(luò)上遭受攻擊。現(xiàn)有技術(shù) 中一般通過在DNS服務(wù)器和客戶端之間設(shè)置防火墻進(jìn)行安全防護(hù),例如通過預(yù)先建立的攻 擊特征庫,對(duì)訪問DNS服務(wù)器的報(bào)文進(jìn)行單包或多包特征匹配來進(jìn)行防范,允許正常報(bào)文 通過,并過濾掉攻擊報(bào)文。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),可能由于特殊原因,或是攻擊,或者網(wǎng)絡(luò)故 障,會(huì)出現(xiàn)針對(duì)同一 DNS服務(wù)器的大規(guī)模正常的、真實(shí)客戶機(jī)的DNS爆發(fā)式請(qǐng)求,所述的正 常的真實(shí)客戶機(jī)的DNS請(qǐng)求為真實(shí)客戶機(jī)發(fā)起的、并且是查詢實(shí)際域名的DNS請(qǐng)求,在這些 情況下,可能導(dǎo)致該DNS服務(wù)器堵塞,工作穩(wěn)定性降低,甚至造成DNS服務(wù)器癱瘓,引發(fā)大規(guī) 模的網(wǎng)絡(luò)故障,導(dǎo)致網(wǎng)絡(luò)服務(wù)質(zhì)量下降。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種查詢請(qǐng)求報(bào)文處理方法、裝置及系統(tǒng),能夠提高DNS服務(wù) 器的工作穩(wěn)定性,增強(qiáng)DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。本發(fā)明實(shí)施例提供一種查詢請(qǐng)求報(bào)文處理方法,包括接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);若驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī),則獲取對(duì)應(yīng)于所述查詢請(qǐng)求 報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;根據(jù)所述訪問統(tǒng)計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理,所述閾值用于標(biāo)識(shí) 允許同時(shí)訪問所述域名服務(wù)器的最大次數(shù)。本發(fā)明實(shí)施例提供一種查詢請(qǐng)求報(bào)文處理裝置,包括接收模塊,用于接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;驗(yàn)證模塊,用于驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);獲取模塊,用于若通過所述驗(yàn)證模塊驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī),則獲取對(duì)應(yīng)于所述查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;處理模塊,用于根據(jù)所述訪問統(tǒng)計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理,所 述閾值用于標(biāo)識(shí)允許同時(shí)訪問所述域名服務(wù)器的最大次數(shù)。本發(fā)明實(shí)施例提供一種查詢請(qǐng)求報(bào)文處理系統(tǒng),包括用于發(fā)送查詢請(qǐng)求報(bào)文的客 戶機(jī),以及對(duì)應(yīng)于所述查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器,還包括上述的查詢請(qǐng)求報(bào)文處理裝置。本發(fā)明實(shí)施例提供的查詢請(qǐng)求報(bào)文處理方法、裝置及系統(tǒng)中,查詢請(qǐng)求報(bào)文處理 裝置例如網(wǎng)關(guān)在接收到符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文后,通過驗(yàn)證獲知所述查詢請(qǐng)求 報(bào)文是否來源于真實(shí)的客戶機(jī),再根據(jù)預(yù)設(shè)的閾值來限制真實(shí)客戶機(jī)同時(shí)訪問DNS服務(wù)器 的最大次數(shù),防止因同時(shí)出現(xiàn)大規(guī)模DNS請(qǐng)求而造成DNS服務(wù)器發(fā)生堵塞甚至癱瘓,提高了 DNS服務(wù)器的工作穩(wěn)定性,保障網(wǎng)絡(luò)服務(wù)質(zhì)量,增強(qiáng)了 DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明查詢請(qǐng)求報(bào)文處理方法實(shí)施例一流程圖;圖2為本發(fā)明實(shí)施例中DNS協(xié)議定義的報(bào)文格式示意圖;圖3為本發(fā)明實(shí)施例中DNS協(xié)議定義的報(bào)文中標(biāo)志字段格式的示意圖;圖4為本發(fā)明實(shí)施例中DNS協(xié)議定義的“QUESTION”部分格式示意圖;圖5為本發(fā)明實(shí)施例中DNS協(xié)議定義的DNS資源記錄部分格式示意圖;圖6為本發(fā)明查詢請(qǐng)求報(bào)文處理方法實(shí)施例二流程圖;圖7為本發(fā)明查詢請(qǐng)求報(bào)文處理裝置實(shí)施例一結(jié)構(gòu)示意圖;圖8為本發(fā)明查詢請(qǐng)求報(bào)文處理裝置實(shí)施例二結(jié)構(gòu)示意圖;圖9為本發(fā)明查詢請(qǐng)求報(bào)文處理系統(tǒng)實(shí)施例組成示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例針對(duì)現(xiàn)有技術(shù)中,在對(duì)同一 DNS服務(wù)器的大規(guī)模正常的、真實(shí)客戶 機(jī)的DNS爆發(fā)式請(qǐng)求的情況下,導(dǎo)致該DNS服務(wù)器堵塞,工作穩(wěn)定性降低等缺陷,提供一種 解決方式即利用DNS的應(yīng)用層分析來發(fā)現(xiàn)大規(guī)模請(qǐng)求異常,并采用動(dòng)態(tài)策略來過濾異常流 量從而保護(hù)后面的DNS服務(wù)器,所述的正常的真實(shí)客戶機(jī)的DNS請(qǐng)求為真實(shí)客戶機(jī)發(fā)起的、 并且是查詢實(shí)際域名的DNS請(qǐng)求。具體可以是在DNS服務(wù)器前端,也就是在客戶機(jī)與DNS服務(wù)器之間設(shè)置一分布式 拒絕服務(wù)攻擊防護(hù)裝置,該分布式拒絕服務(wù)攻擊防護(hù)裝置可以為一個(gè)獨(dú)立的設(shè)備,也可以 設(shè)置在網(wǎng)關(guān)等設(shè)備上,通過該保護(hù)裝置對(duì)客戶機(jī)發(fā)送的查詢請(qǐng)求報(bào)文的格式,以及該客戶 機(jī)是否為真實(shí)客戶機(jī)進(jìn)行驗(yàn)證,并在驗(yàn)證獲知查詢請(qǐng)求報(bào)文符合域名系統(tǒng)格式,并且來源 于真實(shí)客戶機(jī)后,通過預(yù)定的允許同時(shí)訪問所述域名服務(wù)器的最大次數(shù)對(duì)同時(shí)訪問同一 DNS服務(wù)器的查詢請(qǐng)求報(bào)文進(jìn)行控制處理,完成DDOS防護(hù)功能。本發(fā)明實(shí)施例提供的解決方案不但可以對(duì)不符合域名系統(tǒng)格式和非真實(shí)客戶機(jī)的查詢請(qǐng)求報(bào)文,進(jìn)行過濾處理,而 且還可以對(duì)由符合域名系統(tǒng)格式、且來源于真實(shí)客戶機(jī)的查詢請(qǐng)求報(bào)文的洪水攻擊進(jìn)行處 理,有效地實(shí)現(xiàn)對(duì)后續(xù)的DNS服務(wù)器的保護(hù),克服了大規(guī)模正常DNS請(qǐng)求造成的DNS服務(wù)器 癱瘓的缺陷,提高了 DNS服務(wù)器的工作穩(wěn)定性。圖1為本發(fā)明查詢請(qǐng)求報(bào)文處理方法實(shí)施例一流程圖,如圖1所示,該方法包括步驟100,接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;設(shè)置于數(shù)個(gè)客戶機(jī)和DNS服務(wù)器之間的查詢請(qǐng)求報(bào)文處理裝置即上述的分布式 拒絕服務(wù)攻擊防護(hù)裝置,首先接收客戶機(jī)發(fā)往DNS服務(wù)器的查詢請(qǐng)求報(bào)文,然后對(duì)該查詢 請(qǐng)求報(bào)文的格式進(jìn)行驗(yàn)證檢驗(yàn)是否符合DNS格式,只有符合DNS格式的查詢請(qǐng)求報(bào)文才被 處理,這樣可以避免一些隨機(jī)的UDP洪水攻擊。如果通過驗(yàn)證獲知,該查詢請(qǐng)求報(bào)文的格式 不符合DNS格式,則可以直接丟棄該查詢請(qǐng)求報(bào)文而不做其他處理,或者向發(fā)送該查詢請(qǐng) 求報(bào)文的客戶機(jī)返回拒絕放行的應(yīng)答報(bào)文等。步驟101,驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);查詢請(qǐng)求報(bào)文處理裝置在驗(yàn)證獲知客戶機(jī)發(fā)送的查詢請(qǐng)求報(bào)文的格式符合DNS 格式后,還要繼續(xù)驗(yàn)證該查詢請(qǐng)求報(bào)文是否來源真實(shí)的客戶機(jī),而不是由一些非法的,偽造 的客戶機(jī)發(fā)送的,為了保證DNS服務(wù)器的安全,應(yīng)僅對(duì)來至于真實(shí)客戶機(jī)的詢請(qǐng)求報(bào)文進(jìn) 行處理,對(duì)于那些由非法客戶機(jī)發(fā)送的攻擊報(bào)文應(yīng)予以拒絕。步驟102,若驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī),則獲取對(duì)應(yīng)于所述 查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;查詢請(qǐng)求報(bào)文處理裝置通過上述的兩步判斷后,若獲知接收到的查詢請(qǐng)求報(bào)文符 合NDS格式,且來源于真實(shí)客戶機(jī)后,表明該查詢請(qǐng)求報(bào)文可以被處理。這樣便將不符合 DNS格式,或者來源于非真實(shí)客戶機(jī)的查詢請(qǐng)求報(bào)文濾除掉了,實(shí)現(xiàn)了 DNS服務(wù)器的初步保 護(hù)。為了進(jìn)一步確保DNS服務(wù)器不受大規(guī)模正常的、真實(shí)客戶機(jī)的DNS爆發(fā)式請(qǐng)求的 攻擊,本實(shí)施例中還要實(shí)施進(jìn)一步的防護(hù)措施,具體可以是根據(jù)實(shí)際情況和經(jīng)驗(yàn)值,預(yù)先在 查詢請(qǐng)求報(bào)文處理裝置上設(shè)置一閾值,該閾值用于標(biāo)識(shí)允許同時(shí)訪問DNS服務(wù)器的最大次 數(shù),也就是說,該閾值限定了同時(shí)訪問DNS服務(wù)器所允許的最大值,若同時(shí)訪問的次數(shù)小于 或等于該閾值,則可以保證該DNS服務(wù)器的正常工作;若同時(shí)訪問的次數(shù)大于該閾值,則不 能保證該DNS服務(wù)器的正常工作,有可能造成該DNS服務(wù)器的堵塞、癱瘓等,引發(fā)大規(guī)模的 網(wǎng)絡(luò)故障,導(dǎo)致網(wǎng)絡(luò)服務(wù)質(zhì)量下降。具體的,每一個(gè)DNS服務(wù)器均可以對(duì)應(yīng)有一個(gè)閾值,根據(jù)DNS服務(wù)器處理能力的不 同,對(duì)應(yīng)的閾值也可以不同。具體的,查詢請(qǐng)求報(bào)文處理裝置可以對(duì)訪問同一 DNS服務(wù)器的 所有請(qǐng)求進(jìn)行統(tǒng)計(jì)并記錄,得到對(duì)應(yīng)于每一個(gè)DNS服務(wù)器的訪問統(tǒng)計(jì)信息。而且,每增加一 次對(duì)該DNS服務(wù)器的訪問,就要同步更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息例如作加一處理;當(dāng)然當(dāng)一 次訪問結(jié)束后,也要同步更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息例如作減一處理等。查詢請(qǐng)求報(bào)文處理 裝置中記錄的DNS服務(wù)器的訪問統(tǒng)計(jì)信息,可以表明當(dāng)前同時(shí)訪問該DNS服務(wù)器的統(tǒng)計(jì)次 數(shù)。步驟103,根據(jù)所述訪問統(tǒng)計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理,所述閾值 用于標(biāo)識(shí)允許同時(shí)訪問所述域名服務(wù)器的最大次數(shù)。
查詢請(qǐng)求報(bào)文處理裝置在獲取到對(duì)應(yīng)于接收到的查詢請(qǐng)求報(bào)文的訪問統(tǒng)計(jì)信息 后,可以根據(jù)該訪問統(tǒng)計(jì)信息和對(duì)應(yīng)于該DNS服務(wù)器的閾值,對(duì)接收到的查詢請(qǐng)求報(bào)文進(jìn) 行處理。具體處理方式包括若訪問統(tǒng)計(jì)信息小于閾值,則向?qū)?yīng)的DNS服務(wù)器轉(zhuǎn)發(fā)該查 詢請(qǐng)求報(bào)文,并更新訪問統(tǒng)計(jì)信息例如將訪問統(tǒng)計(jì)信息中的次數(shù)加一等;若訪問統(tǒng)計(jì)信息 大于或等于閾值,則丟棄接收到的查詢請(qǐng)求報(bào)文不做其他處理。這樣便可以防止大規(guī)模正 常的、真實(shí)客戶機(jī)的DNS爆發(fā)式請(qǐng)求的攻擊,進(jìn)一步地保護(hù)了 DNS服務(wù)器,保障DNS服務(wù)器 的工作穩(wěn)定性。本發(fā)明實(shí)施例提供的查詢請(qǐng)求報(bào)文處理方法中,查詢請(qǐng)求報(bào)文處理裝置在接收到 符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文后,通過驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的 客戶機(jī),再根據(jù)預(yù)設(shè)的閾值來限制真實(shí)客戶機(jī)同時(shí)訪問DNS服務(wù)器的最大次數(shù),防止因同 時(shí)出現(xiàn)大規(guī)模DNS請(qǐng)求而造成DNS服務(wù)器發(fā)生堵塞甚至癱瘓,提高了 DNS服務(wù)器的工作穩(wěn) 定性,保障網(wǎng)絡(luò)服務(wù)質(zhì)量,增強(qiáng)了 DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。在上述方法實(shí)施例中,判斷查詢請(qǐng)求報(bào)文的格式是否符合DNS格式的具體判斷方 式可以通過如下方式進(jìn)行判斷,例如包括判斷查詢請(qǐng)求報(bào)文的報(bào)頭格式是否符合DNS格式。在DNS協(xié)議中,定義了查詢報(bào)文和響應(yīng)報(bào)文的格式,圖2為本發(fā)明實(shí)施例中DNS協(xié) 議定義的報(bào)文格式示意圖,如圖2所示,DNS報(bào)頭一般為12字節(jié),其中16位的“ID”字段表 示標(biāo)識(shí)可以由客戶程序設(shè)置并通過服務(wù)器返回結(jié)果;客戶程序可以通過“ID”字段確定響 應(yīng)與查詢是否匹配。16位的標(biāo)志(flags)字段,被劃分為若干字段,圖3為本發(fā)明實(shí)施例 中DNS協(xié)議定義的報(bào)文中標(biāo)志字段格式的示意圖,如圖3所示,“flags”字段中各位的含義 為“QR” 為0表示問題,為“ 1,,表示回答;請(qǐng)求碼(opcode)為“0”表示標(biāo)準(zhǔn)請(qǐng)求,為“ 1”表示反向請(qǐng)求,為“2”表示服務(wù)器 狀態(tài)請(qǐng)求;“AA” 為“1”表示授權(quán)回答;為“1”表示可以截?cái)啵粸椤?1”表示可以期望遞歸,查詢中設(shè)置,應(yīng)答中返回,表示必須處理; 為“1”表示可用遞歸,如果DNS服務(wù)器支持遞歸,則在應(yīng)答中把其置1 ;零位(zero)表示這3位必須是“0” ;差錯(cuò)碼(rcode)為“ 0 ”表示無差錯(cuò),為“ 3 ”表示名字差錯(cuò)。根據(jù)DNS協(xié)議規(guī)定的報(bào)頭格式,可以檢查查詢請(qǐng)求報(bào)文的報(bào)文頭的格式是否符合 DNS格式,例如可以檢查“opcode”字段是否為“0”、“1”或“2”,檢查“TC”字段是否為“1”, 檢查“ Zero ”字段是否為“ 0 ”等。上述各字段的數(shù)值可以由二進(jìn)制碼表示。在上述方法實(shí)施例中,判斷查詢請(qǐng)求報(bào)文的格式是否符合DNS格式的具體判斷方 式還可以通過如下方式進(jìn)行判斷,例如包括判斷查詢請(qǐng)求報(bào)文中“QUESTION”部分的格式是否符合DNS格式。圖4為本發(fā)明實(shí)施例中DNS協(xié)議定義的“QUESTION”部分格式示意圖,如圖4所示,“TC,"RD'"RA'通常DNS協(xié)議中的“QUESTION”部分由三個(gè)部分組成問題名(nameof the question)、問題 類型(type of question)禾口查詢類型(type of query)。其中,“name of the question,, 部分是要查找的名字,可以為一個(gè)或多個(gè)標(biāo)識(shí)符的序列。每個(gè)標(biāo)識(shí)符以首字節(jié)的計(jì)數(shù)值來 說明隨后標(biāo)識(shí)符的字節(jié)長(zhǎng)度,每個(gè)名字以最后字節(jié)為“0”結(jié)束,長(zhǎng)度為“0”的標(biāo)識(shí)符為根標(biāo) 識(shí)符。協(xié)議中規(guī)定每個(gè)標(biāo)識(shí)符最大長(zhǎng)度63,整個(gè)查詢名不定長(zhǎng),不需填充字符。例如,誦. heike. com,,的“name of the question,,部分可以表達(dá)為“ [3 | w | w | w | 5 | h | e | i | k | e | 3 | c | ο m|0]”。再例如“44· 33. 88. 123. in-addr. arpa” 的“name of the question”部分可以表 達(dá)為“[2|4|4|2|3|3|2|8|8|3|l|2|3|7|i|nh|a|d|d|r|4|a|r|p|a|0]”。另外,常用的“type of question”部分為A類型即查詢型,如果是反向查詢,則可 以填充為反向域名解析(PTR)型。"type of query”部分通常為“ 1 ”,表示互聯(lián)網(wǎng)地址。根據(jù)DNS協(xié)議規(guī)定的“QUESTION”部分的格式,可以檢查查詢請(qǐng)求報(bào)文中對(duì)應(yīng) “QUESTION”部分是否符合DNS格式,例如檢查報(bào)文對(duì)應(yīng)的“name of thequestion”部分 的格式是否符合DNS格式,或“type of question”部分類型是否是A型或PTR型等,或檢 查“type of query”部分類型是否為“1”等。判斷查詢請(qǐng)求報(bào)文的格式是否符合DNS格式的具體判斷方式還可以通過如下方 式進(jìn)行判斷,例如包括判斷查詢請(qǐng)求報(bào)文中DNS資源記錄部分的格式是否符合DNS格式。具體的,報(bào)文的DNS資源記錄部分包括回答號(hào)(numbers of answer)字段、授權(quán) (number of RR authority)字段和附加信息(number of supplementary RR)字段三部分, 并可以采用資源記錄(Resource Record ;簡(jiǎn)稱冊(cè))的格式。圖5為本發(fā)明實(shí)施例中DNS 協(xié)議定義的DNS資源記錄部分格式示意圖,如圖5所示,資源記錄的域名(name of the domain)字段主要是記錄資源數(shù)據(jù)對(duì)應(yīng)的名字,格式可參照上述的“QUESTION”部分格式。 類型(type)字段說明RR的類型碼;生存時(shí)間(time to live ;簡(jiǎn)稱TTL)字段是客戶程序 保存該記錄的秒數(shù),例如為2天;資源數(shù)據(jù)長(zhǎng)度(resource datalength)字段說明資源數(shù)據(jù) 的數(shù)量;資源數(shù)據(jù)(resource data)字段則是對(duì)應(yīng)的查詢結(jié)果,例如域名查詢IP的該資源 數(shù)據(jù)字段為4字節(jié)的IP地址。通過上述判斷方法,查詢請(qǐng)求報(bào)文處理裝置可以對(duì)接收到的查詢請(qǐng)求報(bào)文的格式 是否符合規(guī)定的DNS格式進(jìn)行判斷,防止一些隨機(jī)的UDP洪水攻擊。圖6為本發(fā)明查詢請(qǐng)求報(bào)文處理方法實(shí)施例二流程圖,本實(shí)施例將結(jié)合圖6介紹 判斷查詢請(qǐng)求報(bào)文是否來源于真實(shí)客戶機(jī)的具體判斷流程,如圖6所示,步驟200,查詢請(qǐng)求報(bào)文處理裝置接收客戶機(jī)發(fā)送的UDP查詢請(qǐng)求報(bào)文;步驟201,查詢請(qǐng)求報(bào)文處理裝置判斷該查詢請(qǐng)求報(bào)文的格式是否符合DNS格式, 符合則執(zhí)行步驟202,否則丟棄該查詢請(qǐng)求報(bào)文,流程結(jié)束;步驟202,查詢請(qǐng)求報(bào)文處理裝置判斷白名單中是否包含該客戶機(jī)的IP地址,若 包含,則執(zhí)行步驟203 ;若不包含,則執(zhí)行步驟205 ;步驟203,查詢請(qǐng)求報(bào)文處理裝置獲取對(duì)應(yīng)于該查詢請(qǐng)求報(bào)文請(qǐng)求訪問的DNS服 務(wù)器的訪問統(tǒng)計(jì)信息,并判斷是否超出了預(yù)設(shè)的閾值,若不超過,則執(zhí)行步驟204;若超過, 則丟棄該查詢請(qǐng)求報(bào)文,流程結(jié)束;
查詢請(qǐng)求報(bào)文處理裝置在接收到符合DNS格式的查詢請(qǐng)求報(bào)文后,根據(jù)用于記錄 合法客戶機(jī)的白名單中包括客戶機(jī)的IP地址,驗(yàn)證該查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客 戶機(jī)。其中,所述的白名單包括被允許與該DNS服務(wù)器建立連接的合法的IP地址,而且白 名單中的IP地址具有老化時(shí)間即可以表明該記錄可以保留的時(shí)間。當(dāng)查詢請(qǐng)求報(bào)文處理 裝置根據(jù)白名單判斷出該查詢請(qǐng)求報(bào)文來源的客戶機(jī)的IP地址包含在白名單中后,可以 進(jìn)行后續(xù)處理即根據(jù)訪問統(tǒng)計(jì)信息和閾值對(duì)該查詢請(qǐng)求報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。步驟204,查詢請(qǐng)求報(bào)文處理裝置將該查詢請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的DNS服務(wù)器,并 更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息例如作加一處理,流程結(jié)束;步驟205,查詢請(qǐng)求報(bào)文處理裝置向該客戶機(jī)返回應(yīng)答報(bào)文;具體的,若查詢請(qǐng)求報(bào)文處理裝置根據(jù)白名單判斷出該查詢請(qǐng)求報(bào)文來源的客戶 機(jī)的IP地址不包含在白名單中,則通過向客戶機(jī)返回請(qǐng)求應(yīng)答報(bào)文對(duì)該客戶機(jī)發(fā)起驗(yàn)證, 具體包括向發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī)返回應(yīng)答報(bào)文,所述的應(yīng)答報(bào)文中的TC字段表示 該字段被截?cái)嗬缭O(shè)置成“1” ;如果接收到該客戶機(jī)根據(jù)所述的應(yīng)答報(bào)文發(fā)送的TCP連接 請(qǐng)求時(shí),通過與該客戶機(jī)進(jìn)行三次握手連接建立與該客戶機(jī)之間的TCP連接,獲知發(fā)送查 詢請(qǐng)求報(bào)文的客戶機(jī)為真實(shí)客戶機(jī),進(jìn)一步地,還可以將該客戶機(jī)的IP地址加入到查詢請(qǐng) 求報(bào)文處理裝置維護(hù)的白名單中;如果沒有接收到該客戶機(jī)根據(jù)所述的應(yīng)答報(bào)文發(fā)送的 TCP連接請(qǐng)求,則該客戶機(jī)為非真實(shí)客戶機(jī),查詢請(qǐng)求報(bào)文處理裝置通過反彈應(yīng)答報(bào)文的方 式阻止了非真實(shí)客戶機(jī)對(duì)DNS服務(wù)器的非法訪問。具體地,當(dāng)發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī)的IP地址不包含在白名單中時(shí),查詢請(qǐng)求 報(bào)文處理裝置可以向該客戶機(jī)返回一個(gè)應(yīng)答報(bào)文,并且將該應(yīng)答報(bào)文中的TC字段設(shè)置成 表示該字段可以被截?cái)嗟臉?biāo)識(shí),例如設(shè)置為“1”,該應(yīng)答報(bào)文的數(shù)據(jù)長(zhǎng)度可以為512個(gè)字 節(jié)。以下以接收到客戶機(jī)根據(jù)所述的應(yīng)答報(bào)文發(fā)送的TCP連接請(qǐng)求后,本發(fā)明實(shí)施例所述 的查詢請(qǐng)求報(bào)文處理裝置的處理為例重點(diǎn)說明。步驟206,查詢請(qǐng)求報(bào)文處理裝置接收該客戶機(jī)發(fā)送的TCP連接請(qǐng)求;步驟207,查詢請(qǐng)求報(bào)文處理裝置代替DNS服務(wù)器建立握手,并判斷握手是否完 成,若完成則執(zhí)行步驟208 ;否則執(zhí)行丟棄,流程結(jié)束;步驟208,接收該客戶機(jī)發(fā)送的第二查詢請(qǐng)求報(bào)文;具體的,具體的,由于查詢請(qǐng)求報(bào)文處理裝置對(duì)客戶機(jī)發(fā)起驗(yàn)證時(shí)與客戶機(jī)之間 是TCP連接,因此在握手成功后,客戶機(jī)是以TCP協(xié)議重新發(fā)送的查詢請(qǐng)求報(bào)文,為了該客 戶機(jī)第一次通過UDP協(xié)議發(fā)送的查詢請(qǐng)求報(bào)文相區(qū)別,此處將通過TCP協(xié)議發(fā)起的查詢請(qǐng) 求報(bào)文定義為第二查詢請(qǐng)求報(bào)文。步驟209,查詢請(qǐng)求報(bào)文處理裝置判斷該第二查詢請(qǐng)求報(bào)文的格式是否符合DNS 格式以及判斷對(duì)應(yīng)的訪問統(tǒng)計(jì)信息是否超出閾值,若通過,則執(zhí)行步驟210 ;若不通過,則 丟棄流程結(jié)束;步驟210,查詢請(qǐng)求報(bào)文處理裝置對(duì)該第二查詢請(qǐng)求報(bào)文的發(fā)送協(xié)議進(jìn)行轉(zhuǎn)換,通 過UDP協(xié)議將第二查詢請(qǐng)求報(bào)文發(fā)送給DNS服務(wù)器;具體的,由于查詢請(qǐng)求報(bào)文處理裝置與DNS服務(wù)器之間是通過UDP協(xié)議傳輸?shù)模?此查詢請(qǐng)求報(bào)文處理裝置將客戶機(jī)通過TCP協(xié)議發(fā)送的第二查詢請(qǐng)求報(bào)文通過UDP協(xié)議發(fā) 送給DNS服務(wù)器。
步驟211,查詢請(qǐng)求報(bào)文處理裝置接收DNS服務(wù)器返回的UDP應(yīng)答報(bào)文;步驟212,查詢請(qǐng)求報(bào)文處理裝置將應(yīng)答報(bào)文的發(fā)送協(xié)議進(jìn)行轉(zhuǎn)換,通過TCP協(xié)議 將DNS服務(wù)器的應(yīng)答報(bào)文發(fā)送給客戶機(jī);并可以同時(shí)將該客戶機(jī)的IP存儲(chǔ)到白名單中,并 更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息例如作加一處理,流程結(jié)束。在上述實(shí)施例中,客戶機(jī)接收到該應(yīng)答報(bào)文后,要根據(jù)應(yīng)答報(bào)文向查詢請(qǐng)求報(bào)文 處理裝置發(fā)送TCP連接請(qǐng)求;當(dāng)查詢請(qǐng)求報(bào)文處理裝置接收到客戶機(jī)發(fā)送的該TCP連接請(qǐng) 求后,與該客戶機(jī)進(jìn)行三次握手連接以建立查詢請(qǐng)求報(bào)文處理裝置與該客戶機(jī)之間的TCP 連接,若握手成功則說明該客戶機(jī)為真實(shí)的客戶機(jī),并建立會(huì)話(SESSION)表項(xiàng),同時(shí)為了 避免下次請(qǐng)求在進(jìn)行重新握手流程,可以將該客戶機(jī)的IP地址加入到白名單中,便于后續(xù) 真實(shí)客戶機(jī)的判斷。查詢請(qǐng)求報(bào)文處理裝置接收到客戶機(jī)通過TCP連接發(fā)送的另一查詢請(qǐng)求報(bào)文例 如第二查詢請(qǐng)求報(bào)文,獲取對(duì)應(yīng)于該第二查詢請(qǐng)求報(bào)文請(qǐng)求訪問的DNS服務(wù)器的訪問統(tǒng)計(jì) 信息;根據(jù)獲得的訪問統(tǒng)計(jì)信息和對(duì)應(yīng)的閾值,對(duì)該第二查詢請(qǐng)求報(bào)文進(jìn)行處理,具體包 括當(dāng)訪問統(tǒng)計(jì)信息小于閾值時(shí),將第二查詢請(qǐng)求報(bào)文通過UDP協(xié)議發(fā)送給DNS服務(wù)器,查 詢請(qǐng)求報(bào)文處理裝置對(duì)第二查詢請(qǐng)求報(bào)文的發(fā)送協(xié)議進(jìn)行轉(zhuǎn)換,由TCP協(xié)議轉(zhuǎn)為UDP協(xié)議; 當(dāng)訪問統(tǒng)計(jì)信息大于或等于閾值時(shí),丟棄該第二查詢請(qǐng)求報(bào)文。當(dāng)該客戶機(jī)后續(xù)再次向查詢請(qǐng)求報(bào)文處理裝置發(fā)送查詢請(qǐng)求報(bào)文時(shí),查詢請(qǐng)求報(bào) 文處理裝置可以直接根據(jù)白名單對(duì)該客戶機(jī)的五元組中的IP地址進(jìn)行判斷,直接判斷出 該客戶機(jī)為真實(shí)客戶機(jī)。在上述過程中,若查詢請(qǐng)求報(bào)文處理裝置返回應(yīng)答報(bào)文后,該客戶機(jī)沒有與查詢 請(qǐng)求報(bào)文處理裝置進(jìn)行后續(xù)的TCP連接,則說明該客戶機(jī)為非法客戶機(jī)。通過上述判斷方法,可以對(duì)發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī)的真實(shí)性進(jìn)行驗(yàn)證,避免 一些非法的客戶機(jī)發(fā)送符合DNS格式的查詢請(qǐng)求報(bào)文進(jìn)行非法攻擊,保證DNS服務(wù)器的工 作穩(wěn)定性和安全性。在上述各實(shí)施例中所涉及到的訪問統(tǒng)計(jì)信息,為查詢請(qǐng)求報(bào)文處理裝置對(duì)所有真 實(shí)客戶機(jī)發(fā)送符合DNS格式的查詢請(qǐng)求報(bào)文進(jìn)行統(tǒng)計(jì)獲得的,在查詢請(qǐng)求報(bào)文中包括客戶 機(jī)所要訪問的DNS服務(wù)器的標(biāo)識(shí)信息例如DNS域名等,用以指示查詢請(qǐng)求報(bào)文處理裝置將 該查詢請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給哪個(gè)具體地DNS服務(wù)器。由于所有的查詢請(qǐng)求報(bào)文均要通過查詢請(qǐng) 求報(bào)文處理裝置轉(zhuǎn)發(fā),因此查詢請(qǐng)求報(bào)文處理裝置能夠?qū)γ恳粋€(gè)DNS服務(wù)器的訪問次數(shù)進(jìn) 行統(tǒng)計(jì),以更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息。具體地為,查詢請(qǐng)求報(bào)文處理裝置可以對(duì)目標(biāo)域名進(jìn) 行統(tǒng)計(jì)與跟蹤,若統(tǒng)計(jì)結(jié)果超出閾值,則可以進(jìn)行報(bào)警,并可以把過載的目標(biāo)域名的事件進(jìn) 行匯報(bào),形成日志。當(dāng)然閾值也是可以動(dòng)態(tài)更新的。另外,查詢請(qǐng)求報(bào)文處理裝置還可以針對(duì)真實(shí)IP進(jìn)行統(tǒng)計(jì),若一客戶機(jī)在短時(shí)間 內(nèi)連續(xù)發(fā)送超出數(shù)量合理范圍的大量的查詢請(qǐng)求報(bào)文,則可以判斷該客戶機(jī)為非法客戶 機(jī),查詢請(qǐng)求報(bào)文處理裝置可以直接丟棄該客戶機(jī)發(fā)送的查詢請(qǐng)求報(bào)文。本發(fā)明查詢請(qǐng)求報(bào)文處理方法實(shí)施例中,如果接收到的查詢請(qǐng)求報(bào)文的格式符合 DNS協(xié)議格式,且發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī)為真實(shí)客戶機(jī),查詢請(qǐng)求報(bào)文處理裝置對(duì)查詢 請(qǐng)求報(bào)文對(duì)應(yīng)的請(qǐng)求信息進(jìn)行統(tǒng)計(jì),當(dāng)DNS服務(wù)器的請(qǐng)求訪問次數(shù)超出設(shè)定閾值時(shí),對(duì)當(dāng) 前的查詢請(qǐng)求報(bào)文進(jìn)行過濾;可以避免爆發(fā)式的DNS請(qǐng)求,防止大規(guī)模DNS請(qǐng)求同時(shí)訪問同一 DNS服務(wù)器,降低了 DNS服務(wù)器癱瘓的概率。圖7為本發(fā)明查詢請(qǐng)求報(bào)文處理裝置實(shí)施例一結(jié)構(gòu)示意圖,該查詢請(qǐng)求報(bào)文處理 裝置設(shè)置在客戶機(jī)和DNS服務(wù)器之間,可以為單獨(dú)的一個(gè)設(shè)備,也可以設(shè)置在網(wǎng)關(guān)設(shè)備上, 以下實(shí)施例以查詢請(qǐng)求報(bào)文處理裝置為網(wǎng)關(guān)為例進(jìn)行說明,如圖7所示,該網(wǎng)關(guān)包括接收 模塊11、驗(yàn)證模塊12、獲取模塊13和處理模塊14,其中接收模塊11,用于接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;驗(yàn)證模塊12用于驗(yàn)證 查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);獲取模塊13,用于若通過驗(yàn)證模塊驗(yàn)證獲知查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī), 則獲取對(duì)應(yīng)于查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;處理模塊14,用于根據(jù)訪問統(tǒng)計(jì)信息和閾值對(duì)查詢請(qǐng)求報(bào)文進(jìn)行處理,所述閾值 用于標(biāo)識(shí)允許同時(shí)訪問域名服務(wù)器的最大次數(shù)。具體地,網(wǎng)關(guān)中的接收模塊11首先接收客戶機(jī)發(fā)往DNS服務(wù)器的查詢請(qǐng)求報(bào)文, 然后由驗(yàn)證模塊12對(duì)該查詢請(qǐng)求報(bào)文的格式進(jìn)行驗(yàn)證檢驗(yàn)是否符合DNS格式,只有符合 DNS格式的查詢請(qǐng)求報(bào)文才被處理,如果通過驗(yàn)證獲知該查詢請(qǐng)求報(bào)文的格式不符合DNS 格式,則可以直接丟棄該查詢請(qǐng)求報(bào)文不做其他處理,或者向發(fā)送該查詢請(qǐng)求報(bào)文的客戶 機(jī)返回拒絕放行的應(yīng)答報(bào)文等。若驗(yàn)證獲知該查詢請(qǐng)求報(bào)文的格式符合DNS格式,則繼續(xù) 由驗(yàn)證模塊12對(duì)該查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī)進(jìn)行判斷。驗(yàn)證模塊12對(duì)格式 和真實(shí)客戶機(jī)的驗(yàn)證方法可以參見前述的方法實(shí)施例,此處不再贅述。網(wǎng)關(guān)通過驗(yàn)證模塊12的上述的兩步判斷后,若獲知接收到的查詢請(qǐng)求報(bào)文符合 NDS格式,且來源于真實(shí)客戶機(jī)后,則再由獲取模塊13獲取到該查詢請(qǐng)求報(bào)文所要訪問的 DNS服務(wù)器所對(duì)應(yīng)的訪問統(tǒng)計(jì)信息,最后通過處理模塊14根據(jù)訪問統(tǒng)計(jì)信息和閾值對(duì)查詢 請(qǐng)求報(bào)文進(jìn)行處理,該處理具體包括,若訪問統(tǒng)計(jì)信息小于閾值,則向?qū)?yīng)的DNS服務(wù)器轉(zhuǎn) 發(fā)該查詢請(qǐng)求報(bào)文,并更新訪問統(tǒng)計(jì)信息例如將訪問統(tǒng)計(jì)信息中的次數(shù)加一等。若訪問統(tǒng) 計(jì)信息大于或等于閾值,則丟棄接收到的查詢請(qǐng)求報(bào)文不做其他處理。本發(fā)明實(shí)施例提供的查詢請(qǐng)求報(bào)文處理裝置在接收到符合域名系統(tǒng)格式的查詢 請(qǐng)求報(bào)文后,通過驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī),再根據(jù)預(yù)設(shè)的閾 值來限制真實(shí)客戶機(jī)同時(shí)訪問DNS服務(wù)器的最大次數(shù),防止因同時(shí)出現(xiàn)大規(guī)模DNS請(qǐng)求而 造成DNS服務(wù)器發(fā)生堵塞甚至癱瘓,提高了 DNS服務(wù)器的工作穩(wěn)定性,保障網(wǎng)絡(luò)服務(wù)質(zhì)量, 增強(qiáng)了 DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。圖8為本發(fā)明查詢請(qǐng)求報(bào)文處理裝置實(shí)施例二結(jié)構(gòu)示意圖,如圖8所示,該網(wǎng)關(guān)包 括接收模塊11、驗(yàn)證模塊12、獲取模塊13和處理模塊14,在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步 地,處理模塊14可以包括第一處理子模塊141和第二處理子模塊142分別進(jìn)行轉(zhuǎn)發(fā)和丟棄 的處理,其中第一處理子模塊141,用于在訪問統(tǒng)計(jì)信息小于所述閾值的時(shí)候,向DNS服務(wù)器轉(zhuǎn) 發(fā)該查詢請(qǐng)求報(bào)文,并更新對(duì)應(yīng)的訪問統(tǒng)計(jì)信息;第二處理子模塊142,用于在訪問統(tǒng)計(jì)信息大于或等于閾值的時(shí)候,丟棄該查詢請(qǐng) 求報(bào)文。進(jìn)一步的,驗(yàn)證模塊12包括第一驗(yàn)證子模塊121和第二驗(yàn)證子模塊122,其中第一驗(yàn)證子模塊121,用于根據(jù)用于記錄合法客戶機(jī)的白名單中包括客戶機(jī)的IP地址,驗(yàn)證查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);第二驗(yàn)證子模塊122,用于若用于記錄合法客戶機(jī)的白名單中不包括客戶機(jī)的IP 地址,則通過向客戶機(jī)返回請(qǐng)求應(yīng)答報(bào)文對(duì)客戶機(jī)發(fā)起驗(yàn)證,所述的請(qǐng)求應(yīng)答報(bào)文中的TC 字段表示該字段允許被截?cái)?。?duì)應(yīng)地,若網(wǎng)關(guān)通過第二驗(yàn)證子模塊122向客戶機(jī)發(fā)送應(yīng)答報(bào)文后,網(wǎng)關(guān)要接收 該客戶機(jī)發(fā)送的TCP連接請(qǐng)求并與該客戶機(jī)進(jìn)行是那次握手連接以建立網(wǎng)關(guān)與客戶機(jī)之 間的TCP連接。第二驗(yàn)證子模塊122還用于當(dāng)接收客戶機(jī)根據(jù)應(yīng)答報(bào)文發(fā)送的TCP連接請(qǐng) 求時(shí),通過與客戶機(jī)進(jìn)行三次握手連接建立與客戶機(jī)之間的TCP連接,獲知客戶機(jī)為真實(shí) 客戶機(jī),并將客戶機(jī)的IP地址加入所述白名單。網(wǎng)關(guān)還可以通過設(shè)在其內(nèi)的一個(gè)存儲(chǔ)模塊對(duì)上述的白名單進(jìn)行存儲(chǔ)維護(hù)。本發(fā)明實(shí)施例提供的查詢請(qǐng)求報(bào)文處理裝置,如果接收到的查詢請(qǐng)求報(bào)文的格 式符合DNS協(xié)議格式,且發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī)為真實(shí)客戶機(jī),查詢請(qǐng)求報(bào)文處理裝 置對(duì)查詢請(qǐng)求報(bào)文對(duì)應(yīng)的請(qǐng)求信息進(jìn)行統(tǒng)計(jì),當(dāng)DNS服務(wù)器的請(qǐng)求訪問次數(shù)超出設(shè)定閾值 時(shí),對(duì)當(dāng)前的查詢請(qǐng)求報(bào)文進(jìn)行過濾;可以避免爆發(fā)式的DNS請(qǐng)求,防止大規(guī)模DNS請(qǐng)求同 時(shí)訪問同一 DNS服務(wù)器,降低了 DNS服務(wù)器癱瘓的概率,提高工作穩(wěn)定性。圖9為本發(fā)明查詢請(qǐng)求報(bào)文處理系統(tǒng)實(shí)施例組成示意圖,如圖9所示,包括客戶機(jī) 2,該客戶機(jī)2至少為一個(gè),以及對(duì)應(yīng)于該查詢請(qǐng)求報(bào)文請(qǐng)求訪問的DNS服務(wù)器3,還包括設(shè) 置在客戶機(jī)2與DNS服務(wù)器3之間的查詢請(qǐng)求報(bào)文處理裝置例如網(wǎng)關(guān)1,其中,客戶機(jī)2用 于發(fā)送查詢請(qǐng)求報(bào)文,網(wǎng)關(guān)1用于對(duì)客戶機(jī)2所發(fā)送的查詢請(qǐng)求報(bào)文的報(bào)文格式、客戶機(jī)2 的真實(shí)性進(jìn)行判斷,并且在獲知接收到的查詢請(qǐng)求報(bào)文符合NDS格式,且來源于真實(shí)客戶 機(jī)后,根據(jù)預(yù)設(shè)的于標(biāo)識(shí)允許同時(shí)訪問域名服務(wù)器的最大次數(shù)的閾值,以及動(dòng)態(tài)更新的訪 問統(tǒng)計(jì)信息,對(duì)該客戶機(jī)所發(fā)送的查詢請(qǐng)求報(bào)文進(jìn)行處理,具體包括,若訪問統(tǒng)計(jì)信息小于 閾值,則向?qū)?yīng)的DNS服務(wù)器轉(zhuǎn)發(fā)該查詢請(qǐng)求報(bào)文,并更新訪問統(tǒng)計(jì)信息例如將訪問統(tǒng)計(jì) 信息中的次數(shù)加一等。若訪問統(tǒng)計(jì)信息大于或等于閾值,則丟棄接收到的查詢請(qǐng)求報(bào)文不 做其他處理。本系統(tǒng)實(shí)施例中的涉及的網(wǎng)關(guān)1可以采用上述方法和裝置實(shí)施例中提供的查詢 請(qǐng)求報(bào)文處理裝置,其具體的結(jié)構(gòu)和功能此處不再贅述。本發(fā)明實(shí)施例提供的查詢請(qǐng)求報(bào)文處理系統(tǒng)中,網(wǎng)關(guān)在接收到符合域名系統(tǒng)格式 的查詢請(qǐng)求報(bào)文后,通過驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī),再根據(jù)預(yù) 設(shè)的閾值來限制真實(shí)客戶機(jī)同時(shí)訪問DNS服務(wù)器的最大次數(shù),防止因同時(shí)出現(xiàn)大規(guī)模DNS 請(qǐng)求而造成DNS服務(wù)器發(fā)生堵塞甚至癱瘓,提高了 DNS服務(wù)器的工作穩(wěn)定性,保障網(wǎng)絡(luò)服務(wù) 質(zhì)量,增強(qiáng)了 DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.一種查詢請(qǐng)求報(bào)文處理方法,其特征在于,包括 接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文; 驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);若驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī),則獲取對(duì)應(yīng)于所述查詢請(qǐng)求報(bào)文 請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;根據(jù)所述訪問統(tǒng)計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理,所述閾值用于標(biāo)識(shí)允許 同時(shí)訪問所述域名服務(wù)器的最大次數(shù)。
2.根據(jù)權(quán)利要求1所述的查詢請(qǐng)求報(bào)文處理方法,其特征在于,所述根據(jù)所述訪問統(tǒng) 計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理包括若所述訪問統(tǒng)計(jì)信息小于所述閾值,則向所述域名服務(wù)器轉(zhuǎn)發(fā)所述查詢請(qǐng)求報(bào)文,并 更新所述訪問統(tǒng)計(jì)信息;或若所述訪問統(tǒng)計(jì)信息大于或等于所述閾值,則丟棄所述查詢請(qǐng)求報(bào)文。
3.根據(jù)權(quán)利要求1或2所述的查詢請(qǐng)求報(bào)文處理方法,其特征在于,所述驗(yàn)證所述查詢 請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī)包括根據(jù)用于記錄合法客戶機(jī)的白名單中包括所述客戶機(jī)的IP地址,驗(yàn)證所述查詢請(qǐng)求 報(bào)文是否來源于真實(shí)的客戶機(jī)。
4.根據(jù)權(quán)利要求3所述的查詢請(qǐng)求報(bào)文處理方法,其特征在于,所述方法還包括 若用于記錄合法客戶機(jī)的白名單中不包括所述客戶機(jī)的IP地址,則通過向所述客戶機(jī)返回請(qǐng)求應(yīng)答報(bào)文對(duì)所述客戶機(jī)發(fā)起驗(yàn)證,所述請(qǐng)求應(yīng)答報(bào)文中的TC字段表示該字段 允許被截?cái)?;?dāng)接收所述客戶機(jī)根據(jù)所述應(yīng)答報(bào)文發(fā)送的TCP連接請(qǐng)求時(shí),通過與所述客戶機(jī)進(jìn)行 三次握手連接建立與所述客戶機(jī)之間的TCP連接,獲知所述客戶機(jī)為真實(shí)客戶機(jī),將所述 客戶機(jī)的IP地址加入所述白名單。
5.根據(jù)權(quán)利要求4所述的查詢請(qǐng)求報(bào)文處理方法,其特征在于,還包括 接收所述客戶機(jī)通過所述TCP連接發(fā)送的第二查詢請(qǐng)求報(bào)文;獲取對(duì)應(yīng)于所述第二查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息; 當(dāng)所述訪問統(tǒng)計(jì)信息小于所述閾值時(shí),將所述第二查詢請(qǐng)求報(bào)文通過UDP協(xié)議發(fā)送給 所述域名服務(wù)器;當(dāng)所述訪問統(tǒng)計(jì)信息大于或等于所述閾值時(shí),丟棄所述第二查詢請(qǐng)求報(bào)文。
6.一種查詢請(qǐng)求報(bào)文處理裝置,其特征在于,包括 接收模塊,用于接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;驗(yàn)證模塊,用于驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī); 獲取模塊,用于若通過所述驗(yàn)證模塊驗(yàn)證獲知所述查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶 機(jī),則獲取對(duì)應(yīng)于所述查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;處理模塊,用于根據(jù)所述訪問統(tǒng)計(jì)信息和閾值對(duì)所述查詢請(qǐng)求報(bào)文進(jìn)行處理,所述閾 值用于標(biāo)識(shí)允許同時(shí)訪問所述域名服務(wù)器的最大次數(shù)。
7.根據(jù)權(quán)利要求6所述的查詢請(qǐng)求報(bào)文處理裝置,其特征在于,所述處理模塊包括 第一處理子模塊,用于若所述訪問統(tǒng)計(jì)信息小于所述閾值,則向所述域名服務(wù)器轉(zhuǎn)發(fā)所述查詢請(qǐng)求報(bào)文,并更新所述訪問統(tǒng)計(jì)信息;第二處理子模塊,用于若所述訪問統(tǒng)計(jì)信息大于或等于所述閾值,則丟棄所述查詢請(qǐng) 求報(bào)文。
8.根據(jù)權(quán)利要求7所述的查詢請(qǐng)求報(bào)文處理裝置,其特征在于,所述驗(yàn)證模塊包括 第一驗(yàn)證子模塊,用于根據(jù)用于記錄合法客戶機(jī)的白名單中包括所述客戶機(jī)的IP地址,驗(yàn)證所述查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);第二驗(yàn)證子模塊,用于若用于記錄合法客戶機(jī)的白名單中不包括所述客戶機(jī)的IP地 址,則通過向所述客戶機(jī)返回請(qǐng)求應(yīng)答報(bào)文對(duì)所述客戶機(jī)發(fā)起驗(yàn)證,所述請(qǐng)求應(yīng)答報(bào)文中 的TC字段表示該字段允許被截?cái)唷?br>
9.根據(jù)權(quán)利要求8所述的查詢請(qǐng)求報(bào)文處理裝置,其特征在于,所述第二驗(yàn)證子模塊 還用于,當(dāng)接收所述客戶機(jī)根據(jù)所述應(yīng)答報(bào)文發(fā)送的TCP連接請(qǐng)求時(shí),通過與所述客戶機(jī) 進(jìn)行三次握手連接建立與所述客戶機(jī)之間的TCP連接,獲知所述客戶機(jī)為真實(shí)客戶機(jī),將 所述客戶機(jī)的IP地址加入所述白名單。
10.一種查詢請(qǐng)求報(bào)文處理系統(tǒng),包括用于發(fā)送查詢請(qǐng)求報(bào)文的客戶機(jī),以及對(duì)應(yīng)于所 述查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器,其特征在于,還包括如權(quán)利要求6至9任一權(quán)利要 求所述的查詢請(qǐng)求報(bào)文處理裝置。
全文摘要
本發(fā)明實(shí)施例提供一種查詢請(qǐng)求報(bào)文處理方法、裝置及系統(tǒng)。該方法包括接收符合域名系統(tǒng)格式的查詢請(qǐng)求報(bào)文;驗(yàn)證查詢請(qǐng)求報(bào)文是否來源于真實(shí)的客戶機(jī);若驗(yàn)證獲知查詢請(qǐng)求報(bào)文來源于真實(shí)的客戶機(jī),則獲取對(duì)應(yīng)于查詢請(qǐng)求報(bào)文請(qǐng)求訪問的域名服務(wù)器的訪問統(tǒng)計(jì)信息;根據(jù)訪問統(tǒng)計(jì)信息和閾值對(duì)查詢請(qǐng)求報(bào)文進(jìn)行處理,閾值用于標(biāo)識(shí)允許同時(shí)訪問域名服務(wù)器的最大次數(shù)。本發(fā)明實(shí)施例中,網(wǎng)關(guān)在接收到符合域名系統(tǒng)格式、且來源于真實(shí)的客戶機(jī)的查詢請(qǐng)求報(bào)文后,根據(jù)閾值來限制真實(shí)客戶機(jī)同時(shí)訪問DNS服務(wù)器的最大次數(shù),提高DNS服務(wù)器的工作穩(wěn)定性,保障網(wǎng)絡(luò)服務(wù)質(zhì)量,增強(qiáng)了DNS系統(tǒng)中的網(wǎng)絡(luò)安全防護(hù)性能。
文檔編號(hào)H04L29/06GK102045331SQ200910236448
公開日2011年5月4日 申請(qǐng)日期2009年10月22日 優(yōu)先權(quán)日2009年10月22日
發(fā)明者楊莉, 蔣武 申請(qǐng)人:成都市華為賽門鐵克科技有限公司