基于多線程掃描的網(wǎng)絡(luò)拓?fù)溥吔绫O(jiān)測系統(tǒng)設(shè)計(jì)
隨著國家電子政務(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ò)信息安全防護(hù)措施已在不同層面進(jìn)行了部署。然而,大多數(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)出入防護(hù)的安全策略雖然配置了大量的防火墻、多重安全網(wǎng)關(guān)和網(wǎng)閘等網(wǎng)絡(luò)安全設(shè)備,卻無法對網(wǎng)絡(luò)運(yùn)行的狀態(tài)和網(wǎng)絡(luò)結(jié)構(gòu)的變化有一個(gè)全面的了解,而且對來自于網(wǎng)絡(luò)接入邊界甚至是網(wǎng)絡(luò)內(nèi)部的非法訪問常常束手無策。在過度強(qiáng)化“大門”的安全建設(shè)的同時(shí),卻往往忽略了“圍墻”的筑造與管理,從而使得網(wǎng)絡(luò)接入邊界往往成為網(wǎng)絡(luò)安全防護(hù)中最薄弱的防線。
信息網(wǎng)絡(luò)是一個(gè)自治域,應(yīng)該有其自身的收斂性,一個(gè)可管理的網(wǎng)絡(luò)應(yīng)該具有確定的邊界,并且在網(wǎng)絡(luò)邊界發(fā)生變化時(shí),能夠及時(shí)地發(fā)現(xiàn)差異并定位。在傳統(tǒng)意義上,網(wǎng)絡(luò)邊界是一個(gè)網(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è)計(jì)和建設(shè)維護(hù)階段確定,并預(yù)期不得無故更改與擴(kuò)展。
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)在以下幾點(diǎn):
?。?)網(wǎng)絡(luò)運(yùn)行狀態(tài)不夠全面。在日常網(wǎng)絡(luò)管理中對網(wǎng)絡(luò)運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控是非常必要的。通過對網(wǎng)絡(luò)流量、設(shè)計(jì)的系統(tǒng)功能結(jié)構(gòu)
當(dāng)前網(wǎng)絡(luò)規(guī)模和數(shù)量大量增長,組網(wǎng)設(shè)備的類型也多種多樣,來自于不同廠家的各類設(shè)備常常同時(shí)存在,如何在統(tǒng)一的架構(gòu)體系內(nèi)對這些設(shè)備進(jìn)行管理就變得十分重要。本系統(tǒng)主要采用目前普遍使用的SNMP標(biāo)準(zhǔn)協(xié)議,通過對網(wǎng)絡(luò)結(jié)構(gòu)的定時(shí)掃描和對網(wǎng)絡(luò)接入邊界的實(shí)時(shí)監(jiān)測來實(shí)現(xiàn)所需的功能。
?。?)全面掃描網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)樹的自動生成與存儲打印,通過與歷史結(jié)構(gòu)的比對發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的差異變化,并及時(shí)報(bào)警通知網(wǎng)絡(luò)管理員。
(2)監(jiān)測網(wǎng)絡(luò)設(shè)備的運(yùn)行狀態(tài),主要監(jiān)測CPU、內(nèi)存和接入端口的工作情況,對于工作狀態(tài)或者網(wǎng)絡(luò)流量異常的情況能及時(shí)發(fā)出報(bào)警信號。
?。?)在專用和保密網(wǎng)絡(luò)中實(shí)現(xiàn)所有入網(wǎng)終端與設(shè)備的登記認(rèn)證,對終端與設(shè)備的上網(wǎng)檔案和監(jiān)測數(shù)據(jù)進(jìn)行存儲記錄,對接入終端的運(yùn)行狀態(tài)、接入方式、路由轉(zhuǎn)發(fā)、地址轉(zhuǎn)換和代理服務(wù)等異常狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測,發(fā)現(xiàn)異常時(shí)能夠及時(shí)阻斷,實(shí)現(xiàn)對網(wǎng)絡(luò)邊界的常規(guī)性看護(hù),對工作主機(jī)的工作狀態(tài)給出健康建議。
系統(tǒng)通過對整個(gè)網(wǎng)絡(luò)運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行實(shí)時(shí)的采集與分析,將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息及其組成節(jié)點(diǎn)的工作狀態(tài)信息存儲在數(shù)據(jù)庫中,對這些數(shù)據(jù)進(jìn)行加工分析后,通過列表、拓?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ù)器,用于整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)時(shí)動態(tài)掃描存儲、邊界守護(hù)和視圖生成功能;在網(wǎng)絡(luò)內(nèi)部設(shè)置固定或移動的監(jiān)測終端,用于網(wǎng)絡(luò)管理人員隨時(shí)查看網(wǎng)絡(luò)實(shí)時(shí)運(yùn)行狀態(tài),接收服務(wù)器的報(bào)警信號并進(jìn)行相應(yīng)的處理。
位于整個(gè)網(wǎng)絡(luò)內(nèi)部,支持TCP/IP協(xié)議的路由器、交換機(jī)、服務(wù)器、工作主機(jī)和無線接入點(diǎn)等所有的網(wǎng)絡(luò)設(shè)備和終端都屬于網(wǎng)絡(luò)結(jié)構(gòu)監(jiān)測的對象,需要定期接受結(jié)構(gòu)監(jiān)測服務(wù)器的掃描并提供自身運(yùn)行的狀態(tài)和數(shù)據(jù)。當(dāng)有異常情況發(fā)生時(shí),這些監(jiān)測對象應(yīng)該能夠主動向上匯報(bào),以達(dá)到實(shí)時(shí)掌握整個(gè)網(wǎng)絡(luò)運(yùn)行狀態(tài)的目的。
3 系統(tǒng)實(shí)時(shí)性設(shè)計(jì)
系統(tǒng)通過SNMP協(xié)議掃描獲取網(wǎng)絡(luò)設(shè)備、終端及其連接關(guān)系的基本信息,主要包括管理信息庫中的路由表、接口表、地址映射表和運(yùn)行狀態(tài)信息等,并逐步獲取實(shí)時(shí)的網(wǎng)絡(luò)結(jié)構(gòu)信息。在使用廣度優(yōu)先算法掃描的過程中,盡可能準(zhǔn)確地辨識掃描目標(biāo)的類型和身份,根據(jù)情況啟動網(wǎng)絡(luò)層掃描[3]和鏈路層掃描[4],并通過梳理節(jié)點(diǎn)間的父子連接關(guān)系,最終判定網(wǎng)絡(luò)接入邊界所在,更新存入后臺支持?jǐn)?shù)據(jù)庫[5]。當(dāng)掃描過程完成以后,整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)信息便被獲取,實(shí)時(shí)的網(wǎng)絡(luò)邊界得以確定,網(wǎng)絡(luò)自身的運(yùn)行狀態(tài)得以全面掌控。
在系統(tǒng)監(jiān)測運(yùn)行過程中,需要在第一時(shí)間內(nèi)發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的異常變化和接入邊界的違規(guī)行為并作出響應(yīng),以便盡可能早地對潛在的網(wǎng)絡(luò)安全隱患進(jìn)行定位,減少對網(wǎng)絡(luò)安全運(yùn)行的實(shí)質(zhì)性破壞。因此,迅速準(zhǔn)確地發(fā)現(xiàn)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),提高系統(tǒng)掃描檢測過程的實(shí)時(shí)性就成為了保障系統(tǒng)可靠運(yùn)行的一個(gè)基本要求。
3.1 多線程掃描
網(wǎng)絡(luò)結(jié)構(gòu)的獲取與更新一般通過周期性的掃描來完成。通過指定掃描起始地址,獲得與該節(jié)點(diǎn)相連的其他節(jié)點(diǎn)的運(yùn)行信息,使用廣度優(yōu)先算法依次遍歷網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn),這種全網(wǎng)單線程掃描方法(以下簡稱方法一)常常用在網(wǎng)絡(luò)規(guī)模較小、結(jié)構(gòu)較為簡單的情況下。
對于規(guī)模較大的網(wǎng)絡(luò),考慮到掃描過程中大部分時(shí)間都浪費(fèi)在等待設(shè)備準(zhǔn)備數(shù)據(jù)的階段,為了能合理利用這段空閑時(shí)間,在更短的時(shí)間內(nèi)盡快完成對整個(gè)網(wǎng)絡(luò)的掃描分析,實(shí)際過程中常常根據(jù)子網(wǎng)劃分使用多個(gè)掃描起始地址的子網(wǎng)多線程掃描的方法(以下簡稱方法二)。在系統(tǒng)初始化后,讀取指定的子網(wǎng)掃描起始地址列表,啟動多個(gè)掃描線程對所在子網(wǎng)進(jìn)行掃描。多個(gè)線程之間共同維護(hù)一個(gè)節(jié)點(diǎn)訪問列表,對已經(jīng)掃描過的地址不再執(zhí)行重復(fù)的操作。
方法二中每個(gè)掃描線程對應(yīng)一棵子樹,掃描線程的數(shù)量一般可參考管理人員最熟悉的核心層設(shè)備的數(shù)量來設(shè)置,但是最好不要手工設(shè)置。實(shí)際應(yīng)用時(shí)可以在掃描3層設(shè)備路由列表的過程中,在得到與該設(shè)備所連接的子網(wǎng)設(shè)備地址后,立即開啟一個(gè)新的子網(wǎng)掃描線程,這種改進(jìn)方式也可稱為設(shè)備多線程掃描方法,其掃描流程如圖2所示。
評論