某工厂使用OPC SERVER作为协议转换层,实现MES SERVER与现场PLC的通讯。
现场有2个车间,约有近20个工位需要和MES SERVER通讯。
等到所有工位都调试通过,系统也上线运行了一段时间之后,突然发现一个很妖的问题:OPC响应会越来越慢,最后造成一些工位完全没有响应。
一开始我们怀疑是网络的问题,于是把两个车间的网络隔离观察,发现问题仍然没有解决。
后来我们怀疑是应用的问题,于是在后台查看OPC CLIENT通讯的日志,依然毫无头绪。
接着我们怀疑是OPC客户端配置的问题,于是把所有工位的OPC配置按照手册重新设置了一遍。
这样下来,我们几乎折腾了半个多月,但是问题依然象幽灵一般存在,搞得业务部门非常不满。
后来我们想到试着去看OPC SERVER的事件日志,因为每次OPC通讯建立连接时,客户端是作为一个远程用户登录到服务器的,所以服务器应该会记录登录验证的信息。于是我们按照这个方向去查,也确实发现了不少登录的日志,但并没有显示IP地址、HOSTNAME等有用的信息。
后来我想到我们是用域帐户作为OPC远程用户进行登录管理的,那么理论上每次登录验证都需要通过域控制器进行。于是赶紧联系域管理员,从域控制器上导出最近一个月的事件日志,然后把此日志经过处理,筛选得到所有指向OPC SERVER的登录验证信息。经过这样处理,果然大有发现:有2台PC异常频繁地请求访问OPC SERVER,于是抄下这2台PC的机器名和IP 地址,到现场了解情况,很快地真相大白:原来这2台PC是用于HMI的,安装了XP操作系统,然后运行WINCC RUNTIME,由于PLC工程师不断地通过U盘拷贝程序和文件,结果感染了病毒,因此这2台PC不断地申请访问OPC SERVER,进而形成类似DDOS攻击的效果,从而造成OPC网络瘫痪。于是我们将此2台PC断网杀毒,车间的OPC网络马上恢复正常运行。
这个案例给我的教训是:
1.
一定要做好生产网络的隔离。首先务必要将生产网络从办公网络隔离,其次不同车间之间最好也划分VLAN进行隔离。
2.
不仅是运行MES客户端的PC要安装杀毒软件,HMI、测试机台等也都要安装杀毒软件,从而防止病毒的入侵。
3.
由于早期版本OPC采用DCOM进行远程通讯,在典型配置时OPC服务器的安全等级非常低,容易被入侵,此时条件允许的话,要考虑配置用域账户管理OPC远程登录,这样可以通过域控制器的事件日志回溯每次的登录请求,方便日后追查分析。
没有评论:
发表评论