專利名稱:域名解析服務器的抵御dns請求報文泛洪攻擊的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡,尤其涉及一種通過及時調整,刷新域名解析服務器信息 來牽引DNS (域名服務器,Domain Name Server)請求報文泛洪攻擊的方法,從而達到抵御 DNS請求報文泛洪攻擊的目的。
背景技術:
Internet上的每臺主機都有一個或多個全網(wǎng)唯一的IP地址,這些主機就是使用 這些IP地址來進行信息的傳輸?shù)模愃莆覀內粘I钪械碾娫捥柎a。隨著網(wǎng)絡應用越來越 多,網(wǎng)絡中的主機數(shù)量也越來越多,IP地址這種枯燥的數(shù)字形式很難于記憶,人們根本無法 記住眾多的IP地址,所以就出現(xiàn)了域名系統(tǒng)(DNS),域名系統(tǒng)是一種用于TCP/IP應用程序 的分布式數(shù)據(jù)庫,它提供域名和IP地址之間的互相轉換,通過域名系統(tǒng),我們就可以使用 方便記憶的名稱來找到網(wǎng)絡中主機的IP地址,進而和網(wǎng)絡中的主機進行通訊。域名系統(tǒng)是有層次的,類似于imix/linux系統(tǒng)中的目錄樹,最頂層是根域,接下 來是頂級域,再下來是二級域,依此類推。每個層次的域可以管理自己的子域,也可以將子 域授權給其他域名服務器,這些被授權為負責進行相關域名權威解析的服務器就是域名解 析服務器。域名和IP地址的對應關系以及可以緩存的時間(TTL)就是通過域名解析服務 器來設置生效的。公網(wǎng)域名服務器一般是由網(wǎng)絡接入商提供的,主要用于幫助用戶進行域名和IP 地址的相互解析轉換。公網(wǎng)域名服務器可以進行各層次域的遞歸解析,并對解析的結果進 行緩存,在緩存時間內,如果有對相同域名的請求,則可以直接返回緩存的解析結果。域名解析的過程如圖1所示,是一個請求和應答的過程,客戶端發(fā)送域名解析的 請求到DNS服務器,DNS服務器將響應的報文發(fā)送給請求的客戶端。請求和應答的報文傳 遞可以基于UDP協(xié)議,也可以基于TCP協(xié)議。在不使用DNS擴展的情況下,使用UDP協(xié)議可 以運載的數(shù)據(jù)不能超過512Byte,否則返回的數(shù)據(jù)將會被截斷,客戶端自動使用TCP協(xié)議重 新發(fā)起請求;雖然TCP協(xié)議可以傳輸大的數(shù)據(jù),但是由于TCP協(xié)議的往返次數(shù)較多,所以響 應時間會比較長,容易出現(xiàn)DNS解析超時。所以目前大家基本上都使用UDP協(xié)議進行報文 的傳輸。攻擊者在進行攻擊的時候,往往在瞬間發(fā)送大量的域名解析請求,使得DNS服務 器的帶寬被耗盡,或者耗光服務器的系統(tǒng)資源,導致正常的客戶請求不能被服務。如果攻擊 的目標是域名解析服務器,會導致問題被放大。
發(fā)明內容
本發(fā)明的目的在于解決上述問題,提供了一種域名解析服務器的抵御DNS請求報 文泛洪攻擊的方法,可以有效抵御DNS請求報文泛洪攻擊,保護域名解析服務器,確保域名 的解析能夠正常進行。
4
本發(fā)明的另一目的在于提供了一種域名解析服務器的抵御DNS請求報文泛洪攻 擊的系統(tǒng),通過自動調度抵御DNS請求報文泛洪攻擊。本發(fā)明的技術方案為本發(fā)明揭示了一種域名解析服務器的抵御DNS請求報文泛 洪攻擊的方法,包括將多臺域名解析服務器組成服務器集群,該服務器集群共享一個IP地址;由監(jiān)控服務器定時監(jiān)控各域名解析服務器的服務參數(shù)和集群服務的可用性,并將 服務參數(shù)和集群服務的可用性匯報給控制服務器;由控制服務器根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決 策是否存在攻擊行為;如果決策出存在攻擊行為,則進行域名解析服務器的調整,并通知刷新服務器;由刷新服務器通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息,使得域名解 析服務器的調整能夠生效。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的一實施例, 域名解析服務器的服務參數(shù)包括服務器的系統(tǒng)資源占用率、服務響應時間、服務請求數(shù)、服 務響應失敗率,域名解析服務器的集群服務的可用性是指設定比例的解析請求響應時間小 于設定值。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的一實施例, 在決策是否存在攻擊行為的過程中,通過服務器的系統(tǒng)資源占用率、服務請求數(shù)、集群服務 的可用性計算服務裕度,當服務裕度低于某一設定值時,得到存在攻擊行為的決策結果。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的一實施例, 域名解析服務器的調整包括使用備用的服務器集群替換被攻擊的服務器集群,被攻擊的服務器集群在替換后 如果恢復到某一閾值以下,則將其作為備用的服務器集群。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的一實施例, 服務器集群自動檢測集群內部的域名解析服務器的異常,并自動將出現(xiàn)異常的域名解析服 務器切換至正常的域名解析服務器。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的一實施例, 刷新服務器提前收集公網(wǎng)域名服務器的IP地址,當刷新服務器收到來自控制服務器的刷 新通知后,通過提前收集到的公網(wǎng)域名服務器的IP地址將服務器集群的變更更新到各公 網(wǎng)域名服務器。本發(fā)明還揭示了一種域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng),包 括由多個域名解析服務器組成的服務器集群;監(jiān)控服務器,與服務器集群中的各個域名解析服務器建立數(shù)據(jù)連接,監(jiān)控服務器 包括服務參數(shù)監(jiān)控模塊,監(jiān)控各域名解析服務器的服務參數(shù);集群服務可用性監(jiān)控模塊,監(jiān)控服務器集群的可用性;匯報模塊,耦接服務參數(shù)監(jiān)控模塊和集群服務可用性監(jiān)控模塊,將監(jiān)控到的服務 參數(shù)和集群服務的可用性匯報給控制服務器;
控制服務器,與監(jiān)控服務器建立數(shù)據(jù)連接,控制服務器包括數(shù)據(jù)接收模塊,接收監(jiān)控服務器匯報的服務參數(shù)和集群服務的可用性;決策模塊,根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決策 是否存在攻擊行為;調整模塊,操縱服務器集群中的各域名解析服務器的調整,使用備用的服務器集 群替換被攻擊的服務器集群;信息交互模塊,在域名解析服務器發(fā)生調整時通知刷新服務器;刷新服務器,與控制服務器建立數(shù)據(jù)連接,刷新服務器包括刷新模塊,通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息,使得域名解析 服務器的調整能夠生效。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng)的一實施例, 服務參數(shù)監(jiān)控模塊監(jiān)控的域名解析服務器的服務參數(shù)包括服務器的系統(tǒng)資源占用率、服務 響應時間、服務請求數(shù)、服務響應失敗率;集群服務可用性監(jiān)控模塊監(jiān)控的域名解析服務器 的集群服務的可用性是指設定比例的解析請求響應時間小于設定值。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng)的一實施例, 在控制服務器的決策模塊中,通過服務器的系統(tǒng)資源占用率、服務請求數(shù)、集群服務的可用 性計算服務裕度,當服務裕度低于某一設定值時,得到存在攻擊行為的決策結果。根據(jù)本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng)的一實施例, 刷新服務器還包括公網(wǎng)域名服務器IP地址收集模塊,耦接刷新模塊,提前收集公網(wǎng)域名服務器的IP 地址并提供給刷新模塊,當刷新模塊收到來自控制服務器的刷新通知后,通過提前收集到 的公網(wǎng)域名服務器的IP地址將服務器集群的變更更新到各公網(wǎng)域名服務器中。本發(fā)明對比現(xiàn)有技術有如下的有益效果本發(fā)明通過讓多臺域名解析服務器組成 一個服務器集群,由一監(jiān)控服務器監(jiān)控各域名解析服務器的服務參數(shù)和集群服務的可用性 并上報給控制服務器,由控制服務器根據(jù)這些信息決策是否存在攻擊行為,如果存在攻擊 行為則進行域名服務器的調整,同時通知刷新服務器,刷新服務器通過刷新公網(wǎng)域名服務 器緩存的域名解析服務器信息,使得域名解析服務器的調整能夠生效。對比現(xiàn)有技術,本發(fā) 明通過對集群內各域名解析服務器的自動調度,有效抵御DNS請求報文泛洪攻擊。
圖1是傳統(tǒng)的域名解析的示意圖。圖2是本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的實施例的 流程圖。圖3是本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng)的實施例的
原理圖。
具體實施例方式下面結合附圖和實施例對本發(fā)明作進一步的描述。域名解析服各器的抵雅卩DNSi青求報tg換攻擊的方法的實施例
6
圖2示出了本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法的實施 例。請參見圖2,本實施例的方法的各個步驟如下所述。步驟SlO 將多臺域名解析服務器組成服務器集群,服務器集群中的這些域名解 析服務器共享一個IP地址。這樣可以提高服務器集群的服務能力,而且這個服務器集群是動態(tài)變化的,可以 隨時將某一域名解析服務器添加到服務器集群中。此外,服務器集群能夠自動檢測集群內 的域名解析服務器是否異常,如某一域名解析服務器出現(xiàn)異常,則自動進行異常服務器的 切換。步驟Sll 由監(jiān)控服務器定時監(jiān)控各域名解析服務器的服務參數(shù)和集群服務的可 用性,并將這些信息匯報給控制服務器。域名解析服務器的服務參數(shù)包括服務器的系統(tǒng)資源占用率、服務響應時間、服務 請求數(shù)以及服務響應失敗率。系統(tǒng)資源占用率又包括CPU、內存、負載、磁盤或是網(wǎng)絡連接的 占用率。集群服務的可用性是指一定比例的解析請求響應時間是否小于一個設定值,如果 某一比例以上的解析請求響應時間小于設定值,則說明集群服務可用,否則說明集群服務 不可用。步驟S12 由控制服務器根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的 可用性,決策是否存在攻擊行為。如果存在攻擊行為,則進入步驟S13,如果不存在攻擊行 為,則流程結束。在本實施例中,是基于各個參數(shù)的不同的權重,通過服務器的系統(tǒng)資源占用率、服 務請求數(shù)、集群服務的可用性計算服務裕度,當服務裕度低于某一設定值時,得到存在攻擊 行為的決策結果,當服務裕度高于某一設定時,得到不存在攻擊行為的決策結果。例如,根據(jù)實際情況設置上述系統(tǒng)資源占用率、服務請求數(shù)、集群服務的可用性 等這些參數(shù)的權重,根據(jù)實際情況和邏輯來計算服務裕度,下面是計算方式的其中一個示 例服務裕度W = 100% -wrXR+wqX (Q/QALL)+waXA,其中W為服務裕度,R為系統(tǒng) 資源占用率,wr是系統(tǒng)資源占用率所占的權重,Q是服務請求數(shù),QALL是服務最大請求數(shù), wq是服務請求數(shù)的權重,A為服務可用性,wa是服務可用性所占的權重。步驟S13 調整域名解析服務器,并通知刷新服務器。域名解析服務器的調整是指對于單域名解析服務器出現(xiàn)異常狀況,則進行報警 處理;對于整個服務器集群出現(xiàn)異常,則使用備用的服務器集群替換被攻擊的服務器集群, 被攻擊的服務器集群在替換后如果恢復到某一閾值以下,則將其作為備用的服務器集群。步驟S14 由刷新服務器通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息, 使得域名解析服務器的調整能夠生效。在本步驟中,刷新服務器提前收集公網(wǎng)域名服務器(公網(wǎng)DNS)的IP地址,當刷新 服務器接收到來自控制服務器的刷新通知后,通過提前收集到的公網(wǎng)域名服務器的IP地 址將服務器集群的變更更新到各公網(wǎng)域名服務器。域名解析服各器的抵雅卩DNSmm^&mm^mmmm圖3示出了本發(fā)明的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng)的實施 例的結構。請參見圖3,本實施例的系統(tǒng)包括由多臺域名解析服務器10組成的服務器集群1、監(jiān)控服務器2、控制服務器3以及刷新服務器4。監(jiān)控服務器2和服務器集群中的每一 臺域名解析服務器10建立通信連接,控制服務器3和監(jiān)控服務器2之間建立通信連接,刷 新服務器4和控制服務器3之間建立通信連接。在監(jiān)控服務器2中設有三個模塊服務參數(shù)監(jiān)控模塊20、集群服務可用性監(jiān)控模 塊22和匯報模塊24。其中服務參數(shù)監(jiān)控模塊20監(jiān)控各域名解析服務器的服務參數(shù),這些 服務參數(shù)包括服務器的系統(tǒng)資源占用率、服務響應時間、服務請求數(shù)、服務響應失敗率等。 集群服務可用性監(jiān)控模塊22監(jiān)控服務器集群的可用性,這里的可用性是指某一比例的解 析請求響應時間小于設定值,也即,當解析請求響應時間小于設定值超過一定比例時,說明 服務器集群可用,反之說明服務器集群不可用。匯報模塊24耦接服務參數(shù)監(jiān)控模塊20和 集群服務可用性監(jiān)控模塊22,將監(jiān)控到的服務參數(shù)和集群服務的可用性匯報給控制服務器 3??刂品掌?中設有四個模塊數(shù)據(jù)接收模塊30、決策模塊32、調整模塊34以及 信息交互模塊36,這四個模塊是依序耦接的關系。 數(shù)據(jù)接收模塊30接收監(jiān)控服務器2匯報的服務參數(shù)和集群服務的可用性。決策模 塊32根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決策是否存在攻擊 行為。決策模塊32是基于各個參數(shù)不同的權重,通過服務器的系統(tǒng)資源占用率、服務請求 數(shù)、集群服務的可用性計算服務裕度。當計算出的服務裕度低于某一設定值時,得出存在攻 擊行為的決策結果;當計算出的服務裕度高于某一設定值時,得出不存在攻擊行為的決策 結果。例如,根據(jù)實際情況設置上述系統(tǒng)資源占用率、服務請求數(shù)、集群服務的可用性等這 些參數(shù)的權重,根據(jù)實際情況和邏輯來計算服務裕度,下面是計算方式的其中一個示例服務裕度W = 100% -wrXR+wqX (Q/QALL)+waXA,其中W為服務裕度,R為系統(tǒng) 資源占用率,wr是系統(tǒng)資源占用率所占的權重,Q是服務請求數(shù),QALL是服務最大請求數(shù), wq是服務請求數(shù)的權重,A為服務可用性,wa是服務可用性所占的權重。調整模塊34在決策模塊32得出存在攻擊行為的決策結果后,操縱服務器集群中 的各域名解析服務器進行調整,使用備用的服務器集群替換被攻擊的服務器集群。而被攻 擊的服務器集群在替換后如果恢復到某一閾值以下,則將其作為備用的服務器集群。信息交互模塊36在域名解析服務器發(fā)生調整時通知刷新服務器4。刷新服務器4包括公網(wǎng)域名服務器IP地址收集模塊40和與之耦接的刷新模塊 42,其中公網(wǎng)域名服務器IP地址收集模塊40是可選的模塊。公網(wǎng)域名服務器IP地址收集 模塊40提前收集公網(wǎng)域名服務器的IP地址并提供給刷新模塊42。當刷新模塊42收到來 自控制服務器3的刷新通知后,通過提前收集到的公網(wǎng)域名服務器的IP地址,將服務器集 群的變更更新到各公網(wǎng)域名服務器中,使得域名解析服務器的調整能夠生效。上述實施例是提供給本領域普通技術人員來實現(xiàn)或使用本發(fā)明的,本領域普通技 術人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對上述實施例做出種種修改或變化,因而 本發(fā)明的保護范圍并不被上述實施例所限,而應該是符合權利要求書提到的創(chuàng)新性特征的 最大范圍。
8
權利要求
一種域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,包括將多臺域名解析服務器組成服務器集群,該服務器集群共享一個IP地址;由監(jiān)控服務器定時監(jiān)控各域名解析服務器的服務參數(shù)和集群服務的可用性,并將服務參數(shù)和集群服務的可用性匯報給控制服務器;由控制服務器根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決策是否存在攻擊行為;如果決策出存在攻擊行為,則進行域名解析服務器的調整,并通知刷新服務器;由刷新服務器通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息,使得域名解析服務器的調整能夠生效。
2.根據(jù)權利要求1所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,其特 征在于,域名解析服務器的服務參數(shù)包括服務器的系統(tǒng)資源占用率、服務響應時間、服務請 求數(shù)、服務響應失敗率,域名解析服務器的集群服務的可用性是指設定比例的解析請求響 應時間小于設定值。
3.根據(jù)權利要求2所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,其特 征在于,在決策是否存在攻擊行為的過程中,通過服務器的系統(tǒng)資源占用率、服務請求數(shù)、 集群服務的可用性計算服務裕度,當服務裕度低于某一設定值時,得到存在攻擊行為的決笛社里 束5口米。
4.根據(jù)權利要求1所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,其特 征在于,域名解析服務器的調整包括使用備用的服務器集群替換被攻擊的服務器集群,被攻擊的服務器集群在替換后如果 恢復到某一閾值以下,則將其作為備用的服務器集群。
5.根據(jù)權利要求1所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,其特 征在于,服務器集群自動檢測集群內部的域名解析服務器的異常,并自動將出現(xiàn)異常的域 名解析服務器切換至正常的域名解析服務器。
6.根據(jù)權利要求1所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的方法,其特 征在于,刷新服務器提前收集公網(wǎng)域名服務器的IP地址,當刷新服務器收到來自控制服務 器的刷新通知后,通過提前收集到的公網(wǎng)域名服務器的IP地址將服務器集群的變更更新 到各公網(wǎng)域名服務器。
7.—種域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng),包括 由多個域名解析服務器組成的服務器集群;監(jiān)控服務器,與服務器集群中的各個域名解析服務器建立數(shù)據(jù)連接,監(jiān)控服務器包括服務參數(shù)監(jiān)控模塊,監(jiān)控各域名解析服務器的服務參數(shù); 集群服務可用性監(jiān)控模塊,監(jiān)控服務器集群的可用性;匯報模塊,耦接服務參數(shù)監(jiān)控模塊和集群服務可用性監(jiān)控模塊,將監(jiān)控到的服務參數(shù) 和集群服務的可用性匯報給控制服務器;控制服務器,與監(jiān)控服務器建立數(shù)據(jù)連接,控制服務器包括 數(shù)據(jù)接收模塊,接收監(jiān)控服務器匯報的服務參數(shù)和集群服務的可用性; 決策模塊,根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決策是否存在攻擊行為;調整模塊,操縱服務器集群中的各域名解析服務器的調整,使用備用的服務器集群替 換被攻擊的服務器集群;信息交互模塊,在域名解析服務器發(fā)生調整時通知刷新服務器;刷新服務器,與控制服務器建立數(shù)據(jù)連接,刷新服務器包括刷新模塊,通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息,使得域名解析服務 器的調整能夠生效。
8.根據(jù)權利要求7所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng),其特 征在于,服務參數(shù)監(jiān)控模塊監(jiān)控的域名解析服務器的服務參數(shù)包括服務器的系統(tǒng)資源占用 率、服務響應時間、服務請求數(shù)、服務響應失敗率;集群服務可用性監(jiān)控模塊監(jiān)控的域名解 析服務器的集群服務的可用性是指設定比例的解析請求響應時間小于設定值。
9.根據(jù)權利要求8所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng),其特 征在于,在控制服務器的決策模塊中,通過服務器的系統(tǒng)資源占用率、服務請求數(shù)、集群服 務的可用性計算服務裕度,當服務裕度低于某一設定值時,得到存在攻擊行為的決策結果。
10.根據(jù)權利要求7所述的域名解析服務器的抵御DNS請求報文泛洪攻擊的系統(tǒng),其特 征在于,刷新服務器還包括公網(wǎng)域名服務器IP地址收集模塊,耦接刷新模塊,提前收集公網(wǎng)域名服務器的IP地址 并提供給刷新模塊,當刷新模塊收到來自控制服務器的刷新通知后,通過提前收集到的公 網(wǎng)域名服務器的IP地址將服務器集群的變更更新到各公網(wǎng)域名服務器中。
全文摘要
本發(fā)明公開了域名解析服務器的抵御DNS請求報文泛洪攻擊的方法和系統(tǒng),可以有效抵御DNS請求報文泛洪攻擊,保護域名解析服務器,確保域名的解析能夠正常進行。其技術方案為方法包括將多臺域名解析服務器組成服務器集群,服務器集群共享一個IP地址;由監(jiān)控服務器定時監(jiān)控各域名解析服務器的服務參數(shù)和集群服務的可用性,并將服務參數(shù)和集群服務的可用性匯報給控制服務器;由控制服務器根據(jù)收集到的域名解析服務器的服務參數(shù)和集群服務的可用性,決策是否存在攻擊行為;如果決策出存在攻擊行為,則進行域名解析服務器的調整,并通知刷新服務器;由刷新服務器通過刷新公網(wǎng)域名服務器緩存的域名解析服務器信息,使得域名解析服務器的調整能夠生效。
文檔編號H04L29/12GK101924776SQ20101028256
公開日2010年12月22日 申請日期2010年9月16日 優(yōu)先權日2010年9月16日
發(fā)明者吳振永, 洪珂, 牛榮利 申請人:網(wǎng)宿科技股份有限公司