基于多線程掃描的網(wǎng)絡(luò)拓?fù)溥吔绫O(jiān)測系統(tǒng)設(shè)計
隨著國家電子政務(wù)網(wǎng)絡(luò)規(guī)模和業(yè)務(wù)應(yīng)用的不斷深化,通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)和業(yè)務(wù)變得越來越敏感和重要。為了保障業(yè)務(wù)數(shù)據(jù)在網(wǎng)絡(luò)傳輸交換過程中不被非法獲取與篡改,相應(yīng)的網(wǎng)絡(luò)信息安全防護措施已在不同層面進行了部署。然而,大多數(shù)的業(yè)務(wù)專網(wǎng)對于網(wǎng)絡(luò)的訪問控制幾乎都集中在網(wǎng)絡(luò)的出入關(guān)口,而對網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)和接入邊界卻沒有施行必要的監(jiān)測與管理。這種只注重網(wǎng)關(guān)出入防護的安全策略雖然配置了大量的防火墻、多重安全網(wǎng)關(guān)和網(wǎng)閘等網(wǎng)絡(luò)安全設(shè)備,卻無法對網(wǎng)絡(luò)運行的狀態(tài)和網(wǎng)絡(luò)結(jié)構(gòu)的變化有一個全面的了解,而且對來自于網(wǎng)絡(luò)接入邊界甚至是網(wǎng)絡(luò)內(nèi)部的非法訪問常常束手無策。在過度強化“大門”的安全建設(shè)的同時,卻往往忽略了“圍墻”的筑造與管理,從而使得網(wǎng)絡(luò)接入邊界往往成為網(wǎng)絡(luò)安全防護中最薄弱的防線。
本文引用地址:http://www.ex-cimer.com/article/264050.htm信息網(wǎng)絡(luò)是一個自治域,應(yīng)該有其自身的收斂性,一個可管理的網(wǎng)絡(luò)應(yīng)該具有確定的邊界,并且在網(wǎng)絡(luò)邊界發(fā)生變化時,能夠及時地發(fā)現(xiàn)差異并定位。在傳統(tǒng)意義上,網(wǎng)絡(luò)邊界是一個網(wǎng)絡(luò)安全域與其外部域的分界線,是網(wǎng)絡(luò)之間互聯(lián)的“關(guān)口”,而本文所提到的網(wǎng)絡(luò)邊界則更加注重對“圍墻”的管理,為了避免與傳統(tǒng)的邊界名詞相混淆,稱其為“網(wǎng)絡(luò)接入邊界”。首先定義直接面向終端,提供網(wǎng)絡(luò)接入服務(wù)的設(shè)備稱其為邊界接入設(shè)備,又稱為邊界設(shè)備。所謂網(wǎng)絡(luò)接入邊界就是通信網(wǎng)絡(luò)中接入設(shè)備的最邊緣,也就是網(wǎng)絡(luò)結(jié)構(gòu)中邊界設(shè)備的位置。該接入邊界在網(wǎng)絡(luò)初始設(shè)計和建設(shè)維護階段確定,并預(yù)期不得無故更改與擴展。
1 當(dāng)前網(wǎng)絡(luò)監(jiān)測存在的不足
面對當(dāng)前網(wǎng)絡(luò)規(guī)模的不斷增長,網(wǎng)絡(luò)結(jié)構(gòu)日趨復(fù)雜,加之網(wǎng)絡(luò)設(shè)備的多樣性,目前的網(wǎng)絡(luò)監(jiān)測手段已不能滿足當(dāng)前網(wǎng)絡(luò)管理的需要,主要不足體現(xiàn)在以下幾點:
(1)網(wǎng)絡(luò)運行狀態(tài)不夠全面。在日常網(wǎng)絡(luò)管理中對網(wǎng)絡(luò)運行狀態(tài)的實時監(jiān)控是非常必要的。通過對網(wǎng)絡(luò)流量、拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)設(shè)備及終端運行等情況的全面監(jiān)測,管理者可以對當(dāng)前網(wǎng)絡(luò)的運行狀態(tài)有一個全面的了解和把握,并可對一些異常情況作出及時反應(yīng),保障網(wǎng)絡(luò)安全正常地運行。然而,由于網(wǎng)絡(luò)設(shè)備的復(fù)雜多樣性,至今還沒有一個第三方的網(wǎng)絡(luò)管理軟件可以對不同廠家的網(wǎng)絡(luò)設(shè)備進行全面的遠(yuǎn)程管理與控制,使用當(dāng)前網(wǎng)絡(luò)監(jiān)測手段往往無法獲取全面的網(wǎng)絡(luò)運行狀態(tài)信息。
(2)網(wǎng)絡(luò)結(jié)構(gòu)化變化無從知曉。在較大規(guī)模網(wǎng)絡(luò)中,保持網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的穩(wěn)定對于整個網(wǎng)絡(luò)的安全尤為重要。網(wǎng)絡(luò)建設(shè)時期設(shè)計的拓?fù)浣Y(jié)構(gòu)與正常運行時期的真實結(jié)構(gòu)經(jīng)常存在較大的差異。如果運行過程中有設(shè)備發(fā)生故障或者有用戶私自在網(wǎng)絡(luò)中違規(guī)接入網(wǎng)絡(luò)設(shè)備,必將影響到網(wǎng)絡(luò)真實結(jié)構(gòu)的變化,并由此帶來巨大的安全隱患。有一些網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法可以根據(jù)簡單網(wǎng)絡(luò)管理協(xié)議SNMP(Simple Network Management Protocol)來完成對網(wǎng)絡(luò)層和鏈路層連接的自動發(fā)現(xiàn)[1-2],生成網(wǎng)絡(luò)運行時的拓?fù)浣Y(jié)構(gòu),然而在現(xiàn)實中的應(yīng)用卻相對滯后,沒有一種由宏觀到具體、兼顧整體與局部的視圖展示方法,而且沒有對網(wǎng)絡(luò)結(jié)構(gòu)進行全面的監(jiān)測,幾乎沒有涉及網(wǎng)絡(luò)結(jié)構(gòu)的差異變化情況,更沒有發(fā)現(xiàn)結(jié)構(gòu)異常時的報警提示了。
(3)網(wǎng)絡(luò)接入邊界無法掌握。網(wǎng)絡(luò)接入邊界作為網(wǎng)絡(luò)用戶的接入?yún)^(qū)域通常處于網(wǎng)絡(luò)結(jié)構(gòu)的最末端,隨著網(wǎng)絡(luò)接入終端多樣化的出現(xiàn),邊界接入方法與過程變得非常容易。有些用戶可能會隨意更換工作終端、改變終端的接入接口,或者通過自行架設(shè)的小型網(wǎng)絡(luò)設(shè)備進行多用戶違規(guī)接入,甚至非法提供網(wǎng)絡(luò)轉(zhuǎn)發(fā)、代理和地址轉(zhuǎn)換服務(wù)等,這些情況都將會影響網(wǎng)絡(luò)接入邊界的收斂性,使網(wǎng)絡(luò)接入邊界變得不可預(yù)測,并對網(wǎng)絡(luò)的安全穩(wěn)定運行造成嚴(yán)重威脅。而現(xiàn)階段的網(wǎng)絡(luò)監(jiān)測管理手段無法及時獲取網(wǎng)絡(luò)接入邊界狀態(tài)變化的信息,更無法對接入邊界變化區(qū)域進行準(zhǔn)確的定位,這是現(xiàn)有網(wǎng)絡(luò)管理體系中普遍存在的盲點和隱患。
2 系統(tǒng)功能結(jié)構(gòu)
當(dāng)前網(wǎng)絡(luò)規(guī)模和數(shù)量大量增長,組網(wǎng)設(shè)備的類型也多種多樣,來自于不同廠家的各類設(shè)備常常同時存在,如何在統(tǒng)一的架構(gòu)體系內(nèi)對這些設(shè)備進行管理就變得十分重要。本系統(tǒng)主要采用目前普遍使用的SNMP標(biāo)準(zhǔn)協(xié)議,通過對網(wǎng)絡(luò)結(jié)構(gòu)的定時掃描和對網(wǎng)絡(luò)接入邊界的實時監(jiān)測來實現(xiàn)所需的功能。
(1)全面掃描網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)樹的自動生成與存儲打印,通過與歷史結(jié)構(gòu)的比對發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的差異變化,并及時報警通知網(wǎng)絡(luò)管理員。
(2)監(jiān)測網(wǎng)絡(luò)設(shè)備的運行狀態(tài),主要監(jiān)測CPU、內(nèi)存和接入端口的工作情況,對于工作狀態(tài)或者網(wǎng)絡(luò)流量異常的情況能及時發(fā)出報警信號。
(3)在專用和保密網(wǎng)絡(luò)中實現(xiàn)所有入網(wǎng)終端與設(shè)備的登記認(rèn)證,對終端與設(shè)備的上網(wǎng)檔案和監(jiān)測數(shù)據(jù)進行存儲記錄,對接入終端的運行狀態(tài)、接入方式、路由轉(zhuǎn)發(fā)、地址轉(zhuǎn)換和代理服務(wù)等異常狀態(tài)進行實時監(jiān)測,發(fā)現(xiàn)異常時能夠及時阻斷,實現(xiàn)對網(wǎng)絡(luò)邊界的常規(guī)性看護,對工作主機的工作狀態(tài)給出健康建議。
系統(tǒng)通過對整個網(wǎng)絡(luò)運行狀態(tài)數(shù)據(jù)進行實時的采集與分析,將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息及其組成節(jié)點的工作狀態(tài)信息存儲在數(shù)據(jù)庫中,對這些數(shù)據(jù)進行加工分析后,通過列表、拓?fù)湟晥D等方式將其展現(xiàn)在網(wǎng)絡(luò)管理界面上。系統(tǒng)體系結(jié)構(gòu)如圖1所示。
在網(wǎng)絡(luò)中心位置部署結(jié)構(gòu)監(jiān)測服務(wù)器、結(jié)構(gòu)存儲服務(wù)器和結(jié)構(gòu)視圖服務(wù)器,用于整個網(wǎng)絡(luò)結(jié)構(gòu)的實時動態(tài)掃描存儲、邊界守護和視圖生成功能;在網(wǎng)絡(luò)內(nèi)部設(shè)置固定或移動的監(jiān)測終端,用于網(wǎng)絡(luò)管理人員隨時查看網(wǎng)絡(luò)實時運行狀態(tài),接收服務(wù)器的報警信號并進行相應(yīng)的處理。
位于整個網(wǎng)絡(luò)內(nèi)部,支持TCP/IP協(xié)議的路由器、交換機、服務(wù)器、工作主機和無線接入點等所有的網(wǎng)絡(luò)設(shè)備和終端都屬于網(wǎng)絡(luò)結(jié)構(gòu)監(jiān)測的對象,需要定期接受結(jié)構(gòu)監(jiān)測服務(wù)器的掃描并提供自身運行的狀態(tài)和數(shù)據(jù)。當(dāng)有異常情況發(fā)生時,這些監(jiān)測對象應(yīng)該能夠主動向上匯報,以達(dá)到實時掌握整個網(wǎng)絡(luò)運行狀態(tài)的目的。
3 系統(tǒng)實時性設(shè)計
系統(tǒng)通過SNMP協(xié)議掃描獲取網(wǎng)絡(luò)設(shè)備、終端及其連接關(guān)系的基本信息,主要包括管理信息庫中的路由表、接口表、地址映射表和運行狀態(tài)信息等,并逐步獲取實時的網(wǎng)絡(luò)結(jié)構(gòu)信息。在使用廣度優(yōu)先算法掃描的過程中,盡可能準(zhǔn)確地辨識掃描目標(biāo)的類型和身份,根據(jù)情況啟動網(wǎng)絡(luò)層掃描[3]和鏈路層掃描[4],并通過梳理節(jié)點間的父子連接關(guān)系,最終判定網(wǎng)絡(luò)接入邊界所在,更新存入后臺支持?jǐn)?shù)據(jù)庫[5]。當(dāng)掃描過程完成以后,整個網(wǎng)絡(luò)的結(jié)構(gòu)信息便被獲取,實時的網(wǎng)絡(luò)邊界得以確定,網(wǎng)絡(luò)自身的運行狀態(tài)得以全面掌控。
在系統(tǒng)監(jiān)測運行過程中,需要在第一時間內(nèi)發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的異常變化和接入邊界的違規(guī)行為并作出響應(yīng),以便盡可能早地對潛在的網(wǎng)絡(luò)安全隱患進行定位,減少對網(wǎng)絡(luò)安全運行的實質(zhì)性破壞。因此,迅速準(zhǔn)確地發(fā)現(xiàn)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),提高系統(tǒng)掃描檢測過程的實時性就成為了保障系統(tǒng)可靠運行的一個基本要求。
3.1 多線程掃描
網(wǎng)絡(luò)結(jié)構(gòu)的獲取與更新一般通過周期性的掃描來完成。通過指定掃描起始地址,獲得與該節(jié)點相連的其他節(jié)點的運行信息,使用廣度優(yōu)先算法依次遍歷網(wǎng)絡(luò)中的每個節(jié)點,這種全網(wǎng)單線程掃描方法(以下簡稱方法一)常常用在網(wǎng)絡(luò)規(guī)模較小、結(jié)構(gòu)較為簡單的情況下。
對于規(guī)模較大的網(wǎng)絡(luò),考慮到掃描過程中大部分時間都浪費在等待設(shè)備準(zhǔn)備數(shù)據(jù)的階段,為了能合理利用這段空閑時間,在更短的時間內(nèi)盡快完成對整個網(wǎng)絡(luò)的掃描分析,實際過程中常常根據(jù)子網(wǎng)劃分使用多個掃描起始地址的子網(wǎng)多線程掃描的方法(以下簡稱方法二)。在系統(tǒng)初始化后,讀取指定的子網(wǎng)掃描起始地址列表,啟動多個掃描線程對所在子網(wǎng)進行掃描。多個線程之間共同維護一個節(jié)點訪問列表,對已經(jīng)掃描過的地址不再執(zhí)行重復(fù)的操作。
方法二中每個掃描線程對應(yīng)一棵子樹,掃描線程的數(shù)量一般可參考管理人員最熟悉的核心層設(shè)備的數(shù)量來設(shè)置,但是最好不要手工設(shè)置。實際應(yīng)用時可以在掃描3層設(shè)備路由列表的過程中,在得到與該設(shè)備所連接的子網(wǎng)設(shè)備地址后,立即開啟一個新的子網(wǎng)掃描線程,這種改進方式也可稱為設(shè)備多線程掃描方法,其掃描流程如圖2所示。
在掃描流程圖中的每個線程都能獨立完成各自的掃描分析任務(wù),在對每一個設(shè)備掃描完成之后,立即讀取目標(biāo)的安全設(shè)置,完成結(jié)構(gòu)邊界的確認(rèn)、檢驗、存儲和展現(xiàn)工作。
對于較大規(guī)模的網(wǎng)絡(luò),在采用了設(shè)備多線程掃描的方法后,完成全網(wǎng)掃描所耗費的時間已經(jīng)大幅減少,如表1所示,其中,①②③為掃描算法分別在3個不同的時間段內(nèi)運行的結(jié)果。但是詳細(xì)分析后發(fā)現(xiàn),掃描線程仍然有一部分空閑時間在等待設(shè)備準(zhǔn)備數(shù)據(jù),而這部分空閑時間正是再次提高掃描速度的希望。在分析了設(shè)備的掃描過程后發(fā)現(xiàn),為了實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的自動發(fā)現(xiàn)與監(jiān)測,每個設(shè)備都需要掃描接口表、路由表、端口映射表、地址映射表等多張表格,雖然在掃描流程上采用了子網(wǎng)多線程掃描,但是每個掃描線程依然是按照順序?qū)@幾張表格進行掃描的,由此得出了通過多線程方式來獲取這些表格的表格多線程掃描方法(以下簡稱方法三)。
為了驗證這3種掃描方法的性能,特意選擇長安大學(xué)校園網(wǎng)絡(luò)進行實際測試,表1是這3種掃描方法分別在3個不同的時間段內(nèi)測試運行的結(jié)果數(shù)據(jù)。
在對掃描方法的性能進行比較時,掃描完成時間以及掃描對網(wǎng)絡(luò)帶寬的影響是兩個重點指標(biāo)。本來每秒鐘獲得的記錄數(shù)量也可以作為一個性能指標(biāo)來指示掃描算法的性能優(yōu)劣,但是該指標(biāo)與網(wǎng)絡(luò)流量成正比關(guān)系(記錄條數(shù)越多網(wǎng)絡(luò)流量越大),因此在比較過程中只使用了完成時間和波特率兩項指標(biāo),3種方法性能比較如圖3所示。從測試的結(jié)果可以看出,這3種方法在3次測試過程中性能表現(xiàn)均較為穩(wěn)定,方法一的完成時間是最長的,在使用了多線程以后方法二和方法三的完成時間有了大幅的減少。同時,隨著完成時間的縮減,網(wǎng)絡(luò)流量也逐步升高,由于目前主干網(wǎng)絡(luò)多是千兆的情況,因此多線程的使用對網(wǎng)絡(luò)帶寬的壓力實在小到可以忽略不計。
3.2 異常情況自動上報
在實際應(yīng)用時,單靠周期性的掃描來發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的異常變動顯然不夠,應(yīng)該設(shè)計一種異常自動上報機制,使得接入設(shè)備能夠在異常發(fā)生的第一時間將自身變動信息自動上報給服務(wù)器,而不是等待掃描模塊下一次周期性的輪詢,而這恰恰就是SNMP陷阱(SNMP Trap)的用武之地。
SNMP陷阱不同于SNMP的主動采集,SNMP主動采集是按照固定的時間間隔,由管理工作站以詢問的方式采集被管理設(shè)備的各項MIB信息,因此,發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的變化與異常的及時性取決于掃描采集的頻率。在一個較大規(guī)模的網(wǎng)絡(luò)內(nèi),輪詢過于頻繁會產(chǎn)生大量不必要的通信量,容易引起網(wǎng)絡(luò)擁塞;輪詢周期過長,則不能保證網(wǎng)絡(luò)故障被及時發(fā)現(xiàn),嚴(yán)重影響了系統(tǒng)的實時性[6]。而SNMP陷阱使用事件驅(qū)動機制,在被監(jiān)控設(shè)備上設(shè)置陷阱,一旦被監(jiān)控設(shè)備出現(xiàn)異常情況,立即向管理工作站發(fā)送陷阱消息,因此能夠在最短的時間內(nèi)發(fā)現(xiàn)異常,避免由設(shè)備異常而帶來的經(jīng)濟損失。
在SNMP的管理模型中,管理代理會向管理工作站發(fā)送一些重要事件的異步通告,其中包括設(shè)備的冷啟動、熱啟動、接口上線和接口下線等幾種消息,而這些消息將由代理主動通知SNMP管理器,而不是等到管理工作站為獲得這些錯誤情況而輪詢的時候才會報告,這將有助于系統(tǒng)以最快的速度接收到來自于被管理設(shè)備的異常通知。系統(tǒng)在收到這些消息后可以通過單獨查詢這個設(shè)備或查詢其周邊的相關(guān)設(shè)備來獲得這個事件更加詳細(xì)的情況并向管理人員發(fā)送告警,以便對異常情況作出正確的判斷和處理。
當(dāng)然,使用SNMP陷阱也需要消耗一定的系統(tǒng)資源,如果該陷阱需要傳輸大量的數(shù)據(jù),則被管設(shè)備就要消耗更多的時間來處理這些數(shù)據(jù),從而降低了設(shè)備的運行速度。此外,如果接連發(fā)生相同類型的陷阱,每次都要報告給管理站,這樣又造成了資源的浪費,可能會造成網(wǎng)絡(luò)擁堵甚至癱瘓。因此,本系統(tǒng)僅僅使用了設(shè)備啟動、接口上線和接口下線這幾種與網(wǎng)絡(luò)結(jié)構(gòu)和邊界安全監(jiān)測關(guān)系最為密切的陷阱事件,以減輕網(wǎng)絡(luò)壓力,提高系統(tǒng)的實時性能。
網(wǎng)絡(luò)規(guī)模大、涉及范圍廣、設(shè)備種類多以及用戶數(shù)量大是目前網(wǎng)絡(luò)的基本特點,因此網(wǎng)絡(luò)的維護管理和安全防護便成為了一個難題。本系統(tǒng)在保障網(wǎng)絡(luò)出口安全的同時,重點加強了網(wǎng)絡(luò)邊界的安全監(jiān)測與防護,使網(wǎng)絡(luò)管理人員能及時全面地了解實時的網(wǎng)絡(luò)結(jié)構(gòu)和邊界接入變化情況,并通過使用多線程和SNMP陷阱技術(shù)來提高網(wǎng)絡(luò)結(jié)構(gòu)掃描的效率,從而有效解決了目前網(wǎng)絡(luò)使用過程中比較常見的用戶隨意更改接入狀態(tài)和非法接入網(wǎng)絡(luò)設(shè)備的問題,避免了由此產(chǎn)生的網(wǎng)絡(luò)運行不穩(wěn)定問題,消除了網(wǎng)絡(luò)安全監(jiān)管盲區(qū)和網(wǎng)絡(luò)安全隱患,保障了網(wǎng)絡(luò)運行的可靠與安全。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
交換機相關(guān)文章:交換機工作原理
評論