工程師遠(yuǎn)程改PLC,如何筑牢最小權(quán)限邊界)
1. 場(chǎng)景拆解外協(xié)工程師要改的那臺(tái)PLC到底在哪里先說一個(gè)我見過很多次的現(xiàn)場(chǎng)畫面設(shè)備廠商的售后工程師火急火燎地找到IT說產(chǎn)線有一臺(tái)PLC程序需要調(diào)整必須馬上遠(yuǎn)程接進(jìn)去改一下。很多工廠的做法很“豪邁”——給個(gè)內(nèi)網(wǎng)入口拉到同一個(gè)大網(wǎng)段讓他自己找設(shè)備自己連??雌饋硇蚀_實(shí)高實(shí)際上等于把整條生產(chǎn)控制網(wǎng)的鑰匙交了出去。這種權(quán)限邊界如果不劃清楚一次誤操作就夠整個(gè)車間喝一壺。外協(xié)工程師要改的往往只有一臺(tái)PLC但生產(chǎn)網(wǎng)里不只有這一臺(tái)PLC。以一條典型產(chǎn)線為例同一個(gè)二層廣播域里可能掛著十幾臺(tái)PLC、觸摸屏、伺服驅(qū)動(dòng)器、變頻器、傳感器網(wǎng)關(guān)甚至還有上位機(jī)SCADA。外協(xié)工程師用的是TIA Portal、GX Works或者Sysmac Studio這類工業(yè)軟件這些軟件大多設(shè)計(jì)在“可信局域網(wǎng)”環(huán)境里很多還默認(rèn)走廣播、多播去搜索設(shè)備。一旦讓他直接進(jìn)入生產(chǎn)網(wǎng)他搜到的可就不只是那臺(tái)該改的PLC了。他可能順手點(diǎn)一下“下載到設(shè)備”就把隔壁線的控制器程序給覆蓋了。這種事故不是沒發(fā)生過。所以問題的本質(zhì)不是“能不能連”而是“權(quán)限邊界到底劃到哪一層”。我后來在實(shí)踐中逐步把遠(yuǎn)程運(yùn)維的邊界拆成了三層遠(yuǎn)程接入隧道邊界、網(wǎng)絡(luò)轉(zhuǎn)發(fā)邊界、堡壘機(jī)會(huì)話邊界。三層各管一段缺一層都不夠穩(wěn)。特別是堡壘機(jī)它不只是多了一次登錄驗(yàn)證更重要的是把“外協(xié)工程師對(duì)PLC的操作”變成了“可錄制、可回放、可審批、可阻斷”的受控動(dòng)作。這篇文章就圍繞這個(gè)場(chǎng)景展開怎么讓外協(xié)工程師只改那一臺(tái)PLC拿到的是最小權(quán)限而不是一條通往整個(gè)生產(chǎn)網(wǎng)的高速公路。1.1 為什么不能直接給外協(xié)開“內(nèi)網(wǎng)通”很多外協(xié)工程師會(huì)說“你就給我一個(gè)內(nèi)網(wǎng)地址我改完立馬就走?!边@話聽著簡(jiǎn)單實(shí)際上把風(fēng)險(xiǎn)全推給了你。生產(chǎn)網(wǎng)里PLC、機(jī)器人、SCADA、歷史數(shù)據(jù)庫往往沒有嚴(yán)格的相互隔離它們之間的信任是基于“物理上大家在一個(gè)廠房”這種假設(shè)。工業(yè)設(shè)備又往往缺乏足夠的身份認(rèn)證能力很多PLC連登錄密碼都能為空。外協(xié)進(jìn)來之后網(wǎng)絡(luò)層面能到哪、協(xié)議層面能訪問什么幾乎完全取決于他電腦上的路由表和他心里怎么想。直接開內(nèi)網(wǎng)還有一個(gè)致命問題審計(jì)缺失。他什么時(shí)候連的、連了多久、對(duì)哪臺(tái)設(shè)備執(zhí)行過什么操作全都留不下記錄。萬一后續(xù)程序出了故障你連定位“是不是他改的”都做不到。生產(chǎn)事故最怕的不是出了問題而是出了問題沒法還原操作過程。沒有審計(jì)一切復(fù)盤都靠猜。所以我在設(shè)計(jì)方案時(shí)的第一條原則就定死了外協(xié)工程師永遠(yuǎn)不直連內(nèi)網(wǎng)他必須先進(jìn)入一條受控的遠(yuǎn)程接入隧道隧道里的訪問路徑再由防火墻和堡壘機(jī)共同約束。他不是“進(jìn)了內(nèi)網(wǎng)再受限”而是從第一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)開始就只能流向被允許的那個(gè)目標(biāo)。1.2 最小權(quán)限在這里具體指什么信息安全里常說的“最小權(quán)限”放到這個(gè)工業(yè)運(yùn)維場(chǎng)景里可以翻譯成三句大白話第一網(wǎng)絡(luò)層只讓他看到那臺(tái)PLC的IP和端口第二應(yīng)用層只讓他登錄那臺(tái)PLC所關(guān)聯(lián)的運(yùn)維工具第三