ヘッダーをスキップ
Oracle® GoldenGate Oracle GoldenGate Monitorの管理
12c (12.1.3)
E56362-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 SSL通信の使用

この章では、Oracle GoldenGateインスタンスを監視する場合に、Oracle GoldenGate MonitorサーバーとOracle GoldenGateエージェント間のJava Management Extensions (JMX)通信にSecure Sockets Layer (SSL)を使用する方法について説明します。

この章の内容は次のとおりです。

5.1 Secure Sockets Layer (SSL)の使用

Oracle GoldenGate Monitor通信は、Oracle GoldenGate MonitorサーバーとOracle GoldenGateインスタンスのエージェント間の双方向で行われます。Oracle GoldenGate Monitorでは、SSLおよびセキュアJMX通信のいずれもサポートしますが、両方は同時にサポートしません。

5.1.1 SSL使用の考慮事項

通常は、Oracle GoldenGate Monitorサーバーおよびエージェントは、それらの間で送信されるデータを暗号化します。SSLを使用すると、次のセキュリティが追加されます。

  • Oracle GoldenGate MonitorサーバーとOracle GoldenGateエージェント間のSSL通信は、証明書の形式の資格証明で検証する必要があります。

  • SSLを使用して、ネットワーク上でOracle GoldenGate MonitorサーバーとOracle GoldenGateエージェント間で渡される情報は、送信中のデータが第三者によって変更されないように暗号化されます。

SSLを使用するかどうかを選択できますが、両方を同時に選択することはできません。Oracle GoldenGate MonitorサーバーがSSLを使用する場合は、それと通信するすべてのエージェントもSSLを使用する必要があります。Oracle GoldenGateインスタンスを監視するためにSSL通信を使用するオプションは、次に従います。

  • デフォルトはSSLを使用しない設定ですが、使用するにはSSLを有効にする必要があります。

  • サポートされているOracle GoldenGateプラットフォーム(監視がサポートされていないHP NonStopおよびIBM AS/400を除く)でOracle GoldenGateインスタンスを監視するために、SSLを使用できます。

  • SSLを使用する場合、SSLが使用するリポジトリ(キーストア)はパスワードで保護されます。このパスワードは、サポートされているすべてのプラットフォーム(IBM z/OSを除く)のOracle Walletに格納されます。z/OSの場合、すべてのパスワードは、インストール・ディレクトリのcfgサブディレクトリにあるpassword.proptertiesファイルに格納されます。

  • Oracle GoldenGate Monitorでは、双方向SSL認証をサポートしており、Oracle GoldenGate MonitorサーバーおよびOracle GoldenGateエージェントは双方向通信を使用します。Oracle GoldenGate Monitorサーバーおよびエージェントは、それぞれサーバー(リクエストを受信)として機能したり、クライアント(リクエストを送信)として機能します。

  • SSLの設定には、Java Keytoolを使用したキーストアおよび証明書の作成が含まれます。この章では、SSLの鍵および証明書の生成手順について説明しますが、前提となるのは、Java Keytoolおよびキーストアの知識があること、Java Keytoolのドキュメントを読んでいること、推奨するセキュリティの考慮事項を認識していることです。

5.1.2 用語

次の用語は、この章で使用するJava用語です。詳細な定義および関連する用語の定義は、Java Keytoolのドキュメントを参照してください。

キーストア

キーストアとは、SSL認証に使用されるデータベースです。キーストアには、秘密鍵と証明書、クライアントまたはサーバーの識別に使用される対応する公開鍵が少なくとも格納されます。ただし、他のパーティから証明書を追加して、キーストアにマージするようにトラストストアを構成できます。

証明書

証明書とは、エンティティからのデジタル署名された文です(署名を検証して信頼性をチェックできるため、参照される公開鍵が有効であることが記載されています)。

トラストストア

トラストストアには、他のエンティティの証明書の署名(発行)について信頼済のサード・パーティの認証局(CA)と(から)通信する、他のパーティからの公開鍵と証明書が格納されます。トラストストアは、キーストアにマージするように構成できるため、すべての鍵と証明書の場所が1つになります。

Keytool

Keytoolとは、鍵および証明書を生成および管理するためのJavaユーティリティです。

5.2 SSLの有効化

Oracle GoldenGate MonitorサーバーおよびOracle GoldenGate Monitorエージェントは、デフォルトでSSLが有効になっていません。SSLを使用する場合は、サーバーおよびエージェントのプロパティを有効にする必要があります。キーストアを作成し、指定した場所に各キーストアを配置する必要もあります。

5.2.1 SSLプロパティの設定

