Oracle Database Cloud Serviceデータベースへの接続を保護するには、Oracle Netのネイティブな暗号化および整合性の機能を使用できます。
ネットワーク・データを暗号化すると、データの機密が保たれ、ネットワークを通過する際に権限のないユーザーがデータを閲覧できなくなります。 さらに、整合性アルゴリズムによってデータ変更および違法な再生から保護されます。
Oracle Databaseには、Oracle Netトラフィックの機密性を保護するために、Advanced Encryption Standard (AES)、DES、3DESおよびRC4の対称型暗号システムが用意されています。 また、整合性攻撃から保護するために、鍵で順序付けられたMessage Digest 5 (MD5)アルゴリズムまたはSecure Hashアルゴリズム(SHA-1およびSHA-2)を実装しています。
デフォルトでは、Database Cloud Serviceのデータベース・デプロイメントは、Oracle Netのネイティブの暗号化および整合化が有効になるように構成されています。 さらに、Oracle Netクライアントは、適切に構成されたサーバーへの接続時ネイティブ暗号化および整合化がデフォルトで有効になるよう構成されます。 Oracle Netクライアントがネイティブ暗号化および整合化の使用を明示的に拒否するよう構成されている場合、接続の試行は失敗します。
構成を確認し、Oracle Netのネイティブの暗号化および整合性の使用を検証するには、後述のようにします。 ネイティブOracle Net暗号化および整合性の構成の詳細は、リリース12.2または12.1のOracle Databaseセキュリティ・ガイドまたはリリース11.2のDatabase Advanced Security管理者ガイドのネットワーク・データの暗号化および整合性の構成を参照してください。
Database Cloud Service環境の確認
次の手順では、ネイティブOracle Net暗号化および整合化がDatabase Cloud Service環境で有効であることを確認するために必要な基本的ステップを概説します。
コマンド・シェルで、oracle
ユーザーとして計算ノードに接続します。 Secure Shell (SSH)経由での計算ノードへの接続を参照してください。
ディレクトリをsqlnet.ora
Oracle Net構成ファイルの場所に変更します。 次に例を示します。
$ cd $ORACLE_HOME/network/admin $ ls sqlnet.ora sqlnet.ora
sqlnet.ora
ファイルを表示し、次のパラメータ設定が含まれていることを確認します。
SQLNET.ENCRYPTION_SERVER = required SQLNET.CRYPTO_CHECKSUM_SERVER = required
required
設定により、暗号化または整合性サービスが有効になり、クライアント側がセキュリティ・サービスに対して有効になっていない場合は接続できません。 これはDatabase Cloud Serviceのデータベース・デプロイメントのデフォルト設定です。
Oracle Netクライアントの構成の確認
次の手順では、Oracle Netクライアントの構成でネイティブの暗号化および整合性が有効になっているかを確認するために必要な基本ステップを概説します。
コマンド・シェルで、Oracle Netクライアントに接続します。
次のように、ディレクトリをOracle Netの構成ファイルtnsnames.ora
およびsqlnet.ora
がある場所に変更します。
$ cd $ORACLE_HOME/network/admin $ ls *.ora sqlnet.ora tnsnames.ora
sqlnet.ora
ファイルを表示し、次のパラメータ設定が含まれていないことを確認します。
SQLNET.ENCRYPTION_CLIENT = rejected SQLNET.CRYPTO_CHECKSUM_CLIENT = rejected
rejected
設定により、サーバーが要求している場合でも、暗号化および整合性サービスが明示的に無効になります。 暗号化または整合性サービスの設定がrejected
になっているクライアントがrequired
に設定されているサーバーに接続すると、ORA-12660: 暗号化または暗号チェックサム・パラメータに互換性がありません。
というエラーで接続は失敗します。
Database Cloud Service環境ではOracle Netのネイティブの暗号化および整合性がデフォルトで有効になっているため、rejected
以外のパラメータ設定をするか、設定をまったくしなければ、ネイティブの暗号化および整合性を使用することになります。
ネイティブの暗号化および整合性の使用の検証
Oracle Netのネイティブの暗号化および整合性の使用を検証するには、Oracleデータベースに接続し、各接続に関連付けられたネットワーク・サービスのバナー・エントリを調査します。 この情報は、V$SESSION_CONNECT_INFO
ビューのNETWORK_SERVICE_BANNER
列に格納されています。 次の例に、現在の接続に関連付けられたネットワーク・サービスのバナー・エントリの表示に使用するSQLコマンドを示します。
SQL> select network_service_banner
from v$session_connect_info
where sid in (select distinct sid from v$mystat);
次の出力例は、使用中のアルゴリズムなど、使用可能な暗号化サービスおよび暗号チェックサム(整合性)サービスに関するバナー情報を示しています。
NETWORK_SERVICE_BANNER ------------------------------------------------------------------------------------- TCP/IP NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production Encryption service for Linux: Version 12.1.0.2.0 - Production AES256 Encryption service adapter for Linux: Version 12.1.0.2.0 - Production Crypto-checksumming service for Linux: Version 12.1.0.2.0 - Production SHA1 Crypto-checksumming service adapter for Linux: Version 12.1.0.2.0 - Production
Oracle Netのネイティブの暗号化および整合性が使用されていなかった場合でも、バナー・エントリには使用可能なセキュリティ・サービス(Oracle Databaseソフトウェアにリンクされているサービス)のエントリが含まれています。 しかし、接続に使用されている特定のアルゴリズムを示すエントリはありません。 出力は次のようになります。
NETWORK_SERVICE_BANNER ------------------------------------------------------------------------------------- TCP/IP NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production Encryption service for Linux: Version 12.1.0.2.0 - Production Crypto-checksumming service for Linux: Version 12.1.0.2.0 - Production