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 文件中,必须将 httpsGetEnabled 和 httpGetEnabled 属性都设置为 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 适配器性能计数器。