工控網(wǎng)絡(luò)拓?fù)涔芾硐到y(tǒng)設(shè)計(jì)研究

時間:2022-07-13 09:25:10

導(dǎo)語:工控網(wǎng)絡(luò)拓?fù)涔芾硐到y(tǒng)設(shè)計(jì)研究一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

工控網(wǎng)絡(luò)拓?fù)涔芾硐到y(tǒng)設(shè)計(jì)研究

摘要:在工業(yè)互聯(lián)網(wǎng)中安全廠家研制了各種網(wǎng)絡(luò)安全管理的產(chǎn)品和軟件,它們和路由器、交換機(jī)以及各類終端一起構(gòu)建了網(wǎng)絡(luò)拓?fù)鋱D中的拓?fù)涔?jié)點(diǎn),但是人們很難對網(wǎng)絡(luò)中的拓?fù)涔?jié)點(diǎn)和各個資產(chǎn)節(jié)點(diǎn)進(jìn)行統(tǒng)一有效的管理。本文針對這一技術(shù)難點(diǎn),設(shè)計(jì)了一種可以對工控網(wǎng)絡(luò)進(jìn)行拓?fù)涔芾淼腤eb系統(tǒng),前端主要通過Antv-X6進(jìn)行拓?fù)鋱D形的編輯和顯示,后端主要通過SNMP和ICMP協(xié)議進(jìn)行拓?fù)涞淖詣影l(fā)現(xiàn),同時支持拓?fù)鋱D的分層管理,解決了不同安全廠家軟件資產(chǎn)的有效性管理問題。

關(guān)鍵詞:工控網(wǎng)絡(luò);自動發(fā)現(xiàn);拓?fù)渚庉?;拓?fù)浞謱?

1引言

工控網(wǎng)絡(luò)安全是現(xiàn)代社會工業(yè)和企業(yè)安全生產(chǎn)的基礎(chǔ),每一次發(fā)生的網(wǎng)絡(luò)攻擊和威脅都會導(dǎo)致嚴(yán)重的后果。各個廠家為了應(yīng)對工業(yè)互聯(lián)網(wǎng)中發(fā)生的網(wǎng)絡(luò)威脅,研制了各種網(wǎng)絡(luò)安全管理的產(chǎn)品和軟件。它們和路由器、交換機(jī)以及各類終端一起構(gòu)建了網(wǎng)絡(luò)拓?fù)?/a>圖中的一個個節(jié)點(diǎn)。但是人們很難對網(wǎng)絡(luò)中的拓?fù)鋱D和各個資產(chǎn)節(jié)點(diǎn)進(jìn)行統(tǒng)一的管理。本文針對這一技術(shù)難點(diǎn),設(shè)計(jì)了一種可以對工控網(wǎng)絡(luò)進(jìn)行拓?fù)涔芾淼腤eb系統(tǒng)。

2平臺設(shè)計(jì)原理

2.1前后端分離模式

本系統(tǒng)采用基于前后端分離的開發(fā)模式。線上采用docker容器化的部署方式,部署時restful接口請求通過nginx進(jìn)行代理和轉(zhuǎn)發(fā)。

2.2前端框架和組件

前端的實(shí)現(xiàn)采用基于Vue2.0的開發(fā)框架,工程初始化時采用Vue-Cli進(jìn)行項(xiàng)目框架的搭建。系統(tǒng)選用ElementUI和Ecarts組件庫,實(shí)現(xiàn)表格、表單和圖表的編輯和顯示功能。為了能夠有效地處理前端圖形化的數(shù)據(jù),使用了螞蟻金服的Antv-X6組件進(jìn)行拓?fù)鋱D形的編輯和顯示。Antv-X6組件支持最多1萬個節(jié)點(diǎn)的編輯,因此本系統(tǒng)主要針對的是中小型企業(yè)網(wǎng)絡(luò)。前端拓?fù)鋱D自動發(fā)現(xiàn)時的漸進(jìn)顯示采用了websocket進(jìn)行前后端通信。

2.3服務(wù)端框架和組件

服務(wù)端實(shí)現(xiàn)選用SpringBoot框架。SpringBoot是在Spring基礎(chǔ)上發(fā)布的全新開源框架,去除了大量的配置文件,簡化了復(fù)雜的依賴管理。數(shù)據(jù)庫選用Mysql關(guān)系型數(shù)據(jù)庫和Redis內(nèi)存數(shù)據(jù)庫。圖數(shù)據(jù)庫選擇國產(chǎn)的NebulaGraph圖數(shù)據(jù)庫,其中NebulaGraph是一種可靠、分布式、線性擴(kuò)容、性能高效的圖數(shù)據(jù)庫。此處如果選用Neo4j圖數(shù)據(jù)庫也是可行的。消息訂閱和通知選用kafka組件。

2.4數(shù)據(jù)結(jié)構(gòu)

