蔡 亞
(萬家寨水務控股集團有限公司 調(diào)度中心,山西 太原 030012)
山西省萬家寨引黃工程作為一項世界級的引水工程,其SCADA系統(tǒng)(計算機監(jiān)視控制系統(tǒng))由澳大利亞FOXBORO公司設(shè)計制作完成,代表當時業(yè)內(nèi)頂尖的技術(shù)水平,其設(shè)計之嚴謹、結(jié)構(gòu)之復雜、功能之強大,令人嘆為觀止。時至今日,該系統(tǒng)仍擔負著引黃一期工程的運行監(jiān)控任務,為引黃工程的安全穩(wěn)定輸水立下汗馬功勞。
引黃SCADA系統(tǒng)數(shù)據(jù)測點幾乎囊括了一期工程沿線的泵站、閥室、變電站的電氣、水機等系統(tǒng)設(shè)備,以及沿線隧洞、管線及相關(guān)的各種水工設(shè)施。以SCADA終端作為人機交互界面,實時監(jiān)控系統(tǒng)的運行狀態(tài),并實現(xiàn)對電氣開關(guān)、刀閘、泵站機組、轉(zhuǎn)速調(diào)節(jié)等各種遠程操作控制。按設(shè)計要求,除了各站點的站控級系統(tǒng)外,在調(diào)度中心和備用調(diào)度中心分別設(shè)置了全系統(tǒng)監(jiān)控終端。引黃調(diào)度中心調(diào)度值班員通過SCADA終端操作員機,實現(xiàn)全線的調(diào)度指揮與遠程監(jiān)控。通過SCADA終端登錄系統(tǒng),按不同身份登錄用戶名,不同的身份擁有不同的操作權(quán)限。以“操作員”為例,一般由調(diào)度值班員使用,通過操作員身份登錄系統(tǒng),實現(xiàn)對系統(tǒng)監(jiān)控和設(shè)備遠程控制的功能,但無權(quán)進行系統(tǒng)的后臺設(shè)置、修改等。
為安全起見,引黃SCADA系統(tǒng)擁有獨立的內(nèi)網(wǎng),網(wǎng)內(nèi)設(shè)備對號入座,擁有固定唯一的IP地址。但由于工作需要,除初始設(shè)計的終端外,后期還需不斷地在不同的地點(如相關(guān)職能部門、分管領(lǐng)導辦公室等)增加一些終端監(jiān)控。新接入的終端可能會給整個系統(tǒng)帶來各種安全隱患,如計算機病毒感染或者通過新終端的人員入侵與破壞等等,因此為保證SCADA系統(tǒng)的硬件、軟件和信息不受自然和人為因素的破壞,首先要解決由于延伸終端的功能實現(xiàn)導致的網(wǎng)絡安全等問題。
作為引黃生產(chǎn)系統(tǒng)的內(nèi)部網(wǎng)絡,網(wǎng)絡系統(tǒng)的安全是首要的。在內(nèi)網(wǎng)貿(mào)然接入新設(shè)備、新終端,容易帶來病毒傳播、人為破壞或誤操作等安全隱患。如果內(nèi)網(wǎng)安全出現(xiàn)問題,會影響到整個供電、輸水系統(tǒng)的安全穩(wěn)定運行。由于安裝終端可能處在不同的地點,而周邊環(huán)境也各不相同,如何避免從終端導入系統(tǒng)安全隱患成為必須解決的問題。在實際操作過程中,本著簡潔安全實用的原則,對新接入的終端做了一些設(shè)置與處理。
初始時將終端操作系統(tǒng)設(shè)置成最簡潔模式(原SCADA系統(tǒng)為UNIX,后接入的終端系統(tǒng)是以WINDOWS系統(tǒng)為平臺并與之兼容的SCADA系統(tǒng)訪問程序),除必要的系統(tǒng)程序和SCADA訪問程序外,全部精簡;然后將CD-ROM、USB等物理輸入設(shè)備屏蔽,從硬件上防止隱患的導入;最后,在線路接入方面,采用各自獨立的專用信道、路由,直接由服務器接入終端,避免外網(wǎng)的可能干擾。
上述措施技術(shù)要求和安全級別不高,為確保安全有效,還需從軟件上進行進一步的設(shè)置,最終在出口處設(shè)置了專用的物理防火墻設(shè)備,通過防火墻對進出數(shù)據(jù)進行甄別防護。該防火墻與平常電腦上用的防火墻不同,它是由軟件和硬件設(shè)備組合而成,是在內(nèi)部網(wǎng)和外部網(wǎng)之間的界面上構(gòu)造的保護屏障,因此我們主要探討的是基于路由的防火墻設(shè)置。
首先是身份的甄別。雖然采用了專用的網(wǎng)絡通道,但并不能排除有其他電腦通過終端專用網(wǎng)絡接入系統(tǒng)的可能。因此,必須確認來訪者的身份是否合法。首先給每個合法的來訪者都編了號,即每個終端設(shè)置了唯一的IP地址和計算機名,并將信息輸入防火墻設(shè)備中記錄在案。但是,如果入侵者也設(shè)置了同樣的IP和計算機名,就有可能混入其中。為避免這種情況發(fā)生,我們在進行身份甄別時,還應確認來訪者的身份證,即終端的物理地址,這是唯一的不可復制的。然后將每個終端的物理地址和對應的IP地址、計算機名進行了綁定,只有物理地址、計算機名和IP都能對應正確,來訪者才可以進入。這樣,能夠進入網(wǎng)絡的終端就鎖定在了這幾個特定終端上,有效地避免了其他任何一個非法終端的入侵。
在此基礎(chǔ)上,對由訪問者帶入的任何可疑的不相關(guān)的內(nèi)容進行相關(guān)檢查,并拒絕其攜帶入內(nèi)。在這里采用硬件和軟件結(jié)合的方式,在外網(wǎng)和內(nèi)網(wǎng)之間建立起一個安全網(wǎng)關(guān),以保護內(nèi)網(wǎng)免受非法程序的侵入。簡單地說,其實就是在入口處裝入一個嵌有防火墻固件的包過濾路由器,通過對它的精密設(shè)置,實現(xiàn)符合規(guī)則的數(shù)據(jù)的正常交互和對不符合規(guī)則數(shù)據(jù)的過濾禁入。其工作原理為:在兩個網(wǎng)段之間設(shè)置一個防火墻,一側(cè)是UNIX系統(tǒng),即SCADA監(jiān)控系統(tǒng),另一側(cè)是PC終端;當單PC終端向SCADA系統(tǒng)發(fā)送遠程訪問請求時,PC終端中的遠程訪問程序產(chǎn)生一個TCP數(shù)據(jù)包并將此包傳遞給本地協(xié)議棧準備發(fā)送;協(xié)議棧把它填充到一個IP數(shù)據(jù)包里,然后通過PC終端的TCP/IP協(xié)議棧中定義的路徑發(fā)送到SCADA系統(tǒng);在通過防火墻之前,這個IP包不能到達SCADA系統(tǒng)。下面重點介紹一下訪問端口的設(shè)置和防護原理。
眾所周知,任何程序訪問網(wǎng)絡時,都需要通過特定的訪問端口。該端口可以是一個或多個,甚至是個取值范圍,如果將對應端口開放,程序數(shù)據(jù)就可以通過合法端口正常交互,來去自如;反之,如果將程序?qū)亩丝谄帘危涂梢宰柚蛊溥\行。這就需要提前識別程序運行的端口號。用一些專用的掃描端口或者抓包的軟件進行試驗,效果都不理想,只能掃出一部分端口。最后用防火墻專用軟件進行訪問跟蹤記錄,將每次訪問時數(shù)據(jù)通過的端口號進行逐一記錄,通過海量的實驗數(shù)據(jù),總結(jié)出了SCADA訪問程序,也就是我們允許通過的程序的每個特定端口號和端口號變量的取值范圍。掃出端口號后,接下來是定義規(guī)則。舉個例子,假如某一個終端的計算機名為PC1,指定它允許訪問的服務器為總?cè)?引黃工程總干線第三級泵站的簡稱)SCADA一號服務器GM3SRV1(為避免過多用戶同時訪問同一個服務器造成信息擁堵,將各終端分別指定不同的訪問服務器),掃描出訪問程序的訪端口號為X、Y、Z1→Z2,端口號分別定義為A、B、C;回訪端口號為x、y、z1→z2,端口號分別定義為a、b、c。那么這樣定義其交互規(guī)則:PC1(源)→ANY(目的),服務端口A、B、C,規(guī)則控制為允許;GM3SRV1(源)→PC1(目的),服務端口a、b、c,規(guī)則控制為允許。這樣,就實現(xiàn)了SCADA訪問程序的交互。最后加一條ANY(源)→ANY(目的),規(guī)則控制為不允許,以拒絕其他程序訪問的要求。這樣,通過防火墻軟件控制,最終達到的效果是,合法終端允許通過的訪問程序可以暢通無阻地進出,而任何不合法終端的任何程序或者合法終端的任何非法程序都無法與SCADA系統(tǒng)進行交互,這就為SCADA內(nèi)網(wǎng)系統(tǒng)構(gòu)筑了一道銅墻鐵壁,避免了外部程序的惡意入侵。
隨著計算機網(wǎng)絡的發(fā)展和廣泛應用,網(wǎng)絡安全已成為我們必須考慮和解決的問題,特別是一些工程項目的內(nèi)網(wǎng)系統(tǒng),安全要求非常高,直接關(guān)系到整個工程、系統(tǒng)的安全生產(chǎn)、運營,這樣就對網(wǎng)絡安全的級別和實用性提出了越來越高的要求。本文重點介紹的硬件防火墻技術(shù)不是解決網(wǎng)絡安全的主觀方法,只是網(wǎng)絡安全策略的一部分。成熟的網(wǎng)絡安全系統(tǒng)需不斷更新升級技術(shù),通過多種措施,從多角度多方位全面覆蓋實現(xiàn)網(wǎng)絡安全。