2. FactoryTalk Directory部署与安全边界
FactoryTalk Directory(FTD)是FactoryTalk View SE、FactoryTalk Historian、FactoryTalk Linx等产品的“身份与命名中枢”。它并不直接参与控制逻辑,却决定了谁能登录、能访问哪些区域、能引用哪些标签。理解FTD的部署方式,本质上是在理解整个FactoryTalk系统的安全边界从哪里开始划分。
一、Directory服务器的角色与安装位置
FTD分为两种角色:Network Directory(网络目录)和Local Directory(本地目录)。Network Directory用于多台工作站共享同一套应用、区域和用户账户,是分布式SE系统的核心;Local Directory只服务于单机应用,通常用于工程测试或独立HMI。
安装Network Directory时,建议将其部署在独立的Windows Server上,而不是与View SE客户端或Historian混装。原因是FTD对DNS解析、时间同步和网络延迟敏感,混装会引入不必要的故障面。安装过程的关键选择点如下:
FactoryTalk Directory 配置向导
├─ 选择角色:Network Directory / Local Directory
├─ 指定计算机名:FTD-SRV01(必须与DNS正向解析一致)
├─ 选择账户:本地管理员组 或 域服务账户
├─ 指定数据存储路径:D:\FTD\Data(建议独立卷)
└─ 确认端口:默认使用 135、139、445、49152-65535 动态端口
安装完成后,必须通过“FactoryTalk Directory Configuration Wizard”将客户端指向该服务器。客户端首次连接时会写入注册表项,记录Directory服务器的主机名。若主机名变更而注册表未更新,客户端会持续报“无法连接到FactoryTalk Directory”。
二、网络端口与通信边界
FTD的通信并非单一端口,而是依赖一组Windows RPC和SMB端口。实际工程中,防火墙策略必须放行以下内容:
| 端口/协议 | 用途 | 方向 |
|---|---|---|
| TCP 135 | RPC Endpoint Mapper | 客户端 → FTD服务器 |
| TCP 139/445 | SMB文件共享与命名管道 | 双向 |
| TCP 49152-65535 | RPC动态端口 | 客户端 → FTD服务器 |
| UDP 137/138 | NetBIOS名称解析 | 同网段内 |
如果安全策略不允许开放大范围动态端口,可以在FTD服务器上通过注册表将RPC动态端口限制为固定范围,例如50000-50100,再在防火墙中只放行该区间。这一做法在跨站点部署中尤为常见,因为它让防火墙规则可审计、可预测。
三、域模式与工作组模式的选择
FTD支持两种账户体系:域模式和工作组模式。
域模式下,FTD直接引用Active Directory中的用户和组,账户集中管理,密码策略统一,适合多站点、多工程师协作的场景。工作组模式下,FTD使用本地账户,每台客户端和服务器各自维护账户,适合小型独立系统或与AD隔离的OT网络。
选择依据可以归纳为三点:若站点数量超过两个、工程师人数超过五人、或已有AD基础设施,优先域模式;若系统完全隔离、无AD、且账户数量极少,工作组模式更简单。混合模式虽然技术上可行,但会显著增加排障复杂度,不建议在生产环境中使用。
四、冗余Directory的部署要点
冗余Directory通过主备或读写分离方式提供高可用。主服务器承担写入,备用服务器定期同步用户、区域和应用元数据。当主服务器不可用时,客户端可以切换到备用服务器继续登录,但备用服务器上的配置变更不会自动回写主服务器。
部署冗余时需要注意三点:第一,主备服务器必须使用相同的FTD版本和补丁级别;第二,同步账户需要在两台服务器上具有相同的权限;第三,客户端切换不是瞬时的,通常需要30秒到2分钟,具体取决于网络和客户端缓存策略。在冗余切换测试中,可以通过停止主服务器的FTD服务,观察客户端是否在预期时间内自动重连。
五、跨站点信任关系与安全分区设计
跨站点信任关系解决的是“不同站点的FTD如何互相识别用户和区域”的问题。信任关系可以是单向的,也可以是双向的。单向信任意味着B站点信任A站点的用户,但A站点不信任B站点;双向信任则相反。
安全分区设计的核心原则是:控制写入边界,放宽读取边界。具体来说,远程站点可以读取主站点的标签和画面,但不应直接写入主站点的控制标签。实现方式是在FTD中为不同站点分配不同的区域(Area),并通过角色权限限制写操作。例如,B站点的Operator角色只能读取A站点的“生产状态”区域,而A站点的Engineer角色才能写入“控制参数”区域。
六、部署检查清单
在完成FTD部署后,建议按以下清单逐项确认:
- FTD服务器主机名与DNS正向解析一致,且客户端能ping通主机名而非仅IP。
- 防火墙已放行135、445(如需要)及RPC动态端口范围,且规则经过实际连接测试。
- 客户端已通过Configuration Wizard指向正确的Directory服务器,注册表项已更新。
- 域模式或工作组模式的账户已正确映射到FTD角色,且至少有一个管理员账户可登录。
- 冗余Directory的同步状态正常,主备切换测试已通过。
- 跨站点信任关系已配置,且远程站点用户无法写入受保护区域。
- 安全分区与网络分区一致,跨分区通信有明确的防火墙规则和审计日志。
FTD的部署质量直接决定了后续用户权限和审计数据的可信度。如果Directory本身存在解析错误、端口不通或信任关系混乱,后续的权限配置和审计记录都会建立在不可靠的基础上。因此,在进入用户与角色配置之前,务必先完成上述边界确认。