Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Oracle 本机网络加密

Amazon RDS 支持 Oracle 本机网络加密 (NNE)。借助于 Native Network Encryption,您可以在数据进出数据库实例时进行加密。Amazon RDS 支持所有 Oracle 版本的 NNE。Amazon RDS 支持对大小超过 db.t1.micro 的所有数据库实例类进行 Oracle 本机网络加密。

详细讨论 Oracle Native Network Encryption 超出了本指南的范围,但在您确定部署解决方案前,应该了解每个算法和密钥的优缺点。请注意,非默认 TDE 加密算法仅用于 Oracle 版本 11.2.0.2.v7 版和更高版本。有关通过 Oracle 本机网络加密提供的算法和密钥的信息,请参阅 Oracle 文档中的配置网络数据加密。有关 AWS 安全性的更多信息,请参阅 AWS 安全中心

注意

您可以使用本机网络加密或安全套接字层,但不能同时使用二者。有关更多信息,请参阅 Oracle SSL

NNE 选项设置

Amazon RDS 支持 NNE 选项的以下设置。

选项设置 有效值 默认值 说明

SQLNET.ENCRYPTION_SERVER

AcceptedRejectedRequestedRequired

Requested

客户端或充当客户端的服务器连接到数据库实例时的加密行为。

Requested 表示数据库实例不需要给来自客户端的流量加密。

SQLNET.CRYPTO_CHECKSUM_SERVER

AcceptedRejectedRequestedRequired

Requested

客户端或充当客户端的服务器连接到数据库实例时的数据集成行为。

Requested 表示数据库实例不需要客户端执行校验和。

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256AES256AES1923DES168RC4_128AES1283DES112RC4_56DESRC4_40DES40

RC4_256AES256AES1923DES168RC4_128AES1283DES112RC4_56DESRC4_40DES40

数据库实例使用的加密算法的列表。数据库实例将使用每种算法以便尝试对客户端输入解密,直到某种算法成功或到达列表末尾。

Amazon RDS 使用 Oracle 中的下列默认列表。您可以更改顺序或限制数据库实例将接受的算法。

  1. RC4_256:RSA RC4 (256 位密钥大小)

  2. AES256:AES (256 位密钥大小)

  3. AES192:AES (192 位密钥大小)

  4. 3DES168112:3 – 密钥三重 – DES (位有效密钥长度)

  5. RC4_128:RSA RC4 (128 位密钥大小)

  6. AES128:AES (128 位密钥大小)

  7. 3DES1122: – 密钥三重 – DES (80位有效密钥长度)

  8. RC4_56:RSA RC4 (56 位密钥大小)

  9. DES:标准 DES (56位密钥长度)

  10. RC4_40:RSA RC4 (40 位密钥大小)

  11. DES40:DES40 (40 位密钥大小)

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

sha-1,md5

sha-1,md5

校验和算法。

添加 NNE 选项

将 NNE 选项添加到数据库实例的一般过程如下所示:

  1. 创建新的选项组,或者复制或修改现有选项组。

  2. 向选项组添加选项。

  3. 将选项组与数据库实例相关联。

在添加 NNE 选项后,一旦激活该选项组,就会激活 NNE。

将 NNE 选项添加到数据库实例

  1. 对于 Engine,请选择要使用的 Oracle 版本。NNE 在所有版本中都受支持。

  2. 对于 Major Engine Version,请选择 11.212.1

    有关更多信息,请参阅 创建选项组

  3. NNE 选项添加到该选项组。有关添加选项的更多信息,请参阅 将选项添加到选项组

    注意

    在添加 NNE 选项后,您无需重新启动数据库实例。只要选项组处于活动状态,NNE 就处于活动状态。

  4. 将选项组应用到新的或现有的数据库实例:

使用 NNE

借助于 Oracle Native Network Encryption,您还可以在客户端侧指定网络加密。在客户端 (用于连接数据库实例的计算机) 上,您可以使用 sqlnet.ora 文件指定下列客户端设置:SQLNET.CRYPTO_CHECKSUM_CLIENT、SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT、SQLNET.ENCRYPTION_CLIENT 和 SQLNET.ENCRYPTION_TYPES_CLIENT。有关信息,请参阅 Oracle 文档中的配置 Oracle 服务器和客户端的网络数据加密和完整性

有时,数据库实例会拒绝应用程序发来的连接请求,例如,当客户端上的加密算法和服务器上的加密算法不一致时,就出现这种情况。

要测试 Oracle Native Network Encryption,请给客户端上的 sqlnet.ora 文件添加下列行:

DIAG_ADR_ENABLED=off TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=nettrace TRACE_LEVEL_CLIENT=16

当尝试连接时,这些行会在称为 /tmp/nettrace* 的客户端上生成跟踪文件。该跟踪文件中包含关于连接的信息。有关使用 Oracle Native Network Encryption 时的相关连接问题的详细信息,请参阅 Oracle 文档中的关于协商加密和完整性

修改 NNE 设置

在启用 NNE 后,可以修改该选项的设置。有关如何修改选项设置的更多信息,请参阅 修改选项设置。有关各项设置的更多信息,请参阅NNE 选项设置

删除 NNE 选项

您可以从数据库实例中删除 NNE。

要从数据库实例中删除 NNE,请执行下列操作之一:

  • 要从多个数据库实例中删除 NNE,请从其所属的选项组中删除 NNE 选项。此更改会影响使用该选项组的所有数据库实例。删除 NNE 选项后,您无需重新启动数据库实例。有关更多信息,请参阅 从选项组中移除选项

     

  • 要从单个数据库实例中删除 NNE,请修改该数据库实例,并指定另一个不包含 NNE 选项的选项组。您可以指定默认 (空) 选项组,或指定其他自定义选项组。删除 NNE 选项后,您无需重新启动数据库实例。有关更多信息,请参阅 修改运行 Oracle 数据库引擎的数据库实例

相关主题