COM+ SOAP 服务安全注意事项

COM+ SOAP 服务取决于 IIS Web 服务器的安全性。 即使在客户端激活的对象模式下,COM+ RPC 也不会传输客户端标识,因此不能使用基于角色的安全性或 DCOM 提供的任何其他安全功能。 如果要帮助保护传入和传出 XML Web 服务的数据的隐私,或帮助保护 XML Web 服务免遭未经授权的访问,则可以配置 IIS 以根据客户端 IP 地址限制对 XML Web 服务的访问,或要求客户端提供数字证书来验证其标识。 如果不限制访问,任何可与 Web 服务器通信的客户端都可以访问 XML Web 服务。

可以将 IIS 配置为使用公钥加密 SSL 或 TLS 协议来加密与客户端的 XML Web 服务通信。 如果不加密 SOAP 通信,则第三方可以观察到客户端和服务器之间交换的数据,并且可以访问 SOAP 通信经过的任何网络;根据网络拓扑,这可能是一个小 LAN,也可能是 Internet。

默认情况下,未加密的 SOAP 通信在 HTTP 端口 (80) 接收,加密的 SOAP 通信在 HTTPS 端口 (443) 接收。 要使客户端能够成功访问 XML Web 服务,必须将客户端和服务器之间的任何防火墙配置为允许 TCP SYN 数据包到达相应的服务器端口。 相反,为了限制对 XML Web 服务的访问,防火墙管理员可以选择关闭这些端口。

作为 XML Web 服务公开的 COM 组件的默认安全设置会因安装的 Microsoft .NET Framework 版本而异。 如果安装了版本 1.0,则默认情况下 XML Web 服务不安全;接受所有调用,且不使用加密。 如果安装了版本 1.1 或更高版本,则默认情况下 XML Web 服务是安全的;调用方必须进行身份验证,并且需要加密。

受保护的 XML Web 服务不支持通过 WSDL 访问 WKO。 相反,安装了 .NET Framework 版本 1.1 的客户端可以在 CAO 模式下调用它。 如果第三方客户端需要通过 WSDL 访问 XML Web 服务,则必须允许匿名访问。

默认情况下,作为 XML Web 服务公开的 COM 组件使用匿名用户的权限(不使用其调用方的权限)运行。 可以将 IIS 配置为以其他用户身份运行 XML Web 服务;这有时可能是必需的,因为组件使用匿名用户无权访问的文件或其他资源。 不过,应始终尝试使用尽可能少的特权运行组件,以限制恶意调用方可能导致的损害。

注意

由于通过 XML Web 服务公开的方法可能会暴露给恶意调用方,因此应始终确保验证它依赖的任何输入参数。

 

有关如何配置特定 XML Web 服务安全设置的详细说明,请参阅保护 XML Web 服务

将安全的 SOAP 应用程序转换为不安全的 SOAP 应用程序

  1. 打开 Internet Information Services (IIS) 管理工具。
  2. 找到应用程序的虚拟目录并打开“属性”对话框。
  3. 选中“文档”选项卡上的“启用默认内容页”。
  4. 在“目录安全性”选项卡中,单击“匿名访问和身份验证控制”下的“编辑”。
  5. 选中“匿名访问”以启用匿名访问,然后单击“确定”。
  6. 单击“安全通信”下的“编辑”。
  7. 取消选中“需要安全通道 (SSL)”复选框。

COM+ SOAP 服务概述