来自 COM 经验的八个教训
2006-07-22 22:53:22 来源:WEB开发网核心提示: 另一种更安全和更现实的解决方案是,限制 DCOM 使用的端口范围,来自 COM 经验的八个教训(9),并只为 DCOM 通信量打开一组小范围端口,根据实践原则,更多信息,请阅读 Michael Nelson 关于 DCOM 和防火墙的优秀论文,您应该为每个服务器进程分配一个端口,将连接导出
另一种更安全和更现实的解决方案是,限制 DCOM 使用的端口范围,并只为 DCOM 通信量打开一组小范围端口。根据实践原则,您应该为每个服务器进程分配一个端口,将连接导出到远程 COM 客户端(不是每个接口指针一个端口或每个对象一个端口,而是每个服务器进程一个)。将 DCOM 配置为使用 TCP 而不是 UDP 是一个好方法,特别是在服务器对其客户端执行回调时。
DCOM 用于远程连接的端口范围和所用的协议可通过注册表进行配置。在 Windows 2000 和 Windows NT 4.0 Service Pack 4 或更高版本上,您可以用 DCOMCNFG 应用这些配置更改。以下是将 DCOM 配置为通过防火墙工作的办法。
图 3 选择协议
- 在服务器(在防火墙后寄存远程对象的机器)上,将 DCOM 配置为使用 TCP 作为其所选协议,如图 3 中所示。
- 在服务器上,限制 DCOM 将使用的端口范围。记住为每个服务器进程至少分配一个端口。图 4 中的示例将 DCOM 限制为端口 8,192 到 8,195。
- 打开您在步骤 2 中选择的端口,使 TCP 通信量能够通过防火墙。同时打开端口 135。
图 4 选择端口
执行这些步骤,DCOM 就可以很好地跨防火墙工作了。如果您愿意,SP4 和更高版本还可让您为单独的 COM 服务器指定终结点。更多信息,请阅读 Michael Nelson 关于 DCOM 和防火墙的优秀论文,该论文可在 MSDN Online 站点上找到(请参见 http://msdn.microsoft.com/library/en-us/dndcom/html/msdn_dcomfirewall.asp)。
更多精彩
赞助商链接