該系統(tǒng)底層的數(shù)據(jù)結(jié)構(gòu)分為兩種。一種是圖形化數(shù)據(jù)結(jié)構(gòu),存儲在NebulaGraph圖數(shù)據(jù)庫中。圖由點(diǎn)和邊構(gòu)成,點(diǎn)的數(shù)據(jù)結(jié)構(gòu)包括點(diǎn)的id、坐標(biāo)、屬性等。邊的數(shù)據(jù)結(jié)構(gòu)包括邊的id、起點(diǎn)和終點(diǎn)的id以及邊路徑上各個節(jié)點(diǎn)的坐標(biāo)、邊的屬性等。一種是關(guān)系型數(shù)據(jù)結(jié)構(gòu),主要用于存儲工控網(wǎng)絡(luò)中資產(chǎn)數(shù)據(jù)的信息,例如資產(chǎn)的名稱、ip、位置、標(biāo)簽、mac地址、分組、分類和描述信息等。此處通過資產(chǎn)id和圖數(shù)據(jù)庫中點(diǎn)的id進(jìn)行關(guān)聯(lián),NebulaGraph更偏向于圖形化數(shù)據(jù)的存儲,Mysql更偏向于資產(chǎn)關(guān)系型數(shù)據(jù)的存儲。

3拓?fù)渥詣影l(fā)現(xiàn)

在工業(yè)互聯(lián)網(wǎng)環(huán)境中,網(wǎng)絡(luò)拓?fù)鋱D一般具有層次性,一般分為主拓?fù)浒l(fā)現(xiàn)和子拓?fù)浒l(fā)現(xiàn)。主拓?fù)滹@示了網(wǎng)絡(luò)中子網(wǎng)及網(wǎng)關(guān)間的互連結(jié)構(gòu),而子拓?fù)鋭t顯示子網(wǎng)內(nèi)部網(wǎng)絡(luò)設(shè)備間的互連關(guān)系。本系統(tǒng)在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的自動發(fā)現(xiàn)過程中,使用SNMP協(xié)議搜索路由表信息構(gòu)造網(wǎng)絡(luò)主拓?fù)鋄1],之后使用ICMP協(xié)議來發(fā)現(xiàn)子網(wǎng)中的終端設(shè)備實(shí)現(xiàn)網(wǎng)絡(luò)子拓?fù)鋄3],主拓?fù)浜妥油負(fù)湟黄饦?gòu)建了網(wǎng)絡(luò)拓?fù)鋱D。

3.1主拓?fù)?

計(jì)算機(jī)網(wǎng)絡(luò)由各種不同規(guī)模的子網(wǎng)構(gòu)成。各個子網(wǎng)之間通過各自的路由器同其他的子網(wǎng)進(jìn)行網(wǎng)絡(luò)通信。這些發(fā)現(xiàn)的子網(wǎng)可能是局域網(wǎng),也可能是局域網(wǎng)中的子網(wǎng)。路由器的端口可以和路由器相互連接,也可以和子網(wǎng)相互連接。主拓?fù)浞从沉斯I(yè)互聯(lián)網(wǎng)中的路由設(shè)備和子網(wǎng)之間的連接關(guān)系,包括路由器到路由器、路由器到子網(wǎng)以及接口之間的相互關(guān)系。主拓?fù)涞淖詣犹綔y采用基于SNMP(SimpleNetworkManagementProtocol)協(xié)議訪問路由表的策略來實(shí)現(xiàn)。在網(wǎng)絡(luò)的拓?fù)浒l(fā)生變化時,MIB(ManagementInformationBase)的信息也會發(fā)生變化。SNMP協(xié)議的優(yōu)點(diǎn)是整個拓?fù)鋱D更新的速度非常快,可以在較小的網(wǎng)絡(luò)開銷下快速得到比較可靠的結(jié)果。

3.2子拓?fù)?

SNMP協(xié)議只能發(fā)現(xiàn)在網(wǎng)絡(luò)系統(tǒng)中的路由器和子網(wǎng)信息,對于子網(wǎng)內(nèi)部的結(jié)構(gòu)無法感知。為了實(shí)現(xiàn)子拓?fù)涞淖詣犹綔y,本系統(tǒng)采用ICMP(InternetControlMessageProtocol)協(xié)議實(shí)現(xiàn)了子拓?fù)涞淖詣犹綔y。ICMP協(xié)議是一種面向無連接的協(xié)議,用于傳輸錯誤報告。作為一種網(wǎng)絡(luò)層的協(xié)議,使用ICMPechoreNy消息檢測主機(jī)是否可達(dá),主要用于在主機(jī)與路由器之間發(fā)送消息,包括報告錯誤、交換受限控制和狀態(tài)信息等功能。當(dāng)遇到IP數(shù)據(jù)無法訪問目標(biāo)或者IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包時,會自動發(fā)送ICMP消息。

3.3自動發(fā)現(xiàn)

圖1為根據(jù)SNMP協(xié)議和ICMP協(xié)議自動繪制的網(wǎng)絡(luò)拓?fù)鋱D。將拓?fù)鋽?shù)據(jù)封裝為樹形結(jié)構(gòu),在前端使用Antv-X6組件進(jìn)行拓?fù)滹@示,后端將探測到的數(shù)據(jù)通過websocket發(fā)送到前端。前端漸進(jìn)式地調(diào)用樹形布局算法,并在前端重繪全網(wǎng)拓?fù)鋱D。

