保护 Oracle 数据库适配器的最佳做法

本部分提供在使用或开发使用 Microsoft BizTalk Adapter for Oracle Database 的应用程序时应遵循的最佳做法,以便更彻底地保护敏感数据。

Oracle 数据库适配器与 Oracle 数据库之间的连接的安全最佳做法

  • Oracle 数据库适配器不支持帮助保护它与 Oracle 数据库之间的通信。 必须提供一种机制来帮助确保适配器与 Oracle 数据库之间交换的数据具有足够的安全级别。

  • 不要在连接 URI 中为 Oracle 数据库提供用户名密码凭据。 有关向 Oracle 数据库适配器提供凭据的替代方法,请参阅以下部分。

  • Oracle 数据库适配器还允许在连接到 Oracle 数据库时使用 Windows 身份验证,通过 Visual Studio 或 BizTalk Server 生成元数据和执行操作。 在使用 Windows 身份验证之前,必须执行 使用 Windows 身份验证连接到 Oracle 数据库中列出的步骤。

    有关详细信息,请参阅 Oracle 数据库与适配器之间的安全性

使用带 BizTalk Server 的 Oracle 数据库适配器的安全最佳做法

  • 不要在连接 URI 中为 Oracle 数据库提供用户名密码凭据。

  • 使用“使用适配器服务加载项”时,请在“配置适配器”对话框的“安全性”选项卡中输入 Oracle 数据库的用户名密码凭据。

  • 在发送端口上为 Oracle 数据库适配器配置 BizTalk WCF-Custom 适配器时,请从“配置 WCF 自定义传输”对话框的“凭据”选项卡中输入 Oracle 数据库的用户名密码凭据。

  • 在接收位置为 Oracle 数据库适配器配置 BizTalk WCF-Custom 适配器时,请从“配置 WCF 自定义传输”对话框的“其他”选项卡中输入 Oracle 数据库的用户名密码凭据。

  • 使用 Oracle 数据库适配器,还可以在连接到 Oracle 数据库时使用 Windows 身份验证,通过BizTalk Server生成元数据和执行操作。 在使用 Windows 身份验证之前,必须执行 使用 Windows 身份验证连接到 Oracle 数据库中列出的步骤。

    有关详细信息,请参阅 Oracle 数据库适配器的安全性和BizTalk Server

通过编程解决方案使用 Oracle 数据库适配器的安全最佳做法

  • 有时需要在连接 URI 中为 Oracle 数据库提供用户名密码凭据;但是,如果可能,应避免执行此操作。

  • 使用“添加适配器服务参考 Visual Studio 插件”时,请在“配置适配器”对话框的“安全性”选项卡中输入 Oracle 数据库的用户名密码凭据。

  • 在 WCF 通道模型编程中,使用通道工厂中的 Credentials 属性设置 Oracle 数据库的用户名密码凭据。

  • 在 WCF 服务模型编程中,使用 WCF 客户端上的 ClientCredentials 属性设置 Oracle 数据库的用户名密码凭据。

  • 如果使用 Oracle 数据库适配器的应用程序跨进程边界将包含敏感数据库信息的消息发送到另一个服务或客户端,请确保这些消息应用了足够的安全措施,以在环境中提供足够的数据保护。

  • Oracle 数据库适配器还允许在连接到 Oracle 数据库时使用 Windows 身份验证,以通过 Visual Studio 生成元数据和执行操作。 在使用 Windows 身份验证之前,必须执行 使用 Windows 身份验证连接到 Oracle 数据库中列出的步骤。

    有关详细信息,请参阅 使用 Oracle 数据库适配器进行安全编程

在 IIS 中托管 Oracle 数据库适配器的安全最佳做法

将 Oracle 数据库适配器作为 Web 服务托管在 Microsoft Internet Information Services (IIS) 会将 Oracle 数据库适配器显示的操作公开给 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) 的保护。

    以下警告特别适用于客户端应用程序与 Oracle 数据库适配器之间交换的消息:

  • WCF 诊断跟踪可以记录标头 (但不能记录与 Oracle 数据库适配器交换的消息的正文) 。 由于消息操作位于消息标头中,这会显示客户端在 Oracle 数据库适配器上调用的操作。

  • 如果 WCF 消息日志记录已启用并且 logMessagesAtServiceLeveltrue,则记录消息头 (但不记录适配器客户端和 Oracle 数据库适配器之间交换的消息正文) 。 由于消息操作位于消息标头中,这会显示客户端在 Oracle 数据库适配器上调用的操作。 如果 logEntireMessagetrue为 ,则将记录消息正文。 这可以揭示敏感的数据库信息。

    有关在启用诊断跟踪时提高安全性的详细信息,请参阅 安全问题和跟踪的有用提示。 有关在启用消息日志记录时提高安全性的详细信息,请参阅 消息日志记录的安全问题

另请参阅

保护 Oracle 数据库应用程序