本部分提供了在使用或开发使用 mySAP Business Suite Microsoft BizTalk 适配器的应用程序时应遵循的最佳做法,以便更全面地保护敏感数据。
SAP 适配器与 SAP 系统之间的连接的安全最佳做法
必须确保适配器和 SAP 系统之间交换的数据具有足够的安全级别。 SAP 适配器支持 SAP 安全网络通信(SNC)。 可以启用 SNC 或提供替代机制来帮助保护适配器和 SAP 系统之间的通信。
不要在连接 URI 中为 SAP 系统提供用户名密码凭据。 有关向 SAP 适配器提供凭据的替代方法,请参阅以下部分。
确保只有您希望接收 SAP 组件(RFC、IDOC 和 tRFC)的侦听器才能访问 SAP 程序 ID。 这是因为任何有权访问程序 ID 的侦听器都可以从该程序 ID 接收工件。
请注意,如果多个侦听器同时使用 SAP 程序 ID,SAP 将随机为每个传出项目(RFC、IDOC 或 tRFC)选择侦听器。
有关详细信息,请参阅 SAP 系统和适配器之间的安全性。
利用 BizTalk Server 使用 SAP 适配器的安全最佳实践
不要在连接 URI 中为 SAP 系统提供用户名密码凭据。
使用“使用适配器服务加载项”时,请从“配置适配器”对话框的“安全”选项卡输入 SAP 系统的用户名密码凭据。
在发送端口上为 SAP 适配器配置 BizTalk WCF-Custom 适配器时,请从“配置 WCF 自定义传输”对话框的“凭据”选项卡输入 SAP 系统的用户名密码凭据。
在接收位置上为 SAP 适配器配置 BizTalk WCF-Custom 适配器时,请从“配置 WCF 自定义传输”对话框的“其他”选项卡输入 SAP 系统的用户名密码凭据。
有关详细信息,请参阅 SAP 适配器和 BizTalk Server 的安全性。
通过编程解决方案使用 SAP 适配器的安全最佳做法
有时需要在连接 URI 中为 SAP 系统提供用户名密码凭据;但是,如果可能,应避免执行此作。
使用“添加适配器服务引用 Visual Studio 插件”时,请从“配置适配器”对话框的“安全”选项卡输入 SAP 系统的用户名密码凭据。
在 WCF 通道模型编程中,使用通道工厂上的 Credentials 属性为 SAP 系统设置用户名密码凭据。
在 WCF 服务模型编程中,使用 WCF 客户端上的 ClientCredentials 属性设置 SAP 系统的用户名密码凭据。
如果使用 SAP 适配器的应用程序将包含敏感数据库信息的消息发送到另一个服务或客户端,请确保这些消息具有足够的安全措施,以便在你的环境中提供足够的数据保护。
有关详细信息,请参阅 使用 SAP 适配器进行安全编程。
在 IIS 中托管 SAP 适配器的安全最佳做法
将 SAP 适配器托管在 Microsoft Internet Information Services (IIS) 中,作为 Web 服务将 SAP 适配器显示的操作公开给 Web 客户端。 这些作可能涉及通过 Internet 交换敏感数据,因此应采取措施来帮助确保此数据尽可能安全。
WCF 为 HTTP 传输提供两个标准绑定: BasicHttpBinding 提供没有安全机制的基本 HTTP 传输; WSHttpBinding 支持传输级别和消息级安全机制。
可以通过 HTTPS 连接使用 BasicHttpBinding ,也可以使用 WSHttpBinding 来帮助保护数据。 WCF LOB 适配器 SDK 包括 WCF LOB 适配器服务开发向导,以生成 LOB 工件的 WCF 服务。 此向导仅支持使用 BasicHttpBinding。
还可以开发自定义 HTTP 绑定,以利用环境提供的其他安全机制。 有关 WCF 提供的安全功能的详细信息,请参阅 保护服务和客户端。
WCF 诊断跟踪和消息日志记录的安全最佳做法
WCF 支持诊断跟踪和消息日志记录。 可以通过配置文件或使用 Windows Management Instrumentation(WMI)配置诊断跟踪和消息日志记录。 根据您设置的配置选项,WCF 诊断跟踪或消息日志记录可能会将敏感信息写入日志文件,这可能会被未经授权的用户观察到。
按照 WCF 文档中提供的建议,通过启用这些功能来缓解暴露的潜在安全威胁。 至少应遵循以下诊断跟踪和消息日志记录的最佳做法:
不要在生产环境中启用“详细”或“信息”跟踪。 这可能会导致性能下降。 但是,必须在生产环境中启用“警告”和“错误”追踪。 如果启用跟踪,则必须采取适当的安全措施来保护数据。 有关详细信息,请参阅 WCF 文档。
确保日志文件和配置文件受访问控制列表(ACL)的保护。
以下警告特别适用于客户端应用程序和 SAP 适配器之间交换的消息:
WCF 诊断跟踪可以记录与 SAP 适配器交换的消息的标头(但不能记录正文)。 由于消息操作位于消息头中,这表明客户端在 SAP 适配器上进行的操作。
如果启用了 WCF 消息日志记录并且
logMessagesAtServiceLevel
是true
,则会记录适配器客户端和 SAP 适配器之间交换的消息的消息标头(但不是消息正文)。 因为消息操作位于消息头中,这会显示客户端在 SAP 适配器上调用的操作。 如果logEntireMessage
也是true
,则会记录消息正文。 这可以揭示敏感的数据库信息。有关在启用诊断跟踪时提高安全性的详细信息,请参阅 “安全问题”和“跟踪有用提示”。 有关在启用消息日志记录时提高安全性的详细信息,请参阅 消息日志记录的安全问题。