WCF 适配器的安全建议

BizTalk Server使用 WCF 适配器发布 (接收) 和使用 (发送) WCF 服务。 我们建议您按照这些准则来确保您环境中的 WCF 适配器的安全以及部署它们。

有关 WCF 适配器的详细信息,请参阅 WCF 适配器。 有关 WCF 服务的详细信息,请参阅 使用 WCF 服务

针对所有 WCF 适配器的安全建议

  • 如果需要将前端用户的内容映射到后端系统中的凭据,则可以使用企业单一登录 (SSO)。

  • 并非所有服务都必须发布元数据。 禁用元数据发布可以缩小服务的攻击面,同时降低意外泄漏信息的风险。 有关与元数据相关的安全问题的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=196671“元数据的安全注意事项”。

  • 并非所有的元数据终结点绑定和服务终结点绑定的组合都是有效的。 在某些情况下,元数据终结点的绑定配置必须与其服务终结点的绑定配置一致。 例如,从与接收位置相同的位置提供元数据时,如果接收位置使用依赖于 HTTPS 的安全模式,则元数据终结点不能配置为需要 HTTP 传输的安全模式。

    注意

    当通过 HTTP 传输为具有相同位置但需要依赖于 HTTPS 传输的安全模式的服务终结点发布元数据时,在 BizTalk WCF 发布向导生成的 Web.config 文件中,必须将 httpsGetEnabledhttpGetEnabled 属性都设置为 true

  • WCF 适配器利用 Windows Communication Foundation (WCF) 的安全功能进行通信。 了解 WCF 在安全方面的功能和限制很重要。 有关 WCF 安全功能的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=87806“Windows Communication Foundation 安全性”。

针对独立 WCF 适配器的安全建议

  • 有关发布 Web 服务的安全建议,请参阅 启用 Web 服务

  • 独立的 WCF 适配器(如 WCF-CustomIsolated、WCF-BasicHttp 和 WCF-WSHttp 适配器)利用超文本传输协议 (HTTP) 来发送和接收BizTalk Server的消息。 因此,你必须遵循安全建议以确保 Internet 信息服务 (IIS) 的安全。

  • 为隔离的 WCF 接收位置创建应用程序池时,必须将其配置为在运行 WCF 接收适配器的独立主机的 Windows 组成员的帐户下运行,Internet Information Services 工作进程组 (IIS_WPG 组) 。 随后,必须将 WCF 接收适配器的主机实例配置为使用此帐户。 如果更改了 IIS_WPG 组的帐户,则必须确保将主机实例也更新为使用该新帐户运行。

针对 WCF-Custom 适配器的安全建议

  • 如果 WCF-Custom 接收位置碰巧使用 HTTP 内核模式驱动程序 (HTTP.sys) (例如用于安全套接字层的 httpsTransport 绑定元素 (SSL) 通信),则接收位置必须为每个套接字注册证书, (IP 地址/端口组合) 。 使用 HttpCfg.exe 工具可将 SSL 证书绑定到计算机上的端口。 有关详细信息,请参阅 上的 https://go.microsoft.com/fwlink/?LinkId=86384“如何:使用 SSL 证书配置端口”。

针对 WCF-NetMsmq 适配器的安全建议

  • 若要使用 WCF-NetMsmq 适配器,必须采用与 netMsmqBinding 相同的方式为 WCF-NetMsmq 适配器配置 MSMQ 安全设置。 有关如何为 netMsmqBinding 配置 MSMQ 安全设置的详细信息,请参阅 上的 https://go.microsoft.com/fwlink/?LinkId=87816“排队消息疑难解答”。

WCF 适配器使用 ChainTrust 模式来验证证书。

  • 由于标准 WCF 接收适配器使用 ChainTrust 模式来验证客户端和服务证书,因此必须安装 CA 证书链来验证 X.509 证书。 可以使用 WCF-Custom 或 WCF-CustomIsolated 适配器更改此默认行为。

WCF 适配器的安全审核

  • 默认情况下,WCF 适配器不使用 WCF 安全审核功能。 为 WCF 适配器启用 WCF 安全审核功能有多种方式。 有关 WCF 安全审核功能的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=88975“审核安全事件”。

  • 若要将 WCF 安全审核功能与 WCF-Custom 接收适配器一起使用,可以为接收位置配置 ServiceSecurityAuditBehavior

  • 对于进程内 WCF 适配器,可以通过 BTSNTSvc.exe.config 文件启用性能计数器。 对于独立的 WCF 适配器,可以通过修改 BizTalk WCF 服务发布向导在 Web 应用程序文件夹中创建的 Web.config 文件来启用 WCF 跟踪。 若要修改 BTSNtSvc.exe.config 或 Web.config,请打开相应配置文件,然后配置 WCF 跟踪,如下面的配置示例所示:

    注意

    BTSNTSvc.exe.config 文件始终与 BTSNTSvc.exe 文件位于同一目录中,该文件通常是 \Program Files (x86) \Microsoft BizTalk Server <VERSION>。

    注意

    修改 BTSNTSvc.exe.config 文件之后,必须重新启动运行进程内 WCF 接收位置的主机实例。

    <configuration>
        <system.serviceModel>
          <diagnostics performanceCounters="All" />
          <behaviors>
            <serviceBehaviors>
              <behavior name="ServiceBehaviorConfiguration">
                <serviceSecurityAudit
                          auditLogLocation="Application"
                          suppressAuditFailure="true"
                          serviceAuthorizationAuditLevel="SuccessOrFailure"
    messageAuthenticationAuditLevel="SuccessOrFailure" />
              </behavior>
            </serviceBehaviors>
          </behaviors>
          <services>
            <service name="Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance" behaviorConfiguration="ServiceBehaviorConfiguration">
            </service>
          </services>
        </system.serviceModel>
    </configuration>
    
  • 您还可以使用与安全相关的性能计数器(如 Security Calls Not Authorized)来监视 WCF 适配器。 有关如何启用 WCF 性能计数器的详细信息,请参阅 WCF 适配器性能计数器

另请参阅

规划安全性