1. 场景拆解:外协工程师要改的那台PLC,到底在哪里
先说一个我见过很多次的现场画面:设备厂商的售后工程师火急火燎地找到IT,说产线有一台PLC程序需要调整,必须马上远程接进去改一下。很多工厂的做法很“豪迈”——给个内网入口,拉到同一个大网段,让他自己找设备自己连。看起来效率确实高,实际上等于把整条生产控制网的钥匙交了出去。这种权限边界如果不划清楚,一次误操作就够整个车间喝一壶。
外协工程师要改的往往只有一台PLC,但生产网里不只有这一台PLC。以一条典型产线为例,同一个二层广播域里可能挂着十几台PLC、触摸屏、伺服驱动器、变频器、传感器网关,甚至还有上位机SCADA。外协工程师用的是TIA Portal、GX Works或者Sysmac Studio这类工业软件,这些软件大多设计在“可信局域网”环境里,很多还默认走广播、多播去搜索设备。一旦让他直接进入生产网,他搜到的可就不只是那台该改的PLC了。他可能顺手点一下“下载到设备”,就把隔壁线的控制器程序给覆盖了。这种事故不是没发生过。
所以问题的本质不是“能不能连”,而是“权限边界到底划到哪一层”。我后来在实践中逐步把远程运维的边界拆成了三层:远程接入隧道边界、网络转发边界、堡垒机会话边界。三层各管一段,缺一层都不够稳。特别是堡垒机,它不只是多了一次登录验证,更重要的是把“外协工程师对PLC的操作”变成了“可录制、可回放、可审批、可阻断”的受控动作。
这篇文章就围绕这个场景展开:怎么让外协工程师只改那一台PLC,拿到的是最小权限,而不是一条通往整个生产网的高速公路。
1.1 为什么不能直接给外协开“内网通”
很多外协工程师会说:“你就给我一个内网地址,我改完立马就走。”这话听着简单,实际上把风险全推给了你。生产网里PLC、机器人、SCADA、历史数据库往往没有严格的相互隔离,它们之间的信任是基于“物理上大家在一个厂房”这种假设。工业设备又往往缺乏足够的身份认证能力,很多PLC连登录密码都能为空。外协进来之后,网络层面能到哪、协议层面能访问什么,几乎完全取决于他电脑上的路由表和他心里怎么想。
直接开内网还有一个致命问题:审计缺失。他什么时候连的、连了多久、对哪台设备执行过什么操作,全都留不下记录。万一后续程序出了故障,你连定位“是不是他改的”都做不到。生产事故最怕的不是出了问题,而是出了问题没法还原操作过程。没有审计,一切复盘都靠猜。
所以我在设计方案时的第一条原则就定死了:外协工程师永远不直连内网,他必须先进入一条受控的远程接入隧道,隧道里的访问路径再由防火墙和堡垒机共同约束。他不是“进了内网再受限”,而是从第一个网络节点开始,就只能流向被允许的那个目标。
1.2 最小权限在这里具体指什么
信息安全里常说的“最小权限”,放到这个工业运维场景里可以翻译成三句大白话:第一,网络层只让他看到那台PLC的IP和端口;第二,应用层只让他登录那台PLC所关联的运维工具;第三,