保护 SAP 适配器的最佳做法
本部分提供在使用或开发使用 Microsoft BizTalk Adapter for mySAP Business Suite 的应用程序时应遵循的最佳做法,以便更彻底地保护敏感数据。
SAP 适配器与 SAP 系统之间的连接安全最佳做法
必须确保适配器与 SAP 系统之间交换的数据具有足够的安全级别。 SAP 适配器支持 SAP 安全网络通信 (SNC) 。 可以启用 SNC 或提供替代机制来帮助保护适配器与 SAP 系统之间的通信。
不要在连接 URI 中为 SAP 系统提供用户名密码凭据。 有关向 SAP 适配器提供凭据的替代方法,请参阅以下部分。
确保只有想要从 SAP 程序 ID 接收 SAP 项目的侦听器 (RFC、IDOC 和 tRFC) 才有权访问该程序 ID。 这是因为任何有权访问程序 ID 的侦听器都可以从该程序 ID 接收项目。
请注意,如果多个侦听器同时使用 SAP 程序 ID,SAP 将为每个传出项目随机选择一个侦听器, (RFC、IDOC 或 tRFC) 。
有关详细信息,请参阅 SAP 系统和适配器之间的安全性。
将 SAP 适配器与 BizTalk Server 配合使用的安全最佳做法
不要在连接 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 适配器的安全最佳做法
在 Microsoft Internet Information Services (IIS) 中托管 SAP 适配器作为 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
为 ,则将记录消息正文。 这可以揭示敏感的数据库信息。有关在启用诊断跟踪时提高安全性的详细信息,请参阅 安全问题和跟踪的有用提示。 有关在启用消息日志记录时提高安全性的详细信息,请参阅 消息日志记录的安全问题。