第1章:网络安全入门:工业以太网与TCP/IP基础、风电场网络分区与隔离、防火墙与访问控制列表
1.1 工业以太网与TCP/IP:别把它想得太神秘
说实话,很多风电场的运维兄弟一听到“TCP/IP”就头大,觉得这是IT部门的事。我刚开始接触风电监控系统时也这么想。直到有一次,一个风场的中控系统突然跟所有风机“失联”了,排查了半天,最后发现是IP地址冲突——两台风机被人为配置成了同一个IP。嗯,从那以后我就明白了,搞风电安全,网络基础是绕不过去的坎。
工业以太网说白了,就是把咱们风电场里的风机、测风塔、升压站设备用网线或者光纤连起来,让它们能互相“说话”。它跟办公室上网用的以太网在底层原理上是一样的,但要求更苛刻——你得保证数据实时、可靠,不能动不动就断。
TCP/IP协议族是这套通信体系的“交通规则”。我习惯把它拆成四层来看:
- 应用层:咱们最熟悉的Modbus TCP、IEC 61850、OPC UA都在这一层。说白了,就是设备之间“说什么话”的约定。
- 传输层:TCP(可靠但慢)和UDP(快但不可靠)。风机的实时控制数据我建议用UDP,但状态上报、历史数据用TCP更稳妥。
- 网络层:IP协议,负责把数据包从A点送到B点。这里最容易出问题——IP地址配错、子网掩码算错,我见过太多次了。
- 链路层:MAC地址、交换机、网线这些物理层面的东西。工业环境里,电磁干扰导致网口松动、光纤被老鼠咬断,都是真实发生过的。
核心要点:在风电场里,TCP/IP不是用来上网的,是用来“保命”的。你想想看,如果风机主控和中央监控之间的TCP连接因为网络拥塞断开了,后果是什么?轻则停机,重则设备损坏。
1.2 风电场网络分区与隔离:把“危险”关在笼子里
我在做风电场安全评估时,发现一个普遍问题:很多场站的网络是“一马平川”的——办公电脑和风机监控系统在同一个网段里。这太危险了。你想想,如果某个运维人员的笔记本中了勒索病毒,病毒顺着网线就能直接感染风机主控PLC。
所以,网络分区是必须的。我个人习惯把风电场网络分成三个区:
| 区域 | 包含设备 | 安全等级 | 典型风险 |
|---|---|---|---|
| 生产控制区(安全区I) | 风机主控PLC、变桨系统、偏航系统、升压站综自系统 | 最高 | 直接控制风机运行,被攻击可导致设备损坏或人身伤亡 |
| 生产监控区(安全区II) | 中央监控系统、能量管理平台、振动监测系统 | 高 | 数据被篡改可能导致误操作,影响发电效率 |
| 管理信息区(安全区III) | 办公网络、视频监控、门禁系统、运维管理系统 | 中 | 病毒传播入口,容易成为攻击跳板 |
隔离怎么做?我推荐用“物理隔离+逻辑隔离”双保险。物理隔离就是不同区域用不同的交换机,网线都不连在一起。逻辑隔离则靠VLAN(虚拟局域网)和防火墙来实现。
我的经验:别迷信“物理隔离就绝对安全”。我曾经遇到一个风场,生产控制区和办公区虽然用了不同的交换机,但运维人员为了方便,偷偷在机柜里拉了一根网线把两个交换机连起来了……嗯,这种“人为后门”比任何技术漏洞都可怕。
下面这张图是我常用的风电场网络分区架构,你可以参考一下:
1.3 防火墙与访问控制列表:给网络装上“门禁”
分区之后,不同区域之间怎么通信?这就轮到防火墙和访问控制列表(ACL)上场了。我把它比作风电场的“门禁系统”——不是谁想进就能进的。
防火墙的核心原则就两条:
- 默认拒绝:没有明确允许的流量,一律拦截。别想着“先放行再说”,那是给自己挖坑。
- 最小权限:只开放必要的端口和协议。比如,中央监控需要读取风机数据,那就只开放Modbus TCP的502端口,其他端口全封掉。
避坑指南:我曾经遇到一个风场,为了图省事,在防火墙上配置了一条“允许所有”的规则。结果某天办公区的ARP攻击直接穿透到了生产控制区,导致三台风机同时报“通信超时”停机。排查了整整两天才找到原因。从那以后,我每条防火墙规则都要问自己三遍:“这个端口真的需要开放吗?”
访问控制列表(ACL)是防火墙的“执行细则”。它告诉防火墙:谁(源IP)可以访问谁(目的IP),通过什么方式(端口/协议)。下面是一个典型的风电场ACL配置示例:
! 风电场ACL配置示例(以Cisco ASA为例)
! 允许安全区II的SCADA服务器访问安全区I的风机PLC(Modbus TCP)
access-list SCADA_TO_PLC extended permit tcp 192.168.10.0 255.255.255.0 10.0.0.0 255.255.255.0 eq 502
! 允许安全区II的能量管理平台读取升压站数据(IEC 61850)
access-list EMS_TO_SUBSTATION extended permit tcp 192.168.10.100 255.255.255.255 172.16.0.0 255.255.255.0 eq 102
! 拒绝所有其他从安全区II到安全区I的流量
access-list SCADA_TO_PLC extended deny ip any any
! 拒绝安全区III直接访问安全区I(必须经过安全区II跳转)
access-list OFFICE_TO_CONTROL extended deny ip 192.168.20.0 255.255.255.0 10.0.0.0 255.255.255.0
! 允许安全区III的运维人员通过堡垒机访问安全区II(SSH)
access-list BASTION_ACCESS extended permit tcp host 192.168.20.200 192.168.10.0 255.255.255.0 eq 22
我的习惯:ACL规则一定要写注释(就是上面以!开头的行)。别问我为什么——三个月后你自己回来看这些规则,没有注释你绝对想不起来当初为什么开这个端口。我吃过这个亏,真的。
最后说一句,防火墙和ACL不是配完就完事了。我建议每季度做一次规则审计,看看哪些规则已经不需要了,哪些端口可以关掉。风电场设备更新换代很快,旧设备退役了,对应的防火墙规则也要及时清理。否则,这些“僵尸规则”就是潜在的安全隐患。
好了,这一章的内容就到这里。网络分区和ACL是风电场安全的第一道防线,也是最重要的一道。下一章我们会聊聊更具体的威胁——工业协议的安全漏洞和攻击手法。到时候见。
公众号:蓝海资料掘金营,微信deep3321