工控網(wǎng)絡拓撲管理系統(tǒng)設計研究
時間:2022-07-13 09:25:10
導語:工控網(wǎng)絡拓撲管理系統(tǒng)設計研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:在工業(yè)互聯(lián)網(wǎng)中安全廠家研制了各種網(wǎng)絡安全管理的產品和軟件,它們和路由器、交換機以及各類終端一起構建了網(wǎng)絡拓撲圖中的拓撲節(jié)點,但是人們很難對網(wǎng)絡中的拓撲節(jié)點和各個資產節(jié)點進行統(tǒng)一有效的管理。本文針對這一技術難點,設計了一種可以對工控網(wǎng)絡進行拓撲管理的Web系統(tǒng),前端主要通過Antv-X6進行拓撲圖形的編輯和顯示,后端主要通過SNMP和ICMP協(xié)議進行拓撲的自動發(fā)現(xiàn),同時支持拓撲圖的分層管理,解決了不同安全廠家軟件資產的有效性管理問題。
關鍵詞:工控網(wǎng)絡;自動發(fā)現(xiàn);拓撲編輯;拓撲分層
1引言
工控網(wǎng)絡安全是現(xiàn)代社會工業(yè)和企業(yè)安全生產的基礎,每一次發(fā)生的網(wǎng)絡攻擊和威脅都會導致嚴重的后果。各個廠家為了應對工業(yè)互聯(lián)網(wǎng)中發(fā)生的網(wǎng)絡威脅,研制了各種網(wǎng)絡安全管理的產品和軟件。它們和路由器、交換機以及各類終端一起構建了網(wǎng)絡拓撲圖中的一個個節(jié)點。但是人們很難對網(wǎng)絡中的拓撲圖和各個資產節(jié)點進行統(tǒng)一的管理。本文針對這一技術難點,設計了一種可以對工控網(wǎng)絡進行拓撲管理的Web系統(tǒng)。
2平臺設計原理
2.1前后端分離模式
本系統(tǒng)采用基于前后端分離的開發(fā)模式。線上采用docker容器化的部署方式,部署時restful接口請求通過nginx進行代理和轉發(fā)。
2.2前端框架和組件
前端的實現(xiàn)采用基于Vue2.0的開發(fā)框架,工程初始化時采用Vue-Cli進行項目框架的搭建。系統(tǒng)選用ElementUI和Ecarts組件庫,實現(xiàn)表格、表單和圖表的編輯和顯示功能。為了能夠有效地處理前端圖形化的數(shù)據(jù),使用了螞蟻金服的Antv-X6組件進行拓撲圖形的編輯和顯示。Antv-X6組件支持最多1萬個節(jié)點的編輯,因此本系統(tǒng)主要針對的是中小型企業(yè)網(wǎng)絡。前端拓撲圖自動發(fā)現(xiàn)時的漸進顯示采用了websocket進行前后端通信。
2.3服務端框架和組件
服務端實現(xiàn)選用SpringBoot框架。SpringBoot是在Spring基礎上發(fā)布的全新開源框架,去除了大量的配置文件,簡化了復雜的依賴管理。數(shù)據(jù)庫選用Mysql關系型數(shù)據(jù)庫和Redis內存數(shù)據(jù)庫。圖數(shù)據(jù)庫選擇國產的NebulaGraph圖數(shù)據(jù)庫,其中NebulaGraph是一種可靠、分布式、線性擴容、性能高效的圖數(shù)據(jù)庫。此處如果選用Neo4j圖數(shù)據(jù)庫也是可行的。消息訂閱和通知選用kafka組件。
2.4數(shù)據(jù)結構
該系統(tǒng)底層的數(shù)據(jù)結構分為兩種。一種是圖形化數(shù)據(jù)結構,存儲在NebulaGraph圖數(shù)據(jù)庫中。圖由點和邊構成,點的數(shù)據(jù)結構包括點的id、坐標、屬性等。邊的數(shù)據(jù)結構包括邊的id、起點和終點的id以及邊路徑上各個節(jié)點的坐標、邊的屬性等。一種是關系型數(shù)據(jù)結構,主要用于存儲工控網(wǎng)絡中資產數(shù)據(jù)的信息,例如資產的名稱、ip、位置、標簽、mac地址、分組、分類和描述信息等。此處通過資產id和圖數(shù)據(jù)庫中點的id進行關聯(lián),NebulaGraph更偏向于圖形化數(shù)據(jù)的存儲,Mysql更偏向于資產關系型數(shù)據(jù)的存儲。
3拓撲自動發(fā)現(xiàn)
在工業(yè)互聯(lián)網(wǎng)環(huán)境中,網(wǎng)絡拓撲圖一般具有層次性,一般分為主拓撲發(fā)現(xiàn)和子拓撲發(fā)現(xiàn)。主拓撲顯示了網(wǎng)絡中子網(wǎng)及網(wǎng)關間的互連結構,而子拓撲則顯示子網(wǎng)內部網(wǎng)絡設備間的互連關系。本系統(tǒng)在網(wǎng)絡拓撲結構的自動發(fā)現(xiàn)過程中,使用SNMP協(xié)議搜索路由表信息構造網(wǎng)絡主拓撲[1],之后使用ICMP協(xié)議來發(fā)現(xiàn)子網(wǎng)中的終端設備實現(xiàn)網(wǎng)絡子拓撲[3],主拓撲和子拓撲一起構建了網(wǎng)絡拓撲圖。
3.1主拓撲
計算機網(wǎng)絡由各種不同規(guī)模的子網(wǎng)構成。各個子網(wǎng)之間通過各自的路由器同其他的子網(wǎng)進行網(wǎng)絡通信。這些發(fā)現(xiàn)的子網(wǎng)可能是局域網(wǎng),也可能是局域網(wǎng)中的子網(wǎng)。路由器的端口可以和路由器相互連接,也可以和子網(wǎng)相互連接。主拓撲反映了工業(yè)互聯(lián)網(wǎng)中的路由設備和子網(wǎng)之間的連接關系,包括路由器到路由器、路由器到子網(wǎng)以及接口之間的相互關系。主拓撲的自動探測采用基于SNMP(SimpleNetworkManagementProtocol)協(xié)議訪問路由表的策略來實現(xiàn)。在網(wǎng)絡的拓撲發(fā)生變化時,MIB(ManagementInformationBase)的信息也會發(fā)生變化。SNMP協(xié)議的優(yōu)點是整個拓撲圖更新的速度非常快,可以在較小的網(wǎng)絡開銷下快速得到比較可靠的結果。
3.2子拓撲
SNMP協(xié)議只能發(fā)現(xiàn)在網(wǎng)絡系統(tǒng)中的路由器和子網(wǎng)信息,對于子網(wǎng)內部的結構無法感知。為了實現(xiàn)子拓撲的自動探測,本系統(tǒng)采用ICMP(InternetControlMessageProtocol)協(xié)議實現(xiàn)了子拓撲的自動探測。ICMP協(xié)議是一種面向無連接的協(xié)議,用于傳輸錯誤報告。作為一種網(wǎng)絡層的協(xié)議,使用ICMPechoreNy消息檢測主機是否可達,主要用于在主機與路由器之間發(fā)送消息,包括報告錯誤、交換受限控制和狀態(tài)信息等功能。當遇到IP數(shù)據(jù)無法訪問目標或者IP路由器無法按當前的傳輸速率轉發(fā)數(shù)據(jù)包時,會自動發(fā)送ICMP消息。
3.3自動發(fā)現(xiàn)
圖1為根據(jù)SNMP協(xié)議和ICMP協(xié)議自動繪制的網(wǎng)絡拓撲圖。將拓撲數(shù)據(jù)封裝為樹形結構,在前端使用Antv-X6組件進行拓撲顯示,后端將探測到的數(shù)據(jù)通過websocket發(fā)送到前端。前端漸進式地調用樹形布局算法,并在前端重繪全網(wǎng)拓撲圖。
4拓撲管理
4.1拓撲編輯
在第一次使用該系統(tǒng)時,會使用自動發(fā)現(xiàn)探測并繪制網(wǎng)絡拓撲圖。由于防火墻等網(wǎng)絡配置的原因,系統(tǒng)自動探測的拓撲圖很可能不完整,因此在自動發(fā)現(xiàn)完成后,系統(tǒng)還支持拓撲圖形的編輯。系統(tǒng)支持在拓撲圖中新建交換機、路由器、終端、工控防火墻、工控安全審計等資產,同時支持對資產的刪除、資產連接關系的配置以及資產屬性的定義。其中圖形化數(shù)據(jù)結構存儲在NebulaGraph圖數(shù)據(jù)庫中,資產的屬性存儲在Mysql數(shù)據(jù)庫中,之間通過id進行關聯(lián)。在資產管理模塊中新增的資產和各個業(yè)務子系統(tǒng)中上報的資產,不直接放置到拓撲圖中,而是顯示在左邊的已發(fā)現(xiàn)資產列表中,支持用戶的拖拽和編輯。拓撲圖編輯還支持拓撲圖的導入、導出、放大、縮小、居中顯示等基本功能。
4.2分層管理
在企業(yè)控制網(wǎng)絡中,網(wǎng)絡一般進行分層管理,包括生產管理層、企業(yè)管理層、過程監(jiān)控層、現(xiàn)場控制層和現(xiàn)場設備層共五個層級。因此如果將自動探測的網(wǎng)絡拓撲圖直接通過樹形布局或者力導圖布局的形式顯示,達不到分層顯示的效果,因此本系統(tǒng)支持對拓撲圖形的分層管理。每個資產都具有一個分層屬性,通過分層將網(wǎng)絡拓撲圖的層次結構更加形象地表示出來,方便用戶的管理,見圖2.為了解決不同企業(yè)在不同場景下自定義分層的需求,本系統(tǒng)同時支持對拓撲分層的自定義配置。系統(tǒng)默認顯示三個分層Layer1、Layer2、Layer3。系統(tǒng)支持修改圖層的名稱、顯示位置和大小,圖3顯示了分層管理自定義配置的修改界面。
5拓撲資產統(tǒng)一監(jiān)控
系統(tǒng)首頁增加了儀表盤,可以很清晰地顯示資產類型分布、資產創(chuàng)建趨勢、資產安裝的軟件、資產重要性等級分布、告警趨勢、告警類型統(tǒng)計,支持在拓撲圖儀表盤中直接查看資產的屬性,見圖4。
6結論
本文在工控網(wǎng)絡資產管理系統(tǒng)的基礎上設計與實現(xiàn)了一款對拓撲數(shù)據(jù)管理的系統(tǒng),解決了在中小型工業(yè)互聯(lián)網(wǎng)中,網(wǎng)絡拓撲的自動發(fā)現(xiàn)、手工編輯和拓撲分層問題,實現(xiàn)了拓撲和資產的聯(lián)動,在實際的工業(yè)生產環(huán)境中具有重要的意義。
參考文獻
[1]孫德文,高儒振.基于SNMP網(wǎng)絡拓撲圖的自動構造實現(xiàn)[J].上海交通大學學報,1997(08):100-104
[2]李秋銳.計算機網(wǎng)絡安全掃描技術研究.網(wǎng)絡安全技術與應用,2012(1):23-25
[3]楊時茂.基于ICMP和UDP的非合作網(wǎng)絡拓撲發(fā)現(xiàn)技術研究與實現(xiàn)[碩士學位論文].西安電子科技大學,西安,2014
[4]喬宏,張大方,曾彬,等.基于改進DoubleTree算法的網(wǎng)絡拓撲發(fā)現(xiàn)方法.計算機工程與科學,2010(4):18-21
[5]王谷,胡華平,張怡,等.多報文組合的骨干網(wǎng)絡拓撲發(fā)現(xiàn).計算機工程與科學.2007(8):4-6
作者:宋恒嘉 仲偉煒 陳潔 單位:博智安全科技股份有限公司