NATIVE_NETWORK_ENCRYPTION 选项设置 - Amazon Relational Database Service

NATIVE_NETWORK_ENCRYPTION 选项设置

您可以在服务器和客户端上指定加密要求。例如,当数据库实例使用数据库链接连接到另一个数据库时,它可以充当客户端。您可能希望避免在服务器端强制加密。例如,您可能不希望强制所有客户端通信使用加密,因为服务器需要加密。在这种情况下,您可以使用 SQLNET.*CLIENT 选项强制在客户端加密。

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

注意

当您使用逗号分隔选项设置的值时,不要在逗号后面放置空格。

选项设置 有效值 默认值 描述

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

TRUE, FALSE

TRUE

使用非安全密码的客户端尝试连接到数据库时服务器的行为。如果为 TRUE,即使客户没有使用 2021 年 7 月 PSU 修补也可以连接。

如果设置为 FALSE,客户端只有在使用 2021 年 7 月 PSU 修补后才能连接到数据库。将 SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS 设置为 FALSE 之前,确保满足以下条件:

  • SQLNET.ENCRYPTION_TYPES_SERVERSQLNET.ENCRYPTION_TYPES_CLIENT 有一种并非 DES3DESRC4 的匹配加密方法(所有密钥长度)。

  • SQLNET.CHECKSUM_TYPES_SERVERSQLNET.CHECKSUM_TYPES_CLIENT 有一种并非 MD5 的匹配安全校验和方法。

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

SQLNET.ALLOW_WEAK_CRYPTO

TRUE, FALSE

TRUE

使用非安全密码的客户端尝试连接到数据库时服务器的行为。以下密码被视为不安全:

  • DES 加密方法(所有密钥长度)

  • 3DES 加密方法(所有密钥长度)

  • RC4 加密方法(所有密钥长度)

  • MD5 校验和方法

如果设置为 TRUE,则客户端可以在使用上述非安全密码时进行连接。

如果设置为 FALSE,则数据库会在客户端可以在使用上述非安全密码时阻止客户端进行连接。将 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 错误。

SQLNET.CRYPTO_CHECKSUM_CLIENT

Accepted, Rejected, Requested, Required

Requested

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

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

SQLNET.CRYPTO_CHECKSUM_SERVER

Accepted, Rejected, Requested, Required

Requested

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

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

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512

校验和算法的列表。

您可以指定一个值,也可以指定逗号分隔的值列表。如果您使用逗号,请不要在逗号后插入空格;否则,您会收到 InvalidParameterValue 错误。

此参数和 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER 必须有一个通用的密码。

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512, SHA1, MD5

校验和算法的列表。

您可以指定一个值,也可以指定逗号分隔的值列表。如果您使用逗号,请不要在逗号后插入空格;否则,您会收到 InvalidParameterValue 错误。

此参数和 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT 必须有一个通用的密码。

SQLNET.ENCRYPTION_CLIENT

Accepted, Rejected, Requested, Required

Requested

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

Requested 表示数据库实例不需要给来自服务器的流量加密。

SQLNET.ENCRYPTION_SERVER

Accepted, Rejected, Requested, Required

Requested

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

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

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

客户端使用的加密算法的列表。客户端尝试通过按顺序尝试每种算法来对服务器输入进行解密,直到某种算法成功或到达列表末尾。

Amazon RDS 使用 Oracle 中的下列默认列表。RDS 从 RC4_256 开始,然后沿列表按顺序下移。您可以更改顺序或限制数据库实例将接受的算法。

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

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

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

  4. 3DES168:3–密钥三重–DES(112 位有效密钥大小)

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

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

  7. 3DES112:2-密钥三重-DES(80 位有效密钥大小)

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

  9. DES:标准 DES(56 位密钥大小)

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

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

您可以指定一个值,也可以指定逗号分隔的值列表。如果使用逗号,请不要在逗号后插入空格;否则,您会收到 InvalidParameterValue 错误。

此参数和 SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER 必须有一个通用的密码。

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

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

Amazon RDS 使用 Oracle 中的下列默认列表。您可以更改顺序或限制客户端将接受的算法。

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

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

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

  4. 3DES168:3–密钥三重–DES(112 位有效密钥大小)

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

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

  7. 3DES112:2-密钥三重-DES(80 位有效密钥大小)

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

  9. DES:标准 DES(56 位密钥大小)

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

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

您可以指定一个值,也可以指定逗号分隔的值列表。如果使用逗号,请不要在逗号后插入空格;否则,您会收到 InvalidParameterValue 错误。

此参数和 SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER 必须有一个通用的密码。