工业网络基础:ICS/SCADA架构、常见协议与IT/OT差异
工业防火墙策略配置的前提,是深入理解它所保护的工业网络环境。与以数据交换为核心的IT网络不同,工业控制系统(ICS/SCADA)网络直接连接物理设备,对实时性、确定性和可用性有严苛要求。本章将系统梳理工业网络的层级架构、主流工控协议的工作机理,并剖析工业网络与IT网络在安全设计上的本质差异,为后续防火墙策略的制定奠定基础。
2.1 工业控制系统(ICS/SCADA)层级架构
核心原理:Purdue模型与纵深防御
工业控制系统通常采用Purdue企业参考架构(PERA)进行分层设计,该模型将工业网络划分为6个层级(L0-L5),每一层承担不同的功能,具有不同的通信特征和安全需求。理解这一分层是配置防火墙策略的前提——防火墙的部署位置、访问控制规则、深度包检测(DPI)能力都必须与层级特性匹配。
- L0(物理过程层):包含传感器、执行器、变频器等直接与物理过程交互的设备。通信以现场总线为主,如4-20mA模拟信号、HART、Profibus PA等,通常不涉及IP通信。
- L1(基本控制层):PLC、RTU、DCS控制器等执行闭环控制逻辑。通信协议包括Modbus RTU/TCP、S7comm、EtherNet/IP等,实时性要求极高(毫秒级)。
- L2(监督控制层):SCADA服务器、工程师站(ES)、操作员站(HMI)、历史数据库(Historian)。该层负责过程监控、报警管理、组态下发,是OT网络的核心枢纽。
- L3(生产管理层):MES(制造执行系统)、LIMS(实验室信息管理系统)、资产管理系统。该层开始与IT系统交互,通信协议逐渐转向OPC UA、SQL等。
- L4/L5(企业网络层):ERP、CRM、办公自动化系统。属于传统IT域,使用标准IT协议。
防火墙部署要点:工业防火墙通常部署在L2/L3边界(即OT与IT的交界处),以及L1/L2边界(控制网与现场设备网之间)。在L0/L1边界,由于设备计算资源有限且协议多为非IP,通常不部署防火墙,而是采用物理隔离或串接安关。
判断方法:识别网络层级与通信流向
在实际项目中,判断一个节点属于哪个层级,可依据以下三个维度:
- 功能角色:该设备是执行控制(L1)、监控调度(L2)还是生产管理(L3)?
- 通信方向:流量是上行(设备→控制→管理)还是下行(管理→控制→设备)?防火墙策略通常只允许必要的上下行端口。
- 协议类型:该节点使用的协议是实时控制类(Modbus TCP、S7comm)还是信息管理类(HTTP、SQL)?
案例拆解:某水处理厂SCADA系统层级识别
某城市水处理厂需要部署工业防火墙,首先进行网络资产梳理。现场包含:
| 设备 | 型号/协议 | 层级归属 | 通信特征 |
|---|---|---|---|
| 原水泵变频器 | Modbus RTU over RS-485 | L0 | 非IP,轮询周期200ms |
| PLC(西门子S7-300) | S7comm over TCP:102 | L1 | 与SCADA服务器保持长连接 |
| SCADA服务器(WinCC) | S7comm、OPC DA | L2 | 同时与PLC和MES通信 |
| MES数据库 | SQL over TCP:1433 | L3 | 仅接受来自SCADA的数据上报 |
通过该表,工程师明确了防火墙策略的边界:在L1/L2之间部署工业防火墙,仅允许S7comm协议从SCADA服务器(IP:192.168.10.10)访问PLC(IP:192.168.20.1-20.10)的TCP 102端口,并启用DPI深度解析S7comm功能码,阻止非法的PLC启停操作。
常见误区:许多工程师将SCADA服务器与PLC放在同一网段,认为“内部通信不需要防护”。实际上,一旦SCADA服务器被攻陷(例如通过钓鱼邮件),攻击者可直接利用S7comm协议向PLC下发恶意指令。正确的做法是划分独立VLAN,并在VLAN间部署防火墙。
2.2 常见工业协议深度解析
核心原理:协议特性决定防火墙检测能力
工业协议的设计初衷是保证实时性和可靠性,而非安全性。绝大多数工控协议缺乏认证、加密和完整性校验机制,这要求工业防火墙必须具备深度包检测(DPI)能力,能够解析协议的功能码、寄存器地址、数据负载等字段,而不仅仅是五元组。
| 协议 | 传输层 | 默认端口 | 安全弱点 | 防火墙检测要点 |
|---|---|---|---|---|
| Modbus TCP | TCP | 502 | 无认证、无加密、功能码可被篡改 | 功能码(1-127)、寄存器地址范围、单元ID |
| OPC UA | TCP | 4840 | 早期版本无强制加密,需配置证书 | 会话建立、节点ID访问控制、证书有效性 |
| EtherNet/IP | TCP/UDP | 44818(TCP)/2222(UDP) | CIP安全扩展未普及,明文传输 | CIP路径、连接ID、服务代码 |
| S7comm | TCP | 102 | 私有协议,无内置安全,可被重放 | 功能码(0x04读/0x05写)、DB块号、数据长度 |
操作流程:配置防火墙DPI规则
- 识别协议类型:通过抓包(Wireshark)或防火墙自动识别功能确认流量使用的协议。
- 定义允许的功能码白名单:例如Modbus TCP中,仅允许功能码03(读保持寄存器)和06(写单个寄存器),禁止其他功能码。
- 设置寄存器地址范围:例如仅允许访问地址40001-40100,防止攻击者读取或写入敏感参数。
- 配置会话超时:工业协议通常保持长连接,需设置合理的空闲超时(如30分钟),避免连接被恶意占用。
实战经验:在配置S7comm DPI规则时,建议先开启“学习模式”运行一周,记录正常通信的基线(包括功能码、DB块号、访问频率),再基于基线生成白名单策略。直接手动配置容易遗漏合法的诊断功能码(如0x1A读取时间),导致生产中断。
案例拆解:Modbus TCP攻击检测与防护
某工厂的Modbus TCP网络遭受异常写入攻击,攻击者向PLC的保持寄存器(地址40001)写入超限值,导致生产线停机。分析过程如下:
- 初始现象:PLC报警“数据超限”,检查发现寄存器40001的值被改为9999(正常范围0-100)。
- 抓包分析:Wireshark显示源IP为192.168.1.50(非正常上位机),功能码为0x06(写单个寄存器),数据负载为0x270F(9999)。
- 根因判断:攻击者利用Modbus TCP无认证特性,直接构造写请求。
- 防火墙策略调整:在工业防火墙上配置规则——仅允许源IP为192.168.1.10(正常上位机)的Modbus TCP流量,且功能码仅限03(读)和06(写),寄存器地址限制在40001-40100,并设置写入速率限制(每秒不超过10次)。
- 结果对比:策略部署后,攻击流量被阻断,生产恢复。同时防火墙日志记录了多次来自192.168.1.50的尝试,为后续溯源提供了证据。
风险提示:不要对所有PLC统一配置相同的DPI规则。不同PLC的寄存器地址映射不同,例如西门子S7-300的DB1与DB2含义完全不同。建议为每台PLC单独配置规则,或按设备组配置并充分测试。
2.3 工业网络与IT网络的差异
核心原理:CIA优先级反转
IT网络遵循CIA(机密性、完整性、可用性)优先级,而工业网络遵循AIC(可用性、完整性、机密性)优先级。这一根本差异决定了防火墙策略的设计思路:IT防火墙优先阻断所有未明确允许的流量,而工业防火墙必须优先保证生产通信的连续性,即使这意味着需要放行某些“可疑”流量。
| 维度 | IT网络 | 工业网络(OT) |
|---|---|---|
| 优先级 | 机密性 > 完整性 > 可用性 | 可用性 > 完整性 > 机密性 |
| 通信模式 | 客户端/服务器,短连接为主 | 周期性轮询,长连接为主 |
| 协议 | HTTP/HTTPS、SMTP、SQL | Modbus、S7comm、OPC UA |
| 补丁管理 | 月度补丁,可随时重启 | 需停机窗口,补丁滞后数月甚至数年 |
| 性能要求 | 带宽利用率高,延迟容忍 | 确定性延迟(毫秒级),抖动敏感 |
| 安全目标 | 防数据泄露、防入侵 | 防生产中断、防物理设备损坏 |
判断方法:识别IT/OT混合流量
在工业网络边界,经常出现IT协议(如HTTP、SMTP)与OT协议(如Modbus)混合的情况。判断流量属于哪种类型,可依据:
- 源/目的IP:IT服务器(如域控)与OT设备(如PLC)之间的流量通常为跨域流量。
- 端口号:502(Modbus)、102(S7comm)等端口明确指向OT协议。
- 流量模式:OT流量通常具有周期性(如每100ms一次),IT流量则随机性较强。
案例拆解:IT/OT融合场景下的防火墙策略冲突
某制造企业实施IT/OT融合项目,需要让MES系统(IT域)通过OPC UA读取PLC数据(OT域)。初始方案中,IT管理员在防火墙上配置了“允许所有TCP 4840端口通信”,导致以下问题:
- 问题1:OPC UA服务器(PLC侧)暴露给整个IT网段,任何IT终端都可尝试连接。
- 问题2:IT防火墙的会话超时设置为5分钟,而OPC UA订阅模式需要保持长连接,导致频繁断连。
- 问题3:防火墙日志显示大量非预期的OPC UA浏览请求,占用带宽。
优化方案:
- 将防火墙策略细化为“仅允许MES服务器(IP:10.1.1.20)访问OPC UA服务器(IP:192.168.10.5)的TCP 4840端口”。
- 将会话超时调整为30分钟,并开启TCP keep-alive。
- 启用OPC UA应用层检测,仅允许读取节点(NodeID)白名单,禁止写入操作。
结果对比:策略优化后,MES数据采集稳定运行,且防火墙日志中不再出现非预期访问。该案例说明,工业防火墙策略必须同时考虑网络层(IP/端口)和应用层(协议内容),并针对OT长连接特性调整会话管理参数。
经验总结:在IT/OT融合项目中,建议采用“白名单+DPI”双模式:网络层白名单控制通信范围,应用层DPI控制协议行为。同时,为OT流量设置独立的防火墙策略组,避免与IT策略混用。
2.4 工业防火墙策略设计要点与常见误区
核心原理:基于Zone/Conduit的模型
IEC 62443标准推荐使用Zone(安全区域)和Conduit(安全通道)模型设计工业网络安全。Zone是具有相同安全要求的设备集合,Conduit是Zone之间通信的管道。防火墙策略应基于Zone/Conduit定义,而非基于单个IP地址。
操作流程:从资产梳理到策略落地
- 资产梳理:列出所有IP、MAC、协议、端口、通信对端。
- Zone划分:按功能和安全等级划分Zone(如控制Zone、现场设备Zone)。
- Conduit定义:明确哪些Zone之间需要通信,使用什么协议。
- 策略生成:为每个Conduit生成防火墙规则,默认拒绝所有未明确允许的流量。
- 测试验证:在非生产环境或维护窗口测试策略,确认不影响正常生产。
案例拆解:某汽车焊装车间防火墙策略优化
某焊装车间有120台机器人控制器(EtherNet/IP)、10台PLC(S7comm)、3台SCADA服务器。初始防火墙策略为“允许所有”,存在严重安全隐患。优化过程:
- 资产梳理:发现机器人控制器之间存在大量广播流量(UDP 2222),但实际控制指令仅来自SCADA服务器。
- 策略调整:将机器人控制器划入Zone A,SCADA服务器划入Zone B,PLC划入Zone C。仅允许Zone B→Zone A的EtherNet/IP TCP 44818连接,以及Zone B→Zone C的S7comm TCP 102连接。禁止Zone A内部广播跨Zone传播。
- 结果:策略部署后,网络广播风暴减少60%,且成功阻断了一次来自办公网(IT域)的异常扫描。
常见误区:
- 误区1:将工业防火墙配置为“允许所有出站流量”。工业网络通常不需要访问互联网,应默认阻断出站。
- 误区2:忽略广播/组播流量。EtherNet/IP的隐式报文使用UDP组播(224.0.0.1),防火墙需支持组播透传或IGMP snooping。
- 误区3:使用IT防火墙的“会话超时”默认值(如60秒)。工业长连接会被误断,导致PLC通信中断。