SSLを有効にするには、サーバーおよびエージェントの両方のプロパティ設定を変更する必要があります。

Oracle GoldenGate Monitorサーバーの場合:

  1. Oracle GoldenGate Monitorサーバーのインストール・ディレクトリに移動します。

  2. monitor.propertiesファイルを編集しmonitor.sslプロパティをtrueに設定します。

  3. Oracle GoldenGate Monitorサーバーを一度停止してから再び開始し、新しい設定を有効化します。

各Oracle GoldenGate Monitorエージェントの場合:

  1. Oracle GoldenGate Monitorインスタンスのインストール・ディレクトリに移動します。

  2. エージェントのConfig.propertiesファイルを編集し、jagent.sslプロパティをtrueに設定します。


注意:

Oracle GoldenGate MonitorサーバーでSSLを有効にする場合は、サーバーと通信するすべてのエージェントでもSSLを有効にする必要があります。


5.2.2 キーストアの作成

SSLでは、証明書および鍵ペアを格納するためのキーストアを作成する必要があります。これらを作成するには、Java Secure Sockets Extension (JSSE)のKeytoolを使用します。Solaris/UNIXまたはWindowsのKeytoolドキュメントにアクセスするには、「JDKツールとユーティリティ」(http://docs.oracle.com/javase/6/docs/technotes/tools)を参照してください。

キーストアの場所

Oracle GoldenGate Monitorのキーストアは、サーバーおよびエージェントのインストールの場所の次のディレクトリに格納する必要があります。

  • エージェントの証明書を含むキーストアは、Oracle GoldenGateインスタンスのインストールディレクトリのdircrtサブディレクトリに格納する必要があります。デフォルト名はjagentKeyStoreです。

  • Monitorサーバーのキーストアおよび証明書は、Oracle GoldenGate Monitorサーバーのインストール・ディレクトリのcertサブディレクトリに格納する必要があります。デフォルト名はmonitorKeyStoreです。

デフォルトでは、キーストアは、Keytoolが実行されるディレクトリに作成されます。指定した場所からKeytoolを実行するか、キーストアの作成後にキーストアを移動します。

jagent.keystore.filejagent truststore.filemonitor.keystore.fileまたはmonitor.truststore.fileプロパティを設定することで、キーストアのデフォルト名を変更できます。キーストアとトラストストアのファイルが同じ名前に設定されている場合は、そのファイルが使用され、証明書と他のエンティティからの信頼済の証明書の両方が格納されます。

キーストアのパスワード

キーストアは、Oracle GoldenGate Monitorサーバーまたはエージェントを識別する証明書を作成したときに作成されるパスワードで保護されます。このパスワードは、Oracle Wallet(IBM z/OSの場合はpassword.propertiesファイル)にも追加する必要があります。


注意:

Oracle GoldenGate Monitorパスワードは、サポートされているすべてのプラットフォーム(IBM z/OSを除く)のOracle Walletに格納されます。z/OSの場合は、Oracle GoldenGate Monitorサーバーまたはエージェントのインストール場所のcfgサブディレクトリにある、password.proptertiesファイルに格納されます。


Oracle GoldenGate Monitorサーバーの場合:

  • WebLogic Scripting ToolコマンドのupdateCred()(2.3.1項「パスワードの作成」を参照)を使用して、キーストアのパスワードを追加します。

  • 個別のトラストストアを使用している場合は、updateCred()を使用して、そのパスワードも追加します。

各Oracle GoldenGateエージェントの場合:

5.3 自己署名証明書の作成

Java Keytoolを使用して、Oracle GoldenGate MonitorサーバーおよびOracle GoldenGateエージェントの検証に必要な証明書を作成できます。Keytoolでは、これらの証明書をキーストアに格納します。

5.3.1 Monitorサーバーの自己署名証明書の確立

最初に、Oracle GoldenGate Monitorサーバーを識別する自己署名証明書を作成し、Oracle GoldenGate Monitorエージェント・トラストストアにエクスポートします。

Monitorサーバーを検証するための証明書の作成

次の手順に従い、証明書を作成します。コマンドおよびオプションの詳細は、Java用のKeytoolのドキュメントを参照してください。

  1. Oracle GoldenGate Monitorサーバーのインストール・ディレクトリに移動し、certサブディレクトリに移動します。これは、Monitorサーバー・キーストアの場所です。

  2. Monitorで使用される証明書を作成し、自身を検証して通信を暗号化します。

    例:

    keytool -genkeypair -keystore monitorkeystore -keyalg rsa -alias monalias -storepass keystorepw -keypass serverpw
    

    オプション-keystoreは、キーストア・リポジトリの名前を識別します。monitorkeystoreデフォルト名を使用しない場合は、選択した名前でmonitor.propertiesファイルを更新する必要があります。

    -keyalgは、暗号化アルゴリズムを指定します(rsaにする必要があります)。

    -aliasは、作成される新しいキーストア・エントリの識別子を指定します(この例ではmonalias)。

    -storepassは、キーストアを保護するパスワードを指定します。-keypassは、Monitorサーバーを識別する生成済の鍵ペアの秘密鍵を保護するパスワードを指定します。これらにパスワードを指定しないと、入力するように求められます。


    注意:

    選択したキーストアのパスワードを記録し、Oracle GoldenGate Monitorサーバーまたはエージェントに追加できるようにします(5.2.2項「キーストアの作成」を参照)。


    次の質問に答えるように求められます。

    What is your first and last name?
    What is the name of your organizational unit?
    What is the name of your organization?
    What is the name of your City or Locality?
    What is the name of your State or Province?
    What is the two-letter country code for this unit?
    

    答えを入力すると、答えが表示され、それらが正しいかの確認が求められます。この情報は、証明書の一部になります。

  3. (オプション)次のコマンドを使用して、作成されたエントリをリストし、証明書の作成を検証します。

    keytool -list -alias monalias -keystore monitorkeystore
    
  4. Oracle GoldenGate Monitorサーバー証明書をmonitorkeystoreキーストアからファイルにエクスポートします。例:

    keytool -exportcert -alias monalias -file moncert.crt -keystore monitorkeystore storepass keystorepw
    

    オプション-fileは、エクスポート後にmonalias証明書を保持するファイルを指定します。-keystoreは、エクスポートされるaliasを格納するリポジトリを指定します。

    オプションで、-certreqオプションを付けて証明書署名リクエスト(CSR)を生成し、サード・パーティのCAに送信して署名できます。

  5. (オプション)証明書情報を出力します。例:

    keytool -printcert -file moncert.crt
    
  6. Keytool exportcertコマンド(この例ではmoncert.crt)で作成したOracle GoldenGate Monitorサーバー証明書ファイルを、Oracle GoldenGateエージェントのinstallation location/dircrtディレクトリにコピーします。

エージェント・キーストアへのサーバー証明書のインポート

次の手順を実行し、Oracle GoldenGate Monitorサーバー証明書をエージェント・トラストストアにインポートします。

  1. Oracle GoldenGateエージェント・キーストアの場所(installation location/dircrt)に移動します。

  2. 証明書をOracle GoldenGateエージェント・キーストアにインポートします。例:

    keytool -importcert -alias agentalias -file moncert.crt -keystore jagentkeystore storepass agentkeystorepw
    

    これは、moncert.crtファイルから証明書を読み取り、jagentkeystoreに格納します。

    オプションで、-trustcertsオプションを使用して、信頼チェーンの追加の証明書をCA証明書のシステム全体のキーストアからインポートできます。たとえば、次のコマンドは、Keytoolをトリガーして、moncert.crtから自己署名証明書までの信頼パスの確立を試みます。

    keytool -importcert -trustcacerts -alias agentalias -file moncert.crt -keystore jagentkeystore -storepass agentkeystorepw
    
  3. (オプション)キーストアに作成された証明書をリストし、インポートを検証します。例:

    keytool -list -keystore jagentkeystore storepass agentkeystorepw
    

5.3.2 エージェントの自己署名証明書の確立

自己署名証明書を作成してOracle GoldenGate Monitorエージェントを検証し、証明書をOracle GoldenGate Monitorサーバーにインポートする必要があります。

5.3.2.1 エージェントを検証するための証明書の作成

次の手順に従い、エージェントの証明書を作成します。コマンドおよびオプションの詳細は、Keytoolのドキュメントを参照してください。

  1. Oracle GoldenGateエージェント・キーストアの場所(installation location/dircrt)に移動します。

  2. 次のように、Keytoolコマンドを使用してエージェント証明書を生成します。

    keytool -genkeypair -alias agentalias -keystore jagentkeystore 
    

    この例では、同じキーストアjagentkeystoreを使用しており、これはOracle GoldenGate Monitorサーバーからの信頼済証明書に使用しています。

    キーストアのパスワードは入力していないため、入力するようにKeytoolから求められます。

  3. (オプション)キーストアの証明書をリストし、作成を検証します。例:

    keytool -list -keystore jagentkeystore -storepass agentkeystorepw
    
  4. エージェントを検証する証明書をファイルにエクスポートします。例:

    keytool -exportcert -alias agentalias -file agentclient.crt -keystore jagentkeystore -storepass agentkeystorepw
    
  5. (オプション)証明書情報を出力します。

    keytool -printcert -file agentclient.crt 
    
  6. 証明書ファイル(この例ではagentclient.crt)をOracle GoldenGate Monitorサーバーのinstallation location/certディレクトリにコピーします。

5.3.2.2 Monitorサーバーへのエージェント証明書のインポート

次の手順に従い、証明書をOracle GoldenGate Monitorサーバー・トラストストアにインポートします。

  1. Oracle GoldenGate Monitorサーバー・キーストアの場所(installation location/dircrt)に移動します。

  2. エージェント証明書をOracle GoldenGate Monitorサーバー・キーストアにインポートします。例:

    keytool -importcert -alias agentalias -file agentclient.crt -keystore monitorkeystore -storepass keystorepw
    
  3. (オプション)証明書情報をリストし、インポートを検証します。

    keytool -list -keystore monitorkeystore -storepass keystorepw 
    

5.4 認証局(CA)ドキュメントの使用

Java Keytoolを使用して、信頼できるサード・パーティによって証明書を署名するようにリクエストできます。認証局(CA)が証明書を署名すると、キーストアまたはトラストストアにインポートして、識別と検証を実行できます。

5.4.1 証明書署名リクエストの生成

次の手順に従い、証明書署名リクエスト(CSR)を生成します。この例では、Oracle GoldenGate Monitorサーバー側またはエージェント側のいずれかに例を制限するのを回避するために、異なる名前をキーストアに使用しています。

  1. 次のように、Keytoolコマンドを使用してCSRを生成します。

    keytool -certreq -v -alias certalias -file cert.csr -keypass keypassword -storepass keystorepw -keystore keystore.jks 
    

    このコマンドでは、-fileオプションで指定した、cert.csrという名前のファイルを作成します。-vオプションでは、冗長モードを署名し、詳細情報を出力します。

  2. CSR cert.csrを、証明書を署名するサード・パーティに送信します。

5.4.2 証明書のインポート

サード・パーティのCAから署名済証明書が戻されたら、署名済証明書および署名したCAの証明書をキーストアにインポートします。

  1. CA証明書および署名済証明書をPEM形式に変換し、キーストアのディレクトリに格納します。チェーン内の証明書を含む、各証明書を個別に格納する必要があります。

  2. 次のコマンドを使用して、チェーン内の最上位(ルート)証明書(CAの自己署名証明書にする必要があります)をインポートします。

    keytool -importcert -v -noprompt -trustcacerts -alias rootCA -file rootCA.pem -keystore keystore.jks -storepass keystorepw
    

    この例では、rootCAは、証明書の別名で、rootCA.pemは、チェーン内の最上位の証明書を格納するファイルです。

    インポートが成功すると、KeytoolによってメッセージCertificate was added to keystoreが表示されます。


    注意:

    一部のサード・パーティ認証局では、チェーン内にルート証明書と中間CA証明書の2つのCA証明書が存在する場合があります。この場合は、ルート証明書の直後に中間証明書をインポートするようにしてください。


  3. チェーン内の証明書(.pemファイル)ごとに、インポートを繰り返します。それぞれ異なるaliasを作成します。

  4. すべての証明書が正常にインポートされたら、次のコマンドを使用して、署名済応答証明書をインポートします。

    -keytool -importcert -v-alias certalias -file cert.pem -keystore keystore.jks -keypass keypass -storepass keystorepw
    

    証明書およびCSRの生成時に使用したのと同じaliasを使用します。

    インポートが成功すると、KeytoolによってメッセージCertificate reply was installed in the keystoreが表示されます。

  5. インポートされたすべてのCA証明書をリストします。

    keytool -list -keystore keystore.jks -storepass keystorepw
    
  6. 次のコマンドを使用して、公開証明書をエクスポートします(ファイルcert.cerが作成されます)。

    keytool -exportcert -alias certalias -file cert.cer -keystore keystore.jks -storepass keystorepw
    

    証明書ごとに、エクスポートを繰り返します。

  7. 証明書およびそのCA証明をキーストアにインポートするには、最初にすべての証明書を.pem形式で個別のファイルに格納します。次に、最上位(ルート)証明書から開始し、それぞれに異なる別名を指定してすべての証明書をインポートします。ルート証明書をインポートする例:

    keytool -importcert -v -noprompt -trustcacerts -alias IDrootCA -file IDrootCA.pem -keystore keystore.jks -storepass storepasspw
    

    証明書ごとに、インポートを繰り返します。