999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Netfilter的DNS實時監控統計系統的設計

2009-01-01 00:00:00王振宇鄧錦福
計算機應用研究 2009年4期

(華南理工大學a.軟件學院;b.計算機科學與工程學院, 廣州 510006)

摘 要:分析當前DNS系統安全在服務監控統計方面的進展及問題,設計一種基于Netfilter的多層次構架實時監控統計系統DRMSS。其利用Netfilter在Linux內核空間實現DNS數據的實時過濾與解析,開發misc文件設備驅動模塊以提供內核空間與用戶空間之間內存映射,并結合讀寫同步算法,實現兩種空間之間數據的快速交換。實驗表明,DRMSS顯著提高了域名監控統計的服務性能,增強了域名服務的安全性。

關鍵詞:域名服務;Netfilter;內存映射;實時監控

中圖分類號:TP393文獻標志碼:A

文章編號:1001-3695(2009)04-1487-04

Design of DNS real-time monitor and statistics system based on Netfilter

WANG Zhen-yua,DENG Jin-fub

(a.School of Software Engineering,b.School of Computer Science Engineering, South China University of Technology, Guangzhou510006, China)

Abstract:By analyzing the current research status and problems of DNS security services in monitor and statistics fields, this paper designed and implemented a multi-level framework DNS real-time monitor system(DRMSS) based on Netfilter.It made use of netfilter to filter and analyze DNS services data in Linux kernel space, developed a misc file device driver module to provide memory mapping between kernel space and user space, and realized data exchange between two spaces by combining read-write synchronization algorithm.Experimental results indicate that DRMSS enhances the security of domain name services,and optimize performance of services.

Key words:DNS;Netfilter;memory mapping;real-time monitor

0 引言

域名服務系統(domain name system)是一種廣泛用于TCP/IP網絡的分布式域名服務,完成從主機域名到IP地址的映射關系的查詢。ISC BIND[1]及Foundation CNS[2]作為當前主流域名服務軟件,由于開發著重點的局限,在服務統計監控方面存在很多不足[3]。DNS服務器的實時監控及異常自動處理等功能對于提高網絡的安全性和服務質量非常必要,而服務數據的統計整合也能為企業的產品規劃戰略提供準確的業務數據支持。

1 當前研究進展及問題

目前有許多軟件被用于限制惡性攻擊,但都是被動式的,在輸入DNS黑名單前需要人工辨別。Dnstop[4]、Des[5]等工具只能提供DNS數據中某一方面的計數,因此缺少相關的調查分析能力,也不能簡單地分辨出感興趣的趨勢。

通用DNS應用軟件BIND、CNS提供的日志數據包含很多關鍵信息,這些信息能夠幫助定位一部分安全問題。但是,手工處理這些日志文件是個很繁瑣而低效的工作。擴展的日志監視工具僅將重心放在處理具體領域,或者用于查看特定域名的手工列表,而特定的日志事件要實現成功處理,其先決條件是監視系統能夠理解哪些操作信息需要考慮。然而,許多安全事務會影響這種監測。

通過DNS查詢日志所檢測到的異??赡苁钦嬲陌踩怨簦部赡苤皇且粋€配制錯誤。因此,在許多情況下,僅僅利用DNS查詢日志進行數據視圖化分析,遠不能發現視圖顯示異常的真正原因。DNS服務報文[6](又稱為消息)是 DNS所有域協議通信的載體,其格式如圖1所示,其報文類型、狀態等底層特征及回應報文數據反映了DNS服務狀態,在分析服務監控異常中起關鍵作用。然而,由于應用軟件日志實現的限制以及數據的敏感性,這些在監控分析時起關鍵作用的數據卻無法得到。

DNS應用軟件BIND、CNS及Dnstop、Des等工具均利用DNS的日志查詢機制進行統計分析,但是日志機制對查詢日志都進行I/O存儲, 因此I/O成為了影響性能的主要瓶頸之一。此外,當域名訪問頻率過快時,日志記錄無法及時寫入,導致服務數據丟失。針對開源的BIND,文獻[7]采用了修改查詢的統計方式來解決性能問題,但其無法對回應數據進行統計,更無法進行異常的實時處理。

2 基于Netfilter的域名實時監控統計系統總體設計

Netfilter[8]是Linux內核2.6.x系列中可選安裝的一套功能強大而靈活的防火墻架構。其嵌入內核IP協議棧的一系列調用入口,根據網絡報文的流向為多種協議定義五種鉤子,設置報文處理路徑,能夠提供快速的數據獲取解析服務。

系統基于Netfilter能進行實時DNS應用數據過濾解析,分析處理,為DNS域名服務實時監控提供了完整的實時監控方案??傮w構架設計如圖2所示:前臺應用管理層、數據庫數據統計整合層、后臺DNS服務器組監控層。各層通過TCP/IP socket進行數據通信。

前臺應用管理層為系統表現層,采用B/S構架,安裝在應用服務器中,集中管理配制及展示各項服務。程序包括前臺管理層和前臺代理層。前臺管理層包括系統管理服務、數據統計整合服務、統計展示管理服務和監控管理服務。統計整合服務通過控制數據庫整合服務將數據按需求進行整合挖掘分析;統計展示管理服務采用Flying Term算法[9],對DNS服務數據進行趨勢特征分析,實現圖表形式的展現;監控管理服務用于配制DNS服務器監控層,包括黑名單管理、自動異常處理管理和服務失敗監控管理,并對各功能進行可視化方式的及時展示,以便快速地查找異常及趁勢,進行即時處理。前臺代理層包括遠程控制代理、數據庫代理,通過socket通信傳遞XML數據實現與后臺DNS服務器組監控層(部署于各DNS應用服務器),以及數據庫統計整合層(部署于數據庫服務器)的通信,三層之間協同合作完成各種操作控制。 

數據庫統計整合層部署于數據庫服務器,提供數據接收整合分析服務。數據庫代理服務為守護進程,通過與應用前臺總代理的通信,控制數據入庫及整合分析。數據整合分析服務則調用系統cron服務定時啟動對服務數據的整合分析,移除過期數據,并提供擴展的數據挖掘功能接口。數據入庫服務接收各DNS服務器監控統計服務發送的數據,并對這些數據進行適當的轉換、去噪操作后存入數據庫中。數據統計整合減少了數據庫存量,滿足歷史數據的分析,提高了檢索性能,通過擴展數據挖掘接口,方便發現具有商業價值的數據趁勢。

DNS服務器組監控層部署在多臺DNS服務器中,采用C/S構架,是系統服務的核心處理層。程序分為內核空間和用戶空間兩部分,通過MISC設備驅動模塊內存映射實現內核空間與用戶空間空間的數據交換[10]?;贜etfilter實現了DNS服務數據的獲取、監控以及服務異常的實時處理。主要模塊有:后臺代理服務、數據過濾解析服務、數據分析服務、服務監控處理服務、處理分發服務和設備驅動模塊。

3 DNS服務器組監控層詳細設計

基于Netfilter的監控層結構如圖3所示。采用Netfilter快速完整的過濾解析DNS服務數據,支持任何粒度及類型分析,解決日志方式信息不全面的問題;IP協議棧中完成數據的過濾解析,重組信息幀,減少傳輸數據量;設置內核緩沖區以解決傳輸不及時導致丟包問題。內核空間與用戶空間數據傳輸使用內存映射方式讀寫,減少系統狀態切換及數據多次復制時間。用戶空間內存緩沖文件存儲相關統計及監控信息,首先解決了I/O瓶頸問題;其次,因為域名訪問具有局部性,其提高了數據查詢更改的效率。一定時間內數據緩存在內存也為對網絡訪問的實時監控提供了條件。

數據過濾解析服務包括應答數據過濾解析模塊和請求數據過濾解析模塊。請求數據過濾解析模塊是在NF_IP_LOCAL_IN參考點注冊的回調函數,設置其優先級最低,從而保證只有那些已經通過所有防火墻過濾規則的數據包才被截獲。其處理流程如圖4(a)所示,數據包被截獲后,依據設定規則進行解析過濾分析,并將數據組合成信息幀寫入內核緩沖區Qust_DataGram_Table。符合規則的數據返回NF_ACCEPT,發送給域名服務器軟件處理;不符合規則的數據則返回NF_DROP,報文被丟棄。應答數據過濾解析模塊是在NF_IP_LOCAL_OUT參考點注冊的回調函數,設置其優先級最低。其處理流程如圖4(b)所示,本機發出的DNS回應數據被截獲后,依據設定規則進行解析分析,將處理數據發送至內核緩沖區Ack_DataGram_Table,返回ACCEPT,發送給請求客戶。

虛擬文件系統將用戶虛擬內存區映射到內核空間緩沖區頁面,數據分析服務從映射內存中按低位到高位順序讀取數據并進行分析,甄別異常服務(超出設定閾值等異常特征)。若發現異常服務,系統將異常信息事件報告給監控程序,監控程序根據事件信息調用相應方式生成控制命令,通過Netlink[11]方式傳送至內核空間運行的處理分發服務,并將異常事件信息及處理結果寫入異常內存表,最后通過后臺代理,將異常事件及時在前臺展現。處理分發服務接受并解釋命令,更改請求應答規則表,實現實時事件處理。處理方式有:a)改變內核過濾解析服務的解析策略;b)改變內核過濾解析服務的過濾策略:如對相同源IP一定時間內頻繁查詢(可能是DNS拒絕服務攻擊),丟棄報文,拒絕服務;c)改變分析服務策略;d)通過后臺代理,遠程控制DNS應用軟件處理。

數據轉發程序由一個稱為檢驗進程的守護進程控制。當定時器超時或者內存數據表數據值達到一定大小時,檢驗進程將調用數據轉發程序,通過與服務器數據入庫程序協作將各內存緩沖數據表寫入數據庫,為將來審計提供原始數據。

4 用戶空間與內核空間內存映射

傳統用戶空間與內核空間的數據傳遞通過中斷方式,且多次數據拷貝,影響性能。共享內存機制只支持用戶空間的內存共享。本系統采用虛擬文件系統技術開發一個MISC字符設備驅動模塊drmssmmap,為用戶空間程序訪問內核緩沖區提供內存映射支持,并結合同步讀寫算法使兩種空間讀寫操作實現內存共享,減少狀態切換及數據拷備時間,提高數據傳輸性能。

首先在/dev目錄下創建一個字符設備文件drmssmmap,主設備號為10;編寫設備描述文件,并定義設備文件操作結構drmssmmap_fops如下:

static struct file_operations drmssmmap_fops ={

open:drmssmmap_open, /* 定義open的實現函數,為空操作*/

release:drmssmmap_close,

/*定義release的實現函數,為空操作*/

mmap:drmssmmap_mmap /* 定義mmap的實現函數,在drmssmmap_mmap函數中實現內存映射 */

};

Drmssmmap_mmap函數是mmap系統調用的在內核中的實現函數, 其核心是調用核心態內存頁面映射函數remap_page_range實現將用戶空間進程請求的虛擬內存(用struct vm_area表示)映射到內核緩沖區。Drmssmmap模塊加載時注冊設備文件,用戶空間程序打開設備文件drmssmmap,執行系統調用mmap,即調用內核驅動模塊中的drmssmmap_mmap函數,實現用戶空間虛擬內存區與內核緩沖區的映射。

5 用戶空間與內核空間數據傳輸

用戶空間與內核空間之間的數據傳輸方式有兩種:a)通過Netlink傳輸用戶空間的監控處理服務數據到內核空間的處理分發服務;b)通過drmssmmap文件設備驅動模塊提供的內存映射傳輸內核態的數據過濾解析服務數據到用戶態的數據分析服務。

Netlink協議為用戶空間進程與內核模塊之間的通信提供了一種靈活而高級的通信機制:全雙工、帶緩存的I/O、組播和異步通信[11]。由于Netlink使用軟中斷而不是內核線程來接收數據,這樣就可以保證數據接收的實時性。Netlink傳輸數據格式如圖5(a)所示。

Linux內核2.6中,內存頁面為4 KB,緩沖區大小為4 KB的整倍數的兩個頁表:Quest_DataGram_Table存放請求數據過濾解析服務數據交換區;Ack_DataGram_Table存放應答數據過濾解析服務數據交換區。通過設備驅動映射,程序建立用戶空間和內核空間的統一偏移間接尋址地址轉換,兩個頁表區實現從偏移0到最高地址偏移MaxOffset的順序讀寫控制。內核空間的數據過濾解析服務在緩沖區中根據寫指針不斷寫入生成規則數據;同時用戶空間分析程序根據讀指針從緩沖區中不斷讀出數據進行分析,因此需要同步兩者之間的讀寫。必須保證寫指針當前所指向的地址數據是空的或已經被讀取,讀指針當前所指向的地址數據有實際數據并且尚未被讀取,并保證讀指針和寫指針不能同時操作同一個地址。在系統中,對內核緩沖區的讀寫同步算法主要通過利用報頭設置同步字節實現。

邏輯上,緩沖區是由許多數據記錄構成的多個連續頁,每條數據記錄是一個數據幀,數據幀格式如圖5(b)所示,分為幀頭和幀體兩部分。幀頭由4個字節構成。首字節為同步字節Syn,鎖定位1表示幀正處理讀寫指針操作,否則開放鎖。有效位1表示幀數據有意義,而非格式化數據、讀寫位1表示數據被寫入,否則表示數據無效或已被讀取,重編位1表示此幀為數據重編碼幀,到達有效數據緩沖區最高位,重新從緩沖區最低處開始寫入數據。其中:類型type表示幀體類型;數據數目num表示主體數據個數;幀長度len表示數據幀所占字節個數。

寫數據流程如圖6所示:先將緩沖區格式化為0x00,W表示寫指針偏移,預寫指針PW與W之間形成數據可寫區,管理預寫入數據所用空間,防止讀寫導致的數據覆蓋、碎片數據問題。當數據可寫區連續空間足夠容納寫入幀data,區內已讀或已格式化,且未鎖定時,才可以進行寫入操作。當預寫指針到達緩沖區最高偏移區且可寫區無足夠空間寫入幀data時,寫入重編幀通知讀指針,下一條有效數據幀開始于寫指針最低偏移位0,然后將寫指針和預寫指針置為0。重編幀如圖5(c)所示,只含有幀頭,置同步字節Syn中有效位和重編位為1,其余全為0。

讀流程如圖7所示,從最緩沖區最低偏移0開始讀寫,當預讀定的幀同步幀Syn鎖定位、重編位為0,有效位、讀寫位為1時讀取幀數據。當預讀幀同步字節Syn重編位為1,或讀指針距緩沖區最高偏移小于4 Byte時,表示下一幀開始于緩沖區最低位0,讀指針置為0,重新讀取過程。

6 實驗結果

實驗的運行硬件環境:CPU為Intel Pentium(R)4 3.06 GHz,內存為0.99 GB的PC機,100 Mbps網絡。軟件系統:Fedora Linux,內核2.6.21,DNS應用軟件為BIND 9.3.1。測試客戶端禁用DNS緩存,BIND禁用緩存服務。所有查詢域名在DNS服務器存在相應域名解析文件。程序調用Java的InetAddress.getAllByName()函數,運行于兩臺PC機上,產生多個線程,同時向DNS服務器請求域名解析。請求域名隨機地從40個域名中選取產生,一共向DNS服務器發出100 000 次域名的請求。圖8顯示了在不同的域名查詢速度條件下,使用開啟日志統計功能的BIND域名訪問、關閉日志統計功能BIND域名訪問和使用無日志功能的BIND加DRMSS后域名訪問的平均時間比較。

通過實驗結果數據對比表明:使用BIND日志統計時,當日志丟失率為0時,I/O操作頻繁導致處理域名的平均時間比DRMSS顯著增加。隨著查詢速率增加,日志丟失率逐漸提高,BIND處理時間逐漸減少。當查詢速率達到一定閾值時,處理時間又將增加。而實時監控系統DRMSS獨立于BIND本身,在IP協議棧中實現數據過濾解析,對DNS服務無較大影響,其平均訪問時間隨著訪問速率增加而緩慢增加,平均處理時間僅比BIND無日志方式增加1/2以內。在查詢速率較低的情況下,DRMSS的平均處理時間明顯少于日志方式。 

7 結束語

基于Netfilter的DNS實時監控系統在IP協議棧中快速過濾解析DNS服務數據,利用MISC文件設備驅動模塊及同步讀寫算法實現內核空間與用戶空間的數據快速交換,并進行實時監控統計處理。系統具有廣泛適應性、監控異常準確性、響應及時性、服務數據完備性和統計整合有效性,能有效保障域名服務安全、提高服務性能,以及分析商業數據提供了技術保證。后期工作將改進數據分析服務,改進數據分析算法,將數據分析服務放入的內核空間處理,減少數據傳輸量,進一步提高監控性能。

參考文獻:

[1]

ALBITZ P,LIU C.DNS and BIND[M].[S.l.]:O’Reilly Associates Inc,2006.

[2]Nominum caching name server(CNS)[EB/OL].http://www.nominum.com/.

[3]RAMASUBRAMANIAN V,SIRER E G.Perils of transitive trust in the domain name system[C]//Proc of the 5th ACM SIGCOMM Confe-rence on Internet Measurement.Berkeley,CA:USENIX Association,2005:35.

[4]KRISTOFF J.An automated incident:the measurement factory:Dnstop tool[EB/OL].(2006)[2008-02-07].http://dns.measurement-factory.com/tools/dnstop/.

[5]The measurement factory:dsc-DNS statistics collector[EB/OL].(2008)[2008-02-07].http://dns.measurement-factory.com/tools/dsc/.

[6]MOCKAPETRIS P.RFC 1035,Domain names-implementation and specification[S].USC/Information Sciences Institute, 1987.

[7]王振宇,施東煒.基于BIND域名解析服務管理的設計[J].計算機工程,2007,33(15):134 -136.

[8]RUSSELL R,WELTE H.Linux Netfilter hacking HOWTO[EB/OL].(2002-07-02)[2008-07-10].http://www.netfilter.org/documentation/HOWTO//netfilter-hacking-HOWTO.html.

[9]REN P,KRISTOFF J,GOOCH B.Visualizing DNS traffic[C]//Proc of the 3rd International Workshop on Visualization for Computer Security.New York:ACM Press,2006:23-30.

[10]CORBET J,KROAH-HARTMAN G,RUBINI A.Linux device drivers[M].3rd ed.[S.l.]:O’Reilly,2005.

[11]SALIM J,KHOSRAVI H,KLEEN A,et al.RFC3549,Linux Netlink as an IP services protocol[S].2003.

主站蜘蛛池模板: 久久香蕉国产线看观看精品蕉| 欧美特黄一级大黄录像| www.youjizz.com久久| 国产精品午夜福利麻豆| 91精品情国产情侣高潮对白蜜| 欧美不卡视频在线观看| 天天色综网| 动漫精品啪啪一区二区三区| 另类综合视频| 亚洲欧洲综合| 一级一级特黄女人精品毛片| 一级毛片免费高清视频| 毛片在线区| 黄色三级毛片网站| 国产成人艳妇AA视频在线| 婷婷中文在线| 爱色欧美亚洲综合图区| 国产在线专区| 亚洲AV无码久久精品色欲| 免费国产黄线在线观看| 国产手机在线小视频免费观看| 亚洲中文字幕日产无码2021| 青青草综合网| 欲色天天综合网| 国产精品第5页| 日韩少妇激情一区二区| 国产高清在线精品一区二区三区 | 欧美午夜在线观看| 人妻中文久热无码丝袜| 老司机aⅴ在线精品导航| 黄色一级视频欧美| 一区二区三区在线不卡免费| 免费国产无遮挡又黄又爽| 亚洲中文精品久久久久久不卡| 国产日韩欧美中文| 国产精品无码制服丝袜| 激情综合婷婷丁香五月尤物| 激情无码字幕综合| 欧美亚洲国产日韩电影在线| 成人字幕网视频在线观看| 欧美日韩v| 日本一区二区三区精品国产| 欧美综合激情| 青草视频久久| 福利国产微拍广场一区视频在线| 97超爽成人免费视频在线播放| 青青久视频| 18黑白丝水手服自慰喷水网站| 少妇被粗大的猛烈进出免费视频| 18禁色诱爆乳网站| 亚洲精品国产成人7777| 亚洲综合中文字幕国产精品欧美| 精品国产女同疯狂摩擦2| 亚洲欧美日韩高清综合678| 日本不卡在线| 午夜免费小视频| 亚洲欧洲国产成人综合不卡| 国产在线日本| 亚洲性一区| 国产69精品久久久久孕妇大杂乱| 91麻豆精品视频| 亚洲欧美自拍视频| 亚洲一区二区无码视频| 成人福利在线免费观看| 欧美一区二区自偷自拍视频| 一级一毛片a级毛片| 欧美成人二区| 国产高清国内精品福利| 久久综合色视频| 又大又硬又爽免费视频| 亚洲毛片一级带毛片基地| 亚洲视频四区| 呦女精品网站| 亚洲欧美精品一中文字幕| 全部无卡免费的毛片在线看| 久草美女视频| 丰满人妻一区二区三区视频| 91毛片网| 中文字幕66页| 精品久久久久成人码免费动漫| 欧美视频在线不卡| 精品99在线观看|