工控網絡統一資產管理平臺設計和實踐

前言:尋找寫作靈感?中文期刊網用心挑選的工控網絡統一資產管理平臺設計和實踐,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

工控網絡統一資產管理平臺設計和實踐

摘要:為了避免網絡安全事件的發生,工業生產環境中安裝了眾多工控安全防護的硬件和軟件產品,但是這些工控網絡硬件和軟件在大多數情況下存在業務隔離的問題。在這種情況下,針對眾多的工控網絡資產進行集中式統一管理、建立一個統一的資產管理平臺顯得尤為重要。本文闡述了基于前后端分離模式開發設計的統一工控網絡資產管理系統的設計思路和實現方法。實踐結果表明,該系統有效解決了網絡資產的集中式統一管控問題。

關鍵詞:工控網絡;統一資產;平臺設計

1引言

隨著網絡信息化的日益發展,工業和企業的信息化進程也在飛速地向前發展,但是網絡信息系統的互聯互通也產生了大量的網絡安全威脅事件[1]。工控網絡安全是工業、企業安全生產的核心,每一次網絡威脅事件都會導致非常嚴重的后果[2]。因此為了應對工業互聯網中的網絡威脅,眾多網絡安全管理的產品和軟件應運而生,例如:主機衛士、安全審計、保密檢查、漏洞挖掘、工控防火墻、工控蜜罐等[3]。這些產品和軟件在大多數情況下是業務隔離的,在實際生產環境中針對不同的工控軟件資產需要進行分別的管理和使用,非常不方便[4]。因此針對眾多的工控網絡資產需要進行集中式統一管理,進而建設一個統一的資產管理平臺[5]。本文闡述了基于前后端分離模式開發設計的統一工控網絡資產管理系統的設計思路和實現方法。

2平臺設計原理

2.1平臺設計框架

2.1.1前后端分離模式

本文采用了前后端分離的實現方式,后端僅需向返回前端所需的json數據,不再需要渲染html頁面。通過nginx進行服務的代理和轉發,可以實現真正的前后端解耦。

2.1.2前端框架

前端采用了國內目前主流的Vue框架。它是一套構建用戶界面的漸進式MVVM框架,實現功能時,開發者只需關注視圖層,易于上手,還便于和其他第三方組件庫整合。本系統還選用了ElementUI和Echarts組件庫,可以很輕松實現表格、表單和圖表顯示的功能。

2.1.3后端框架

后端采用了SpringBoot框架。SpringBoot是基于Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。它基于Spring構建,對于開發者來說,具有快速入門的優勢。同時它可以創建獨立運行的應用而不需要依賴于容器。數據庫則選用了Mysql關系型數據庫和Redis內存數據庫,消息訂閱和通知選用了kafka組件。

2.2統一資產建模

資產數據模型基于openapi3.0規范進行設計,使用yaml語言進行資產對象和接口的建模,通過Maven插件openapi-generator-maven-plugin將yaml模型生成包含DTO模型和Restful接口的java代碼。此處有點需要特殊說明的是,安裝的多個工控軟件作為資產的客戶端屬性處理。統一資產公共字段設計如表1所示。

2.3系統模塊劃分

2.3.1資產類型模塊

資產類型模塊,主要是基于資產的主體功能進行分類,同時支持對資產類型的增加、刪除、修改和查詢的功能。默認的資產類型為終端、交換機、路由器、工控防火墻和工控安全審計。終端:一種管理計算資源的設備,具備承擔服務請求、服務提供和保障服務的能力。交換機:一種用于電(光)信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。路由器:連接兩個或多個網絡的硬件設備,在網絡間起到網關的作用,是讀取每一個數據包中的地址然后決定如何傳送的專用智能性的網絡設備。工控防火墻:通過有機結合各類用于安全管理和篩選的軟件和硬件設備,幫助計算機網絡于其內、外網之間構建一道相對隔離的保護屏障,以保護用戶資料與信息安全的工控防護設備。工控安全審計:對工業控制網絡流量進行分析與安全監測的審計類工控設備。

2.3.2分組管理模塊

資產分組管理模塊主要是指對軟件資產所屬部門組織架構的管理。所有組織架構通過樹形結構進行統一的數據封裝,通過id和父節點id將樹形結構轉換為關系型數據在數據庫中存儲。其中單個組織包含了分組id、分組名稱、排序、描述和子分組列表。例如分組管理可以劃分為研發部門、銷售部門、行政部門、質量部門以及財務部門,其中研發部門又可以劃分為研發一部、研發二部和研發三部等。分組管理模塊主要用于支持用戶對基于職能分組的自定義管理。

2.3.3標簽管理模塊

資產標簽管理模塊,主要是為了給資產增加自定義分類的標簽,例如用戶可以將資產通過標簽的形式區分為一樓、二樓、三樓或者筆記本、臺式機、服務器等。每個資產都可以配置多個資產標簽,在軟件管理模塊中可以基于選中的標簽對資產數據進行自定義的篩選。

2.3.4資產管理模塊

資產管理模塊為該系統的核心模塊,其中基本功能為對工控網絡資產的增加、刪除、修改、查詢、數據導入和數據導出。同時該模塊支持客戶端資產監測頻率下發和客戶端資產策略下發的功能。此外,各個獨立安裝和部署的工控網絡設備,通過kafka將設備的網絡信息和系統資源信息上報給統一資產服務。其中網絡信息包括主機IP、主機MAC、網卡描述、是否開啟DHCP、網關和掩碼;系統資源信息包括硬盤設備廠商、硬盤型號、序列號和硬盤當前已使用的情況。

3系統設計難點分析

3.1資產ID統一生成

由于該軟件平臺管控了連接的所有工控網絡資產,當客戶端需要資產id時,該客戶端通過restful接口訪問統一資產服務端,統一資產服務端根據資產的屬性返回一個uuid作為資產的唯一標識。資產管理服務端新增了一個專門保存資產唯一標識和其特征的表,如果接口中的查詢對象在該表中已有其特征信息,則返回該資產數據庫中已有的uuid;如果該表中沒有該資產的信息,則會創建一個128位的uuid并記入該表后,將id返回給客戶端??紤]到虛擬機、docker容器無法獲取到終身不變的物理屬性,資產唯一性判斷對物理機、虛機和docker采取不同的規則,物理機根據硬盤序列號進行判斷,虛擬機根據mac地址進行判斷,docker容器根據dockerid進行判斷。

3.2資產狀態監控

用戶可以設置監測頻率,一般設置為60秒。當每隔60秒后,該客戶端資產會將當前設備的各種資源信息CPU使用率、內存使用率、硬盤使用率和網絡接口吞吐量上報給統一資產的服務端。由于統一管控的資產設備可能較多,如果資源信息存儲到數據庫中時,會存在很大的IO性能瓶頸,因此本系統選用Redis內存數據庫存儲當前資產的各種資源信息,以解決資產數量較多時導致的性能問題。當用戶點擊資產的擴展箭頭,在該資產的下方通過圖表的方式顯示當前資產的CPU使用率、內存使用率、硬盤使用率和網絡接口吞吐量信息,如圖2所示。同時資產的在線和離線狀態通過該資產是否在一定時間內已向統一資產服務上報信息來判斷,例如:如果10分鐘內有信息上報,則認為該資產在線,如果10分鐘內沒有任何信息上報,則認為該資產離線。

3.3策略統一下發

針對統一管控的網絡資產,支持各種策略的下發,例如對某個已安裝主機衛士軟件的資產進行策略下發,在統一資產服務端將策略信息通過kafka轉發給該設備。策略下發頁面如圖3所示。

4結論

針對眾多的工控網絡資產需要進行集中式統一管理問題,本文設計與實現了一種基于工控網絡的統一資產管理系統。該系統解決了在工業互聯網中網絡資產的集中式統一管控問題,在實際的工業生產環境中具有重要意義。

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

亚洲精品一二三区-久久