 |
|
ネットワーク・データの暗号化設定 |
目的
このチュートリアルでは、簡単で効果的なネットワークの暗号化について説明します。 サーバー上で暗号化を有効にするだけで、数百または数千に上る可能性のあるOracleクライアントとOracle Databaseサーバー間のネットワーク・トラフィックを暗号化できます。
セキュアな暗号システムによって、鍵を使用して平文データから判読できない暗号文へと変換します。これにより、正しい鍵を知らない限り、暗号文から相当する平文へ戻すことが非常に困難(コンピュータ計算では不可能)になります。
所要時間
約30分
概要
このチュートリアルでは、以下のタスクを実行します。
- OracleクライアントとリモートのOracleデータベース間に接続を確立します。
- ネットワーク・トラフィックを"スニッフィング"して、クリアテキストを確認します。
- ネットワーク暗号化をOracle Databaseサーバーのみで有効にします。
- ネットワーク・トラフィックを"スニッフィング"して、暗号文を確認します。
ソフトウェアおよびハードウェア要件
ソフトウェア要件は、以下のとおりです。
- Oracle Database 11g
- Oracle Advanced Securityデータベース・オプション
前提条件
このチュートリアルを始める前に次のことを確認してください。
|
.
|
Oracle Database 11gがインストールされていること。
|
|
.
|
Oracle Advanced Securityデータベース・オプションがインストールされていること。
|
リモート・データベースへ接続するためのクライアント設定
PCクライアントからリモート・データベースに接続するよう設定するには、以下の手順を実行します。
|
.
|
PCクライアントで「スタート」→「すべてのプログラム」の順にクリックします。 「Oracle Home」を開きます。 「Configuration and Migration Tools」を開きます。 Net Managerを起動します。

|
|
.
|
「Local」を開きます。 「Service Naming」を選択し、緑色の+(プラス)記号をクリックして、新しいサービス名を作成します。

|
|
.
|
作成するネット・サービスの名前をネット・サービス名フィールドに入力します。 この例では"remote_db"という名前を使用しています。 「Next」をクリックします。

|
|
.
|
「TCP/IP (Internet Protocol)」を選択し、「Next」をクリックします。

|
|
.
|
使用するデータベース・サーバーのホスト名またはIPアドレスを入力します。 ポート番号はデフォルトの1521のままにするか、またはデータベース・リスナーに合ったポート番号を入力します。 「Next」をクリックします。

|
|
.
|
「(Oracle8i or later) Service Name」を選択し、データベースのサービス名を入力します。 「Next」をクリックします。

|
|
.
|
「Test」をクリックして接続構成をテストします。 注: デフォルトでは、接続のテストにユーザー名SCOTTとパスワードTIGERが使用されます。

|
|
.
|
「Change Login」をクリックすると、接続テストのユーザーを変更できます。

|
|
.
|
ユーザー名およびパスワードを入力します。 「OK」をクリックします。

|
|
.
|
再度、「Test」をクリックします。

|
|
.
|
接続テストに成功したら、「Close」をクリックします。

|
|
.
|
新しく作成したサービス名を選択し、情報が正しいことを確認します。

|
|
.
|
Fileメニューから「Save Network Configuration」を選択し、構成を保存します。

|
|
.
|
Fileメニューから「Exit」を選択し、Oracle Net Managerを終了します。

|
オプション: ネットワーク・トラフィックの監視
ネットワーク・トラフィックを監視するには、以下の手順を実行します。
|
.
|
PCクライアント上でSQL*Plusを起動します。 適切なパスワードを使用してHRユーザーとして接続します。 次のSQL文を実行し、HR.EMPLOYEES表から行を取得します。
SELECT last_name, salary FROM employees WHERE employee_id=100;

|
|
.
|
データベース・サーバー上でWiresharkなどのツールを使用して、ステップ1で実行したSQL文を含むネットワーク・トラフィックを表示します。 この例に示すとおり、EMPLOYEES表から取得した行の"King"という値や給与の値が確認できます。

|
サーバーでのネットワーク・データの暗号化設定
Oracle Databaseサーバーでネットワーク・データの暗号化を設定するには、以下の手順を実行します。
|
.
|
オペレーティング・システムのプロンプトでnetmgrと入力します。

|
|
.
|
Oracle Net ManagerのWelcomeページが表示されます。 「Local」を開きます。

|
|
.
|
「Profile」を選択します。 Namingメニューから「Oracle Advanced Security」を選択します。

|
|
.
|
「Encryption」タブをクリックします。

|
|
.
|
暗号化フィールドにSERVERが設定されていることを確認します。 暗号化タイプに「required」を選択します。 暗号化シード・フィールドに70未満のランダムな文字列を入力します。 Available Methodsリストから暗号化手法を選択し、「>」をクリックしてSelected Methodsリストに移動します。

|
|
.
|
「File」→「Save Network Configuration」を選択し、変更内容を保存します。

|
|
.
|
「Exit」を選択し、Oracle Net Managerを終了します。

|
オプション: ネットワーク・トラフィックの監視
ネットワーク・トラフィックを監視し、ネットワーク・データの暗号化を確認するには、以下の手順を実行します。
|
.
|
PCクライアント上でもう一度SQL*Plusを起動します。 適切なパスワードを使用してHRユーザーとして接続します。 次のSQL文を実行し、HR.EMPLOYEES表から行を取得します。
SELECT last_name, salary FROM employees WHERE employee_id=100;

|
|
.
|
再びデータベース・サーバー上でWiresharkなどのツールを使用して、ステップ1で実行したSQL文を含むネットワーク・トラフィックを表示します。 この例に示すとおり、今回はデータが暗号化されているため、EMPLOYEES表から取得した行の"King"という値や給与の値は確認できません。

|
まとめ
このチュートリアルでは、サーバー上で暗号化を有効にするだけで、Oracleクライアントがいくつあっても非常に簡単にネイティブ・ネットワークを暗号化できることを学習しました。
このチュートリアルで学習した内容は、次のとおりです。
- リモート・データベースへ接続するためのクライアント設定
- Oracle Databaseサーバーでのネットワーク・データの暗号化設定
参考資料
- 『Oracle Database Advanced Security管理者ガイド11g リリース2(11.2)』
著者
- カリキュラム開発リーダー: Donna Keesling
- 著者: Peter Wahl

|