修改 NATIVE_NETWORK_ENCRYPTION 选项设置 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

修改 NATIVE_NETWORK_ENCRYPTION 选项设置

启用 NATIVE_NETWORK_ENCRYPTION 选项后,您可以修改其设置。目前,您只能使用 Amazon CLI 或 RDS API 修改 NATIVE_NETWORK_ENCRYPTION 选项设置。您无法使用控制台。以下示例修改该选项中的两个设置。

aws rds add-option-to-option-group \ --option-group-name my-option-group \ --options "OptionName=NATIVE_NETWORK_ENCRYPTION,OptionSettings=[{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256},{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256}]" \ --apply-immediately

要了解如何使用 CLI 修改选项设置,请参阅Amazon CLI。有关各项设置的更多信息,请参阅NATIVE_NETWORK_ENCRYPTION 选项设置

修改 CRYPTO_CHECKSUM_* 值

如果修改 NATIVE_NETWORK_ENCRYPTION 选项设置,请确保以下选项设置具有至少一个通用密码:

  • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

以下示例显示修改 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER 的方案。该配置有效,因为 CRYPTO_CHECKSUM_TYPES_CLIENTCRYPTO_CHECKSUM_TYPES_SERVER 都使用 SHA256

选项设置 修改前的值 修改后的值

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

无更改

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA1,MD5,SHA256

例如,假设需要将 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER 从默认设置改为 SHA1,MD5。在这种情况下,请确保将 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT 设置为 SHA1 或者 MD5。这些算法不包含 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT 的默认值中。

修改 ALLOW_WEAK_CRYPTO* 设置

要将 SQLNET.ALLOW_WEAK_CRYPTO* 选项从默认值设置为 FALSE,请确保满足以下条件:

  • SQLNET.ENCRYPTION_TYPES_SERVERSQLNET.ENCRYPTION_TYPES_CLIENT 有一种匹配的安全加密方法。如果方法并非 DES3DESRC4(所有密钥长度),则该方法被视为安全。

  • SQLNET.CHECKSUM_TYPES_SERVERSQLNET.CHECKSUM_TYPES_CLIENT 有一种匹配的安全校验和方法。如果方法并非 MD5,则该方法被视为安全。

  • 该客户端使用 2021 年 7 月的 PSU 进行了修补。如果客户端没有进行修补,则客户端将失去连接并收到 ORA-12269 错误。

下面的示例显示了示例 NNE 设置。假设您想要将 SQLNET.ENCRYPTION_TYPES_SERVERSQLNET.ENCRYPTION_TYPES_CLIENT 设置为 FALSE,从而阻止不安全的连接。校验和选项设置满足先决条件,因为它们都具有 SHA256。但是,SQLNET.ENCRYPTION_TYPES_CLIENTSQLNET.ENCRYPTION_TYPES_SERVER 使用 DES3DESRC4 加密方法,这些方法不安全。因此,要将 SQLNET.ALLOW_WEAK_CRYPTO* 选项设置为 FALSE,请首先将 SQLNET.ENCRYPTION_TYPES_SERVERSQLNET.ENCRYPTION_TYPES_CLIENT 设置为安全加密方法,例如 AES256

选项设置

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA1,MD5,SHA256

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, 3DES168, DES40

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, 3DES168, DES40