4拓?fù)涔芾?/strong>

4.1拓?fù)渚庉?

在第一次使用該系統(tǒng)時,會使用自動發(fā)現(xiàn)探測并繪制網(wǎng)絡(luò)拓?fù)鋱D。由于防火墻等網(wǎng)絡(luò)配置的原因,系統(tǒng)自動探測的拓?fù)鋱D很可能不完整,因此在自動發(fā)現(xiàn)完成后,系統(tǒng)還支持拓?fù)鋱D形的編輯。系統(tǒng)支持在拓?fù)鋱D中新建交換機(jī)、路由器、終端、工控防火墻、工控安全審計(jì)等資產(chǎn),同時支持對資產(chǎn)的刪除、資產(chǎn)連接關(guān)系的配置以及資產(chǎn)屬性的定義。其中圖形化數(shù)據(jù)結(jié)構(gòu)存儲在NebulaGraph圖數(shù)據(jù)庫中,資產(chǎn)的屬性存儲在Mysql數(shù)據(jù)庫中,之間通過id進(jìn)行關(guān)聯(lián)。在資產(chǎn)管理模塊中新增的資產(chǎn)和各個業(yè)務(wù)子系統(tǒng)中上報的資產(chǎn),不直接放置到拓?fù)鋱D中,而是顯示在左邊的已發(fā)現(xiàn)資產(chǎn)列表中,支持用戶的拖拽和編輯。拓?fù)鋱D編輯還支持拓?fù)鋱D的導(dǎo)入、導(dǎo)出、放大、縮小、居中顯示等基本功能。

4.2分層管理

在企業(yè)控制網(wǎng)絡(luò)中,網(wǎng)絡(luò)一般進(jìn)行分層管理,包括生產(chǎn)管理層、企業(yè)管理層、過程監(jiān)控層、現(xiàn)場控制層和現(xiàn)場設(shè)備層共五個層級。因此如果將自動探測的網(wǎng)絡(luò)拓?fù)鋱D直接通過樹形布局或者力導(dǎo)圖布局的形式顯示,達(dá)不到分層顯示的效果,因此本系統(tǒng)支持對拓?fù)鋱D形的分層管理。每個資產(chǎn)都具有一個分層屬性,通過分層將網(wǎng)絡(luò)拓?fù)鋱D的層次結(jié)構(gòu)更加形象地表示出來,方便用戶的管理,見圖2.為了解決不同企業(yè)在不同場景下自定義分層的需求,本系統(tǒng)同時支持對拓?fù)浞謱拥淖远x配置。系統(tǒng)默認(rèn)顯示三個分層Layer1、Layer2、Layer3。系統(tǒng)支持修改圖層的名稱、顯示位置和大小,圖3顯示了分層管理自定義配置的修改界面。

5拓?fù)滟Y產(chǎn)統(tǒng)一監(jiān)控

系統(tǒng)首頁增加了儀表盤,可以很清晰地顯示資產(chǎn)類型分布、資產(chǎn)創(chuàng)建趨勢、資產(chǎn)安裝的軟件、資產(chǎn)重要性等級分布、告警趨勢、告警類型統(tǒng)計(jì),支持在拓?fù)鋱D儀表盤中直接查看資產(chǎn)的屬性,見圖4。

6結(jié)論

本文在工控網(wǎng)絡(luò)資產(chǎn)管理系統(tǒng)的基礎(chǔ)上設(shè)計(jì)與實(shí)現(xiàn)了一款對拓?fù)鋽?shù)據(jù)管理的系統(tǒng),解決了在中小型工業(yè)互聯(lián)網(wǎng)中,網(wǎng)絡(luò)拓?fù)涞淖詣影l(fā)現(xiàn)、手工編輯和拓?fù)浞謱訂栴},實(shí)現(xiàn)了拓?fù)浜唾Y產(chǎn)的聯(lián)動,在實(shí)際的工業(yè)生產(chǎn)環(huán)境中具有重要的意義。

參考文獻(xiàn)

[1]孫德文,高儒振.基于SNMP網(wǎng)絡(luò)拓?fù)鋱D的自動構(gòu)造實(shí)現(xiàn)[J].上海交通大學(xué)學(xué)報,1997(08):100-104

[2]李秋銳.計(jì)算機(jī)網(wǎng)絡(luò)安全掃描技術(shù)研究.網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2012(1):23-25

[3]楊時茂.基于ICMP和UDP的非合作網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)研究與實(shí)現(xiàn)[碩士學(xué)位論文].西安電子科技大學(xué),西安,2014

[4]喬宏,張大方,曾彬,等.基于改進(jìn)DoubleTree算法的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法.計(jì)算機(jī)工程與科學(xué),2010(4):18-21

[5]王谷,胡華平,張怡,等.多報文組合的骨干網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn).計(jì)算機(jī)工程與科學(xué).2007(8):4-6

作者:宋恒嘉 仲偉煒 陳潔 單位:博智安全科技股份有限公司