web-dev-qa-db-ja.com

Oracleデータベース接続の暗号化タイプを確認する方法

Oracleデータベース接続の暗号化タイプを確認する方法(Oracleデータベースと他のクライアントアプリケーションの間)OracleデータベースとToadの間でデータベース接続が暗号化されていることを確認するには(私のToadのバージョンは9.5で、Oracleデータベースのバージョンは11gです)

5
Sampath T

Oracle Advanced Securityをデータベースへの暗号化されたSSLクライアント接続と混同しないでください。 Advanced Securityオプションは、Data RadactionとTransparent Data Encryptionの2つの主要機能で構成されています。 TDEはテーブル内のデータの暗号化であるため、誰かがデータファイルをキャプチャした場合、ファイル内のクリアな状態でテーブルデータを読み取ることはできません。

クライアントとデータベース間の暗号化されたSSL接続はOracle Net Servicesの一部にすぎず、すべてのバージョンに含まれています。 Oracleのドキュメントでは、その設定方法について説明しています。

質問に答えるには、次のクエリを実行します。

SELECT sys_context('USERENV', 'NETWORK_PROTOCOL') as network_protocol FROM dual;

SSL経由で接続している場合は、応答が返されます

NETWORK_PROTOCOL
----------------
tcps

「tcp」が表示された場合は、非SSL接続を使用しています。

7
Jame

接続を暗号化するために「何か」を実行していない限り、それは平文です。

また、Oracleソリューションを使用してこの通信を暗号化する場合は、Enterprise Editionを使用していて、Advanced Securityアドオンを購入する必要があります。

これを行う自由な方法である場合は、Stunnel https://www.stunnel.org/index.html を使用してください

驚くべきことに、StunnelとAdvanced Securityには多くの類似点があります。私は両方をインストールしましたが、Stunnelが好きです。

Stunnelは、特にストアドプロシージャからhttps接続を行う場合に最適です。 Oracleは、クライアントの証明書をウォレットにインストールするなど、あらゆる種類のフープを要求します(これはもう(最終的には)なくなっていると思いますが、他の厄介なアイデアに置き換えられています。一方、Stunnelは、セットアップファイルに3行のコードが必要なだけです。

とにかく、Advanced Security Optionを使用する必要がない限り、Stunnelを調べてください。

ASOを実行しているかどうかを確認するには、sqlnet.oraファイルで奇妙なエントリを探します。

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (MD5) 
SQLNET.ENCRYPTION_TYPES_CLIENT = (RC4_256) 
SQLNET.ENCRYPTION_CLIENT = required 
SQLNET.CRYPTO_CHECKSUM_CLIENT = required 

クライアントとサーバーの両方のsqlnet.oraファイルを調べます。

5
Brian McGinity