Oracle 安全套接字层 - Amazon Relational Database Service

Oracle 安全套接字层

要为 RDS for Oracle 数据库实例启用 SSL 加密,请向与数据库实例关联的选项组添加 Oracle SSL 选项。根据 Oracle 的要求,Amazon RDS 使用另一个端口连接 SSL。此方法允许数据库实例与 SQL*Plus 之间能够同时进行明文通信和 SSL 加密通信。例如,您可以使用用于明文通信的端口与 VPC 内的其他资源通信,同时使用用于 SSL 加密通信的端口与 VPC 外部的资源通信。

注意

您可以在同一 RDS for Oracle 数据库实例上使用 SSL 或原生网络加密(NNE),但不能同时使用两者。如果您使用 SSL 加密,则必须禁用任何其他连接加密。有关更多信息,请参阅 Oracle 本机网络加密

SSL/TLS 和 NNE 不再是 Oracle 高级安全的一部分。在 RDS for Oracle 中,您可以对以下数据库版本的所有许可版本使用 SSL 加密:

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c(19.0.0)

Oracle SSL 选项的 TLS 版本

Amazon RDS for Oracle 支持传输层安全性 (TLS) 版本 1.0 和 1.2。在添加新的 Oracle SSL 选项时,请显式将 SQLNET.SSL_VERSION 设置为有效值。下面是该选项设置允许的值:

  • "1.0" – 客户端只能使用 TLS 版本 1.0 连接到数据库实例。对于现有 Oracle SSL 选项,SQLNET.SSL_VERSION 自动设置为 "1.0"。您可以根据需要更改设置。

  • "1.2" – 客户端只能使用 TLS 1.2 连接到数据库实例。

  • "1.2 or 1.0" – 客户端只能使用 TLS 1.2 或 1.0 连接到数据库实例。

Oracle SSL 选项的密码套件

Amazon RDS for Oracle 支持多个 SSL 密码套件。默认情况下,Oracle SSL 选项配置为使用 SSL_RSA_WITH_AES_256_CBC_SHA 密码套件。要指定不同的密码套件以在 SSL 连接中使用,请使用 SQLNET.CIPHER_SUITE 选项设置。

可以为 SQLNET.CIPHER_SUITE 指定多个值。如果数据库实例之间具有数据库链接并且您决定更新密码套件,则此技术很有用。

下表总结了所有版本的 Oracle Database 19c 和 21c 中对 RDS for Oracle 的 SSL 支持。

密码套件(SQLNET.CIPHER_SUITE) TLS 版本支持(SQLNET.SSL_VERSION) FIPS 支持 符合 FedRAMP 要求
SSL_RSA_WITH_AES_256_CBC_SHA(原定设置) 1.0 和 1.2
SSL_RSA_WITH_AES_256_CBC_SHA256 1.2
SSL_RSA_WITH_AES_256_GCM_SHA384 1.2
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 1.2
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 1.2
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 1.2
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 1.2
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 1.2
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 1.2

FIPS 支持

RDS for Oracle 使您能够使用 140-2 联邦信息处理标准(FIPS)。FIPS 140-2 是一项美国政府标准,它定义了密码模块的安全要求。您可以通过针对 Oracle SSL 选项将 FIPS.SSLFIPS_140 设置为 TRUE 来开启 FIPS 标准。为 SSL 配置 FIPS 140-2 时,加密库会加密客户端与 RDS for Oracle 数据库实例之间的数据。

客户端必须使用符合 FIPS 条件的密码套件。建立连接时,客户端和 RDS for Oracle 数据库实例协商为来回传输消息使用的密码套件。Oracle SSL 选项的密码套件中的表显示了适用于各个 TLS 版本的符合 FIPS 条件的 SSL 密码套件。有关更多信息,请参阅 Oracle 数据库文档中的 Oracle 数据库 FIPS 140-2 设置