普通防火墙下如何放行工业OPC DA协议

工控安全 1年前 (2023) admin
184 0 0

OPC DA协议是工控领域常用协议之一,OPC DA采用微软的COM技术,在不同工控机上采用OPC DA通讯则采用DCOM技术,而DCOM则采用微软的RPC动态端口,所以在普通商用防火墙上是无法支持OPC DA这个协议。这也是为什么工业防火墙的具备防护OPC DA专业技能,工业防火墙会根据DCOM中RPC来跟踪动态端口的变化,记录协商出来的动态端口,并在策略上动态开放。但实际上工业防火墙在企业内网采购比较少,更多是商业防火墙,而随着IT和OT融合,在企业网络中获取控制网络的数据的场景越来越多,但很多的DCS和SCADA系统仅仅具备OPC DA对外通讯能力,所以多数企业需要在IT和OT边界部署工业防火墙。此篇文章就是指导IT和OT边界采用商业防火墙的情况下如何采用修改注册表的方式,把RPC中DCOM端口限制在一个小范围内从而保证网络的通讯畅通切安全。

普通防火墙下如何放行工业OPC DA协议

Windows 中的RPC服务是允许在自定义配置项(例如注册表项)中指定服务器端口。当指定专用服务端口时,就知道哪些流量在穿越防火墙的主机之间流动。可以以更直接的方式定义允许哪些流量。

使用注册表编辑器,可以修改 RPC 的以下参数。下面讨论的 RPC Port 键值均位于注册表中的以下键中:

HKEY_LOCAL_MACHINESoftwareMicrosoftRpcInternetEntry name Data Type

Port REG_MULTI_SZ

指定一组 IP 端口范围,其中包含网络上可用的所有端口或不可用的所有端口。每个字符串代表一个端口或一组包含的端口。

例如,单个端口可以用5984表示,一组端口可以用5000-5100表示。如果任何条目超出 0 到 65535 的范围,或者任何字符串无法解释,则 RPC 运行时会将整个配置视为无效。

PortsInternetAvailable REG_SZ Y 或 N(不区分大小写)

如果是,则端口项中列出的端口是该计算机上的所有网络可用端口。如果为 N,则“端口”项中列出的端口是所有不可通过网络访问的端口。

UseInternetPorts REG_SZ Y 或 N(不区分大小写)

指定系统默认策略。

如果是,则使用默认值的进程将从网络可用端口集中分配端口,如先前所定义。如果为 N,则使用默认值的进程将从仅限网络的端口集中分配端口。

例子

在此示例中,任意选择了端口 5000 到 6000(包括端口 5000 和 6000),以帮助说明如何配置新的注册表项。它并不是任何特定系统所需的最小端口数的建议。

在下面添加Internet密钥HKEY_LOCAL_MACHINESoftwareMicrosoftRpc

在Internet项下,添加值Ports (MULTI_SZ)、PortsInternetAvailable (REG_SZ) 和UseInternetPorts (REG_SZ)。

例如,新的注册表项如下所示:

Ports: REG_MULTI_SZ: 5000-6000

PortsInternetAvailable: REG_SZ: Y

UseInternetPorts: REG_SZ: Y

重新启动服务器。所有使用 RPC 动态端口分配的应用程序都使用端口 5000 到 6000(含)。

应该打开端口 5000 以上的一系列端口。低于 5000 的端口号可能已被其他应用程序使用,并可能导致与 DCOM 应用程序发生冲突。此外,根据以往的经验,至少应打开 100 个端口,因为工控服务依赖这些 RPC 端口进行相互通信。


原文始发于微信公众号(IRTeam工业安全):普通防火墙下如何放行工业OPC DA协议

版权声明:admin 发表于 2023年7月18日 上午9:28。
转载请注明:普通防火墙下如何放行工业OPC DA协议 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...