生产部门想把设备状态送到分析平台,信息部门想让算法尽快读到实时数据,维护团队还希望在异地看故障。三方的要求都能理解。麻烦出在一句看似省事的话:“既然已经连上了PLC,就让平台直接读吧。”读数据的链路和改控制器状态的链路若没有被明确隔开,一次便利的集成就可能成为长期暴露的入口。
10月9日,工业实时数据软件厂商Skkynet负责人Gary Tillery在ISA旗下Automation.com发表技术文章,围绕西门子S7 PLC系列谈网络结构:不要把控制器直接暴露在互联网;工业控制协议应留在OT网段,历史库、分析与维护系统需要的过程数据,可通过工业DMZ与受控链路向外传递。文章提及S7通信服务、由内部向外建立安全隧道,以及在特别敏感环境中采用单向数据传输的思路。[1] 这是厂商技术分析,不是10月9日新披露了某个PLC漏洞,也不是新的官方强制标准。具体软件方案是否适用,仍要经企业独立测试。
为什么“打补丁就安全了”不够
补丁处理已知软件缺陷,是必要的维护动作,却不会自动收回一条已经开放的网络路径。如果一个控制协议服务长期对不该访问它的网络可见,攻击面依然存在。对生产环境而言,问题不能只写成“版本是不是最新”,还要问:谁能看见服务,谁能发起会话,链路断了会发生什么,设备是否能在失去分析平台时继续按原有安全方式运行。
这里不必把所有PLC通信都描述成同一种危险。不同设备、固件、配置和网络位置,风险并不相同;具体的防护方案必须由现场资产和业务约束决定。但只要分析平台获得了与控制系统同一条可达路径,企业就得证明访问权限和执行能力没有随数据需求一起被放大。一个只想看温度趋势的应用,不该顺手具备改变设定值的机会。
许多工厂的历史连接是逐次叠加的。先是设备厂商远程维护,再接一个历史数据库,后来接数据看板和AI试点。每次接入都只改一点点网络设置,过几年却没人能说清哪些端口为谁而开、哪台服务器还在使用旧账号。此时再买一套“安全数据平台”,若不先摸清连接关系,可能只是给旧网络加了新外壳。
读与控分开,是架构问题
一个相对清楚的划分是:现场控制保持在OT范围,数据服务以限定范围把必要的过程数据送到边界层,企业分析系统从受控侧获取数据。工业DMZ不是给所有应用开一个中转大厅,而是让跨边界的服务有明确的位置、方向、身份和日志。架构图上每一条箭头,都要能回答它对应哪种数据、由谁发起、能否反向访问。
“只读”也不能只写在应用界面上。若底层账号仍有写入权限,前端按钮被隐藏并不构成稳固的访问边界;若安全隧道建立之后让两边任意互通,它也不能因为叫“隧道”就被认为安全。更可核验的办法是逐层检查协议权限、网络策略和服务行为,让分析平台只有所需的采集能力,并在测试环境验证错误配置和异常重连时的表现。
在非常敏感的环境中,单向数据传输是另一个可讨论的选项。它能帮助限制反向通信,但也有代价:现场是否需要双向确认、传输失败如何补发、时序数据的延迟与完整性怎样判断,都要重新设计。不能把“单向”当成一张买来即安全的标签。具体现场是否适合单向传输,必须结合业务与网络条件判断。
企业先画四张图
第一张是资产图。PLC、工程站、操作员站、历史库、跳板机、远程维护入口,以及连接的交换机和边界设备,至少要知道它们在哪里、谁负责、是否仍在使用。设备清单若没有维护人,漏洞通知来了也找不到升级窗口。这里的重点不是为了做漂亮拓扑,而是避免在不知道系统全貌时贸然切断生产通信。
第二张是流向图。把数据读取、配置修改、程序下载、维护会话分别画线。看板只需要趋势,却与工程站共用高权限账号,是值得立即审视的安排。对于每条跨区链路,写明发起方、目标、端口与协议、用途、访问时段以及到期复核人。最好让生产和信息安全团队在同一张纸上签字:生产确认不会伤害正常控制,安全团队确认没有留出不必要的可达性。
第三张是失败图。工业数据接入最容易被忽略的是断连场景。DMZ服务停机后,PLC会不会被迫等待响应?采集系统重启会不会重复写入或造成时间顺序错乱?告警送达失败时谁接手?理想状态是分析业务降级,控制回路照常遵循现场设计;具体能否实现,需要针对实际设备与架构测试,不能靠一句“隔离”推定。
第四张是责任图。谁批准新数据点,谁管理证书与账号,谁能修改防火墙规则,第三方维护结束后谁撤销权限?这张图看起来不如网络拓扑专业,却能决定措施三个月后是否仍有效。没有退出与复核机制,临时开放的通道很容易变成永久配置。
工业AI接入最易犯的错误
AI试点常从“先把数据接出来”开始。为了快,项目可能要求直接读取控制器、把全量变量送上平台,等算法跑通后再谈权限。这样做的诱惑很大:前期集成成本低,演示很快有图表。可是变量的含义、采样时钟和缺失值若没校核,读得越多也未必越有用;访问范围却已经扩大。
比较稳妥的起点,是先确定一个业务问题,例如异常报警复核或设备维护排程,再列出真正需要的过程变量、精度、频率与保留时长。为这些变量设计受控的数据服务,审查访问主体与审计记录。时间戳质量尤其不能省:两台设备的时钟不同步,算法可能把先后颠倒的事件误判成因果。缺测与延迟也要在数据侧明确标记,不能留给模型猜。
算法输出应与控制权限分开。给维护人员一条“检查某个传感器”的建议,与让模型自动向PLC下发设定值,是两种不同的系统。后者需要专门的安全分析、审批、测试和回退机制,不能因为前者已经运行就默认放行。分析平台可以按权限读取过程数据,但不应因接入数据就获得修改PLC内部状态的通路。
这并不是反对远程维护或智能分析。工厂确实需要在合适的条件下访问设备,某些业务也有双向交互需求。要求只是把这些需求单独提出来审查,而不是藏在一个名为“数据接入”的项目里。如果必须有控制操作,就为它建立另一套明确的身份、审批、监控和验收条件,不与通用分析账户混用。
一条数据链路的完整生命周期
假设一家工厂准备把设备运行状态送入历史库。项目起点不该是让工程师试到哪个端口“能连上”,而是由生产侧确认哪些变量能代表目标工况,OT人员确认读取这些变量不会干扰控制任务,安全人员确认从哪个边界服务向外发布。上线前在测试环境核对读取频率和断连行为,上线后监测服务健康,并给每条授权设定复核时间。需求结束时,还要能删除账号、收回证书并关闭规则。
在运行阶段,需求往往会膨胀。今天是设备状态,明天要增加报警明细,后天又要获取配方信息。每次新增变量都应问用途、敏感性和保留范围,不要把最初批准的“只读”理解为以后所有数据都可无限制复制。配方、质量记录与设备状态属于不同的信息资产;是否能出OT区,要和现场业务负责人协商,不是采集软件能读到就可以全量带走。
版本变更同样可能改变边界。更换采集服务、修改网络设备策略、升级PLC固件或恢复旧配置,都可能让原本正确的访问控制失效。比较可靠的做法,是把原先测试过的通信清单与配置基线保留下来,每次变更后核对差异。既防止误开额外通路,也避免安全改造意外阻断生产。具体变更步骤必须服从现场安全规程,而不是照搬一篇文章的拓扑示意。
安全与可用性不是单选题
有时安全方案被抵触,并非车间不重视风险,而是改造方案没有说明谁承担停机。如果为了隔离而突然切掉历史库连接,班组可能失去必要的报警视图,最后又会有人绕过新规则恢复旧连接。改造前,应先确认现有通信依赖,安排可回退的实施窗口,并让操作人员参与断连演练。生产连续性属于安全设计的一部分。
同样,安全团队不必以“所有数据一律不出厂”作为唯一答案。质量追溯、维护和能耗分析可能确实需要过程数据;合理的架构是在可审计的范围内提供这些数据,同时保留控制面的隔离。要求越清楚,越容易选出合适的数据采集位置和访问路径。需求若只用“建设工业智能平台”概括,后续团队往往只能靠不断增加权限解决接入问题。
对跨工厂平台尤其如此。一个集团级分析系统要看多家工厂,不意味着它应能直连每家厂的控制器。各厂可以在本地管理采集与质量检查,再向上提供经过授权的数据服务。集团侧拿到所需数据及状态信息,现场仍保有控制网络的自主边界。如何实现取决于具体网络与业务,不应把这个建议理解成已被原文验证的产品方案。
验收时,别只看屏幕上有没有曲线
上线验收可以用一组朴素的问题收尾。设备清单是否与实际连接一致?OT区与工业DMZ之间哪些通信被允许?企业平台凭什么身份读取哪些点位?切断跨区链路后,现场生产控制是否仍按设计运行?非授权账户尝试访问时,系统是否拒绝并留下记录?故障断连能否及时告警?这些问题要留存测试证据,而不是在会议纪要里打勾。
对厂商提出的“由内部向外建立安全隧道”或“单向传输”方案,也要做相同的独立测试:核对隧道实际开放的服务、密钥轮换、数据完整性、恢复过程及维护操作。安全软件是一部分,网络结构和人员权限是另外两部分;购买软件不能替代对现场链路的审查。尤其是旧系统,改造窗口有限,更需要先在非生产环境验证,再按变更计划进入现场。
Skkynet这篇文章提醒的是一个老问题,而不是发现了一件新事故:一旦工厂要从PLC取数,方便的数据链路很容易顺带打开控制面的门。好的工业数据架构应使读数据越来越方便,同时让控制权限始终稀缺、可查、可撤销。曲线传到云端并不困难。难的是它传出去以后,车间仍清楚地知道谁能改变机器下一秒要做什么。
参考资料
文中的检查步骤是企业实践建议,不代表新漏洞通告、官方强制要求或针对任一现场的安全评估。
[1] Automation.com / Skkynet|Protecting Siemens S7 PLCs Starts with Architecture|2026-10-09。