View a markdown version of this page

Oracle Secure Sockets Layer - Amazon Relational Database Service

Oracle Secure Sockets Layer

RDS for Oracle DB インスタンスの SSL 暗号化を有効するには、その DB インスタンスに関連付けられているオプショングループに、Oracle SSL オプションを追加します。Oracle からの要求があるため、Amazon RDS では SSL 接続のために 2 番目のポートを使用しています。この方法では、クリアテキストと SSL 暗号化の両方の通信を、DB インスタンスと SQL*Plus 間で同時に実行できます。例えば、このポートで SSL 暗号化通信を使用して VPC 外部のリソースと通信する一方で、このポートでクリアテキスト通信を使用して VPC 内の他のリソースと通信できます。

注記

同じ RDS for Oracle DB インスタンスで SSL またはネイティブネットワークの暗号化 (NNE) のいずれかを使用できますが、両方使用することはできません。SSL 暗号化を使用する場合は、他のすべての接続の暗号化を無効にする必要があります。詳細については、「Oracle ネイティブネットワーク暗号化」を参照してください。

SSL/TLS と NNE は、Oracle Advanced Security の一部ではなくなりました。RDS for Oracle では、以下のデータベースバージョンのすべてのライセンスされたエディションで、SSL 暗号化を使用できます。

  • Oracle Database 26ai (26.0.0.0)

  • Oracle Database 21c (21.0.0.0)

  • Oracle Database 19c (19.0.0.0)

注記

Oracle Database 26ai の場合、Oracle SSL オプションは TLS 1.2 のみをサポートしており、デフォルトの暗号スイートは TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 です。Oracle Database 26ai では、次の暗号スイートがサポートされています。

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (デフォルト)

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Oracle SSL オプションの TLS バージョン

Amazon RDS for Oracle は、Transport Layer Security (TLS) バージョン 1.0 および 1.2 をサポートしています。新しい Oracle SSL オプションを追加するときは、SQLNET.SSL_VERSION を有効な値に明示的に設定します。次の表は、オプション設定に使用できる値を示しています。

サポートされている Oracle バージョン 説明
"1.0" 19c、21c クライアントは、TLS バージョン 1.0 のみを使用して DB インスタンスに接続できます。既存の Oracle SSL オプションで、SQLNET.SSL_VERSION は自動的に "1.0" に設定されます。必要に応じて設定を変更できます。
"1.2" すべて クライアントは、TLS 1.2 のみを使用して DB インスタンスに接続できます。
"1.2 or 1.0" 19c、21c クライアントは、TLS 1.2 または 1.0 のいずれかを使用して DB インスタンスに接続できます。

Oracle SSL オプションの暗号スイート

Amazon RDS for Oracle は、複数の SSL 暗号スイートをサポートしています。デフォルトでは、Oracle SSL オプションは Oracle Database 19c および Oracle Database 21c に対して SSL_RSA_WITH_AES_256_CBC_SHA 暗号スイートを使用するように設定されています。Oracle Database 26ai の場合、デフォルトの暗号スイートは TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 です。SSL 接続で使用する別の暗号スイートを指定するには、SQLNET.CIPHER_SUITE オプション設定を使用します。

SQLNET.CIPHER_SUITE には複数の値を指定することができます。この手法は、DB インスタンス間にデータベースリンクがあり、暗号スイートを更新する場合に便利です。

次の表は、Oracle Database 19c、21c および 26ai のすべてのエディションでの RDS for Oracle の SSL サポートをまとめたものです。

暗号スイート (SQLNET.CIPHER_SUITE) TLS バージョン (SQLNET.SSL_VERSION) FIPS のサポート FedRAMP 準拠 サポートされている Oracle バージョン
SSL_RSA_WITH_AES_256_CBC_SHA (デフォルトは 19c および 21c) 1.0 および 1.2 はい いいえ 19c、21c
SSL_RSA_WITH_AES_256_CBC_SHA256 1.2 はい いいえ 19c、21c
SSL_RSA_WITH_AES_256_GCM_SHA384 1.2 はい いいえ 19c、21c
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (デフォルトは 26ai) 1.2 可能 はい 19c、21c、26ai
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 1.2 可能 はい 19c、21c
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 1.2 可能 はい 19c、21c、26ai
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 1.2 可能 はい 19c、21c
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 1.2 可能 はい 19c、21c
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 1.2 可能 はい 19c、21c
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 1.2 可能 はい 19c、21c、26ai
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 1.2 可能 はい 19c、21c、26ai

FIPS のサポート

RDS for Oracle では、連邦情報処理規格 (FIPS) 140-2 標準を使用できます。FIPS 140-2 は、暗号化モジュールのセキュリティ要件を規定する米国政府のスタンダード規格です。FIPS 標準は、Oracle SSL オプションの FIPS.SSLFIPS_140TRUE に設定することでオンにします。SSL に FIPS 140-2 を設定した場合、暗号化ライブラリはクライアントと RDS for Oracle DB インスタンスの間のデータを暗号化します。

クライアントは、FIPS 準拠の暗号スイートを使用する必要があります。接続を確立する際、クライアントと RDS for Oracle DB インスタンスはメッセージの送受信に使用する暗号スイートをネゴシエートします。Oracle SSL オプションの暗号スイート の表に、各 TLS バージョンについて FIPS 準拠の SSL 暗号スイートを示します。詳細については、Oracle データベースドキュメントの「Oracle データベース FIPS 140-2 設定」を参照してください。

暗号スイートと証明書の互換性

RDS for Oracle は、RSA 証明書と楕円曲線デジタル署名アルゴリズム (ECDSA) 証明書の両方をサポートしています。DB インスタンスの SSL を設定するときは、SQLNET.CIPHER_SUITE オプション設定で指定した暗号スイートが DB インスタンスで使用される証明書タイプと互換性があることを確認する必要があります。

次の表は、証明書タイプと暗号スイート間の互換性を示しています。

[証明書タイプ] 互換性のある暗号スイート 互換性のない暗号スイート
RSA 証明書 (rds-ca-2019、rds-ca-rsa2048-g1、rds-ca-rsa4096-g1)

SSL_RSA_WITH_AES_256_CBC_SHA

SSL_RSA_WITH_AES_256_CBC_SHA256

SSL_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

ECDSA 証明書 (rds-ca-ecc384-g1)

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

SSL_RSA_WITH_AES_256_CBC_SHA

SSL_RSA_WITH_AES_256_CBC_SHA256

SSL_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

SQLNET.CIPHER_SUITE オプション設定で複数の暗号スイートを指定する場合は、DB インスタンスで使用される証明書タイプと互換性のある暗号スイートを少なくとも 1 つ含めてください。証明書タイプが異なる複数の DB インスタンスでオプショングループを使用している場合は、証明書タイプごとに少なくとも 1 つの暗号スイートを含めます。

DB インスタンスの証明書タイプと互換性のない暗号スイートのみを含む SSL オプションにオプショングループを関連付けようとすると、オペレーションは失敗し、非互換性を示すエラーメッセージが表示されます。