• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      UNIX主機(jī)行為監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2010-01-08 07:28:34
      關(guān)鍵詞:網(wǎng)卡內(nèi)核引擎

      張 君

      (浙江省電子產(chǎn)品檢驗(yàn)所,浙江杭州310012)

      UNIX主機(jī)行為監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      張 君

      (浙江省電子產(chǎn)品檢驗(yàn)所,浙江杭州310012)

      該文介紹了Unix主機(jī)行為監(jiān)控系統(tǒng)在大型網(wǎng)絡(luò)中的應(yīng)用及作用,并提出了具體的設(shè)計(jì)方案與實(shí)現(xiàn)方法。該系統(tǒng)主要采用透明的方式串接在工作區(qū)域和服務(wù)器群之間,利用網(wǎng)卡零拷貝的技術(shù)保障業(yè)務(wù)流量不會(huì)產(chǎn)生瓶頸,同時(shí)利用bypass的技術(shù)來(lái)保障服務(wù)器群的高可用性,既能保證服務(wù)器群的安全,又不會(huì)給網(wǎng)絡(luò)帶來(lái)附加的影響。

      透明;零拷貝;反解析

      0 引 言

      目前,財(cái)稅、公安、金融、電力、電信和移動(dòng)行業(yè)、大型公司和著名門(mén)戶(hù)網(wǎng)站,通常選擇Unix/Linux主機(jī)來(lái)運(yùn)行關(guān)鍵業(yè)務(wù),企業(yè)數(shù)據(jù)中心通常擁有數(shù)量眾多的Unix/Linux主機(jī),用以運(yùn)行電子商務(wù)、數(shù)據(jù)庫(kù)應(yīng)用、運(yùn)維管理、ERP和協(xié)同工作群件等。大型企業(yè)內(nèi)部甚至有數(shù)百臺(tái)Linux/Unix主機(jī)、大量的數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用、系統(tǒng)軟件和復(fù)雜的網(wǎng)絡(luò)系統(tǒng)。面對(duì)系統(tǒng)和網(wǎng)絡(luò)安全性、IT運(yùn)維管理和IT內(nèi)控外審的挑戰(zhàn),管理人員需要采用有效的技術(shù)手段,按照行業(yè)標(biāo)準(zhǔn)進(jìn)行精確管理、事后追溯審計(jì)、實(shí)時(shí)監(jiān)控和警報(bào)[1]。但由于缺乏相應(yīng)的先進(jìn)工具和手段,企業(yè)無(wú)法保證系統(tǒng)管理員嚴(yán)格按照規(guī)范來(lái)進(jìn)行管理,如無(wú)法保證系統(tǒng)管理員的真實(shí)管理行為/管理報(bào)告與規(guī)章制度要求一致,造成企業(yè)網(wǎng)絡(luò)及服務(wù)器經(jīng)常處于不可信、不可控、不可視的狀態(tài)。UNIX主機(jī)行為監(jiān)控系統(tǒng)主要用于UNIX服務(wù)器系統(tǒng)安全防護(hù),讓UNIX服務(wù)器的操作、管理與運(yùn)行更加可視、可控、可管理、可跟蹤、可鑒定。該系統(tǒng)解決了UNIX服務(wù)器系統(tǒng)級(jí)別的安全問(wèn)題與安全威脅,為國(guó)家重要部門(mén)和企業(yè)UNIX服務(wù)器的正常有序運(yùn)行,提供可靠的安全保障;同時(shí),可對(duì)數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)設(shè)備、安全設(shè)備等各種IT設(shè)備進(jìn)行操作行為管理。

      1 系統(tǒng)設(shè)計(jì)

      1.1 總體設(shè)計(jì)

      考慮到系統(tǒng)的安全性和運(yùn)行的效率,UNIX主機(jī)行為監(jiān)控系統(tǒng)可采用自行修改和裁剪的Linux內(nèi)核作為基礎(chǔ)平臺(tái),系統(tǒng)工具集采用busybox,因此除了C語(yǔ)言的一些運(yùn)行時(shí)庫(kù)外,不依賴(lài)于任何發(fā)行版的Linux系統(tǒng)。這樣既避免了發(fā)行版Linux眾多的服務(wù)中可能存在安全漏洞的隱患,也節(jié)省下來(lái)了這些服務(wù)運(yùn)行所消耗的系統(tǒng)資源。

      UNIX主機(jī)行為監(jiān)控系統(tǒng)完全可透明地串接在工作區(qū)域和服務(wù)器群之間,系統(tǒng)本身不需要分配IP地址,直接將兩端的出口分別接在系統(tǒng)的兩個(gè)網(wǎng)卡上即可。一般情況下流經(jīng)系統(tǒng)的數(shù)據(jù)分為兩部分:一部分是服務(wù)器對(duì)外提供的業(yè)務(wù)流量;另一部分是維護(hù)人員對(duì)服務(wù)器本身進(jìn)行維護(hù)的操作流量。系統(tǒng)需要監(jiān)控的是第二部分流量,也就是維護(hù)操作流量,對(duì)于業(yè)務(wù)流量系統(tǒng)需要近乎于線性的轉(zhuǎn)發(fā),不能因?yàn)榻尤肓讼到y(tǒng)而影響原有正常業(yè)務(wù)的運(yùn)行效率。系統(tǒng)總體設(shè)計(jì)可采用如圖1、2所示,圖1是在設(shè)備一切正常的情況下運(yùn)行示意,圖2是在數(shù)據(jù)分流引擎或者反解析引擎崩潰的情況下運(yùn)行示意。

      圖1 設(shè)備一切正常的情況下運(yùn)行示意

      圖2 數(shù)據(jù)分流引擎或反解析引擎崩潰的情況下運(yùn)行示意

      1.2 模塊設(shè)計(jì)

      1.2.1 網(wǎng)卡驅(qū)動(dòng)設(shè)計(jì)

      網(wǎng)卡驅(qū)動(dòng)是系統(tǒng)中唯一運(yùn)行在內(nèi)核級(jí)的模塊,通過(guò)/proc與運(yùn)行在應(yīng)用層的模塊進(jìn)行交互。考慮到穩(wěn)定性因素,網(wǎng)卡驅(qū)動(dòng)僅僅向應(yīng)用層提供讀取數(shù)據(jù)包和轉(zhuǎn)發(fā)數(shù)據(jù)包接口,其他邏輯功能均在其他模塊中實(shí)現(xiàn)。同時(shí)考慮到系統(tǒng)后期升級(jí)問(wèn)題,網(wǎng)卡驅(qū)動(dòng)以ko的方式存在,而不是直接編譯到內(nèi)核當(dāng)中。

      1.2.2 數(shù)據(jù)分流引擎設(shè)計(jì)

      數(shù)據(jù)分流引擎的主要作用在于從網(wǎng)卡驅(qū)動(dòng)獲取當(dāng)前進(jìn)入系統(tǒng)的數(shù)據(jù)包,同時(shí)對(duì)數(shù)據(jù)包進(jìn)行識(shí)別,當(dāng)識(shí)別為操作數(shù)據(jù)流時(shí),將數(shù)據(jù)包交由反解析引擎做進(jìn)一步處理,反之直接通過(guò)另一邊網(wǎng)卡發(fā)送數(shù)據(jù)。

      1.2.3 反解析引擎設(shè)計(jì)

      反解析引擎從得到的操作數(shù)據(jù)流中還原出維護(hù)操作,并將操作以日志的形式發(fā)送至分析引擎進(jìn)行規(guī)則匹配,同時(shí)將數(shù)據(jù)流記錄為二進(jìn)制文件,該文件將作為實(shí)時(shí)監(jiān)控和回放的源文件。

      1.2.4 分析引擎設(shè)計(jì)

      分析引擎接收到反解析引擎發(fā)送來(lái)的操作日志時(shí),通過(guò)預(yù)定義的規(guī)則庫(kù)對(duì)操作日志進(jìn)行匹配。如果在匹配過(guò)程中,命中了規(guī)則庫(kù)的某條規(guī)則,則產(chǎn)生相應(yīng)的動(dòng)作,反之簡(jiǎn)單地將操作日志錄入操作日志數(shù)據(jù)庫(kù)。

      1.2.5 Bypass引擎設(shè)計(jì)

      Bypass引擎實(shí)時(shí)監(jiān)控反解析引擎和數(shù)據(jù)分流引擎的運(yùn)行情況,一旦發(fā)生故障,立即通過(guò)內(nèi)核打開(kāi)硬件Bypass繼電器,保證網(wǎng)絡(luò)的通暢,同時(shí)重新啟動(dòng)反解析引擎和數(shù)據(jù)分流引擎,當(dāng)重啟完畢后再次進(jìn)入系統(tǒng)監(jiān)控狀態(tài)。

      2 系統(tǒng)實(shí)現(xiàn)

      2.1 網(wǎng)卡驅(qū)動(dòng)實(shí)現(xiàn)

      網(wǎng)卡驅(qū)動(dòng)需要根據(jù)選擇的硬件不同而實(shí)現(xiàn)不同的代碼,這里以intel100M網(wǎng)卡為例來(lái)介紹如何實(shí)現(xiàn)系統(tǒng)中的純透明模式。純透明不同于橋接,假設(shè)使用eth0和eth1兩個(gè)網(wǎng)口,那么兩端分別接到這兩個(gè)網(wǎng)口上,但對(duì)于兩端而言都感知不到系統(tǒng)的存在,和直接使用網(wǎng)線把兩端連接起來(lái)效果相同。

      首先,在e100_set_multicast_list接口中,將eth0和eth1對(duì)應(yīng)的flags置為IFF_PROMISC,保證網(wǎng)卡工作在混雜模式。然后,在e100_rx_indicate接口中加入代碼,如果發(fā)現(xiàn)是由eth0和eth1接收到的數(shù)據(jù)包,則把相應(yīng)的sk_buff(Linux內(nèi)核存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)包的結(jié)構(gòu)體)緩存下來(lái),而不交給內(nèi)核中的TCP/IP協(xié)議棧代碼處理,等待數(shù)據(jù)分流引擎來(lái)讀取。最后,封裝e100_xm it_frame接口,供其他引擎直接調(diào)用發(fā)送數(shù)據(jù)包。

      2.2 數(shù)據(jù)分流引擎實(shí)現(xiàn)

      數(shù)據(jù)分流引擎從/proc下的指定文件中讀取出網(wǎng)卡驅(qū)動(dòng)接收到數(shù)據(jù)包的物理地址,通過(guò)mmap將物理地址映射到本進(jìn)程的虛擬地址空間,此后對(duì)數(shù)據(jù)包所在內(nèi)存的操作可以完全與進(jìn)程空間內(nèi)的內(nèi)存操作相同。

      由于獲取到的數(shù)據(jù)包為包含鏈路層包頭的裸數(shù)據(jù)包,因此首先需要模擬內(nèi)核的TCP/IP協(xié)議棧對(duì)數(shù)據(jù)包進(jìn)行重組和拆解處理,然后對(duì)應(yīng)用層數(shù)據(jù)進(jìn)行模式匹配,匹配命中的數(shù)據(jù)包交給反解析引擎做進(jìn)一步處理,反之通過(guò)/proc下指定文件將轉(zhuǎn)發(fā)指令傳給內(nèi)核,由內(nèi)核負(fù)責(zé)數(shù)據(jù)包直接轉(zhuǎn)發(fā)。

      2.3 反解析引擎實(shí)現(xiàn)

      反解析引擎需要對(duì)SSH、TELNET和RLOGIN 3種常用的UNIX服務(wù)器維護(hù)協(xié)議進(jìn)行反解析。對(duì)于TELNET和RLOGIN兩種協(xié)議比較簡(jiǎn)單,因?yàn)樗鼈兪褂妹魑姆绞絺鬏?所以只需要對(duì)數(shù)據(jù)包進(jìn)行分析并解析出操作,然后原樣轉(zhuǎn)發(fā)數(shù)據(jù)包即可。SSH使用公鑰加密、私鑰解密的加密通訊方式,因此需要首先在SSH連接協(xié)商階段對(duì)密鑰對(duì)進(jìn)行替換,接下來(lái)的處理方式與TELNET和RLOGIN雷同,原理如圖3所示:

      圖3 反解析引擎實(shí)現(xiàn)

      2.4 分析引擎實(shí)現(xiàn)

      分析引擎啟動(dòng)時(shí)從用戶(hù)自定義規(guī)則文件中加載規(guī)則樹(shù)(為達(dá)到高速匹配的目的,使用樹(shù)形規(guī)則庫(kù),而不使用規(guī)則鏈),規(guī)則節(jié)點(diǎn)中包含規(guī)則ID、條件和動(dòng)作3個(gè)主要字段,動(dòng)作包括告警和阻斷兩種。

      分析引擎實(shí)時(shí)接收反解析引擎發(fā)送來(lái)的操作日志數(shù)據(jù),然后對(duì)操作日志進(jìn)行規(guī)則樹(shù)匹配,如果匹配命中則按照動(dòng)作進(jìn)行相應(yīng)處理。命中規(guī)則中動(dòng)作為阻斷則向連接建立的兩端分別模擬發(fā)送rst包阻斷連接,動(dòng)作為告警則向告警中心發(fā)送告警信息。

      2.5 Bypass引擎實(shí)現(xiàn)

      Bypass引擎通過(guò)本地UDP通訊分別向數(shù)據(jù)分流引擎和反解析引擎發(fā)送質(zhì)詢(xún)包,詢(xún)問(wèn)兩者的實(shí)時(shí)狀態(tài),兩個(gè)引擎接收到質(zhì)詢(xún)后要立即向Bypass引擎回復(fù)運(yùn)行狀態(tài)。質(zhì)詢(xún)期超時(shí)設(shè)定為3s,也就是說(shuō)如果3s內(nèi)Bypass引擎收不到數(shù)據(jù)分流引擎和反解析引擎的運(yùn)行狀態(tài),則立刻通過(guò)/proc下指定文件向內(nèi)核發(fā)送開(kāi)啟Bypass繼電器指令,整個(gè)系統(tǒng)進(jìn)入直接通路狀態(tài)。在通路狀態(tài)下,由于繼電器的作用,所有網(wǎng)絡(luò)數(shù)據(jù)包直接由兩塊網(wǎng)卡在硬件上轉(zhuǎn)發(fā),此時(shí)軟件模塊全部失效,具體狀態(tài)可參見(jiàn)圖2。

      當(dāng)然,由于存在一個(gè)質(zhì)詢(xún)周期,如果剛好在質(zhì)詢(xún)周期的開(kāi)始數(shù)據(jù)分流引擎或者反解析引擎出現(xiàn)問(wèn)題,那么網(wǎng)絡(luò)會(huì)在質(zhì)詢(xún)周期內(nèi)出現(xiàn)中斷的現(xiàn)象,因此在CPU性能較強(qiáng)的情況下,應(yīng)該將質(zhì)詢(xún)周期適當(dāng)縮短,以保證網(wǎng)絡(luò)通暢。

      3 結(jié)束語(yǔ)

      UNIX主機(jī)行為監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)UNIX服務(wù)器進(jìn)行遠(yuǎn)程維護(hù)的全方位控制和監(jiān)管,不改變?cè)芯W(wǎng)絡(luò)結(jié)構(gòu)和使用方式,且整體部署方式簡(jiǎn)單,可以比較方便地集成到現(xiàn)有安全策略的管理架構(gòu)中??梢灶A(yù)見(jiàn),該系統(tǒng)將會(huì)成為網(wǎng)絡(luò)安全防護(hù)系統(tǒng)的重要組成部分,對(duì)單位內(nèi)部網(wǎng)絡(luò)安全起到積極的作用。

      [1]景杰峰,王國(guó)青.電力信息化[M].北京:國(guó)電信息中心,2009(5):40-42.

      [2]Andrew STanenbaum.王鵬,尤晉元譯.操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn)(第2版)[M].北京:電子工業(yè)出版社,1998:60-98.

      [3]Daniel PBovet,Marco Cesati.陳莉君,馮銳,牛欣源譯.深入理解LINUX內(nèi)核[M].北京:中國(guó)電力出版社,2001:35-40.

      [4]Maurice JBach.陳葆玨,王旭,柳純錄,等譯.UNIX操作系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2000:62-135.

      [5]Alessand Rubini,Jonathan.魏永明,駱剛,姜君譯.Linux設(shè)備驅(qū)動(dòng)程序[M].北京:中國(guó)電力出版社,2002:8-35.

      [6]張載鴻.微型機(jī)(PC系列)接口控制教程[M].北京:清華大學(xué)出版社,1992:156-198.

      Design and Implementation of Action Monitor System for UNIX ZHANG Jun

      (Test the Electronic Products in Zhejiang Province,Hangzhou Zhejiang310012,China)

      This paper introduces the destination to deploy actionmonitor system for UNIX in the enterprise network,and explainshow to design and implement.The system is placed betweenwork area and servers transparently.The system can avoid bottle-neck by zero copy and ensurehigh availability by bypass.The system can insure the security of serverswithout negative externality.

      transparent;zero copy;reverse resolution

      TP399

      A

      1001-9146(2010)05-0025-04

      2010-07-20

      張君(1980-),女,河南內(nèi)鄉(xiāng)人,工程師,電子信息技術(shù).

      猜你喜歡
      網(wǎng)卡內(nèi)核引擎
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      Server 2016網(wǎng)卡組合模式
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      藍(lán)谷: “涉藍(lán)”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專(zhuān)用Dragon網(wǎng)卡
      無(wú)形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
      安图县| 红安县| 河北区| 镇坪县| 沙坪坝区| 万全县| 瓦房店市| 广德县| 洛扎县| 鄂尔多斯市| 东台市| 嘉兴市| 虹口区| 孟连| 宝清县| 莱芜市| 松溪县| 嘉义市| 黑龙江省| 东台市| 庆阳市| 康定县| 高清| 泰宁县| 杨浦区| 侯马市| 大名县| 同心县| 杭锦旗| 靖远县| 潮州市| 阳曲县| 遂昌县| 广丰县| 获嘉县| 金平| 大理市| 南部县| 临澧县| 塔城市| 马边|