プライマリ・コンテンツに移動
Oracle® Traffic Director管理者ガイド
11g リリース1 (11.1.1.9)
B66436-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

11.3 Oracle Traffic Directorとオリジン・サーバー間のSSL/TLSの構成

この項では、SSL/TLSを使用して、Oracle Traffic Directorインスタンスと、Oracle WebLogic ServerおよびOracle HTTP Serverインスタンスであるオリジン・サーバー間の通信をどのように保護するかについて説明します。この章の内容は、次のとおりです。

11.3.1 一方向および双方向のSSL/TLSについて

Oracle Traffic Directorと、バック・エンドのオリジン・サーバー間の接続は、一方向または双方向のSSL/TLSを使用して保護できます。

  • 一方向SSL/TLS: SSL/TLSが有効化されたオリジン・サーバーでは、証明書がOracle Traffic Directorインスタンスに提示されます。SSL/TLSハンドシェイク中、Oracle Traffic Directorインスタンスは証明書をオリジン・サーバーに提示するように構成されていません。

  • 双方向SSL/TLS: SSL/TLSが有効化されたオリジン・サーバーでは、証明書がOracle Traffic Directorインスタンスに提示されます。Oracle Traffic Directorインスタンスも自身の証明書をオリジン・サーバーに提示します。オリジン・サーバーは、SSL/TLS接続を確立する前に、Oracle Traffic Directorインスタンスのアイデンティティを確認します。さらに、SSL/TLS接続の両端(Oracle Traffic Directorまたはオリジン・サーバー、あるいはその両方)が、証明書の交換中にホスト名を確認するように構成できます。

11.3.2 Oracle Traffic Directorとオリジン・サーバー間の一方向SSL/TLSの構成

Oracle Traffic Directorとオリジン・サーバー間の一方向SSL/TLSを構成するには、オリジン・サーバーの証明書をPKCS#12形式でエクスポートし、Oracle Traffic Directorの証明書データベースにインストールして、オプションで、その証明書を信頼するようにOracle Traffic Directorを構成します。


注意:

  • この項で説明する手順は、オリジン・サーバー・プール内のすべてのサーバーが、同じCAが発行した証明書を使用しているというシナリオに沿っています。このようなシナリオでは、オリジン・サーバーの証明書に署名したCAのルート証明書を、Oracle Traffic Directorの証明書データベースにインポートするだけで、一方向のSSL/TLSを構成できます。

  • オリジン・サーバーが自己署名証明書、または異なるCAが発行した証明書を使用している場合、各サーバーの証明書、またはサーバー証明書に署名したCAの各ルート証明書を個別にエクスポートおよびインポートする必要があります。

  • Weblogic Server管理コンソールからアクセス可能なWebLogic Serverプラグインの有効化属性がtrueに設定されていて、SSL接続がOracle Traffic Directorで終端する場合、Oracle Traffic Directorは、WebLogic Serverにデプロイされているアプリケーションに証明書情報を通知します。アプリケーションは、鍵サイズや暗号など証明書内の特定の情報を検証してから、クライアントにアプリケーションへのアクセスを許可します。


  1. 証明書をオリジン・サーバーに発行したCAのルート証明書を、PKCS#12形式でエクスポートします。

    • Oracle WebLogic Serverオリジン・サーバーの場合:

      Java SE 6で使用可能なkeytoolコマンドを使用します。

      構文:

      > $JAVA_HOME/bin/keytool -exportcert -alias alias -file file -keystore keystore -storepass storepass -rfc
      

      aliasはエクスポートされる証明書のニックネーム、fileはエクスポートされる証明書の名前、keystoreはカスタムのOracle WebLogic Serverアイデンティティ・ストア・ファイルの名前、storepassは指定したキーストアのパスワードです。

      :

      > $JAVA_HOME/bin/keytool -exportcert -alias wlsos1 -file wls_os_cert
       -keystore $DOMAIN_HOME/soa_domain/soa_keystore.jks -storepass stpass -rfc
      

      keytoolの詳細は、次の場所にあるドキュメントを参照してください。

      http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

    • Oracle HTTP Serverオリジン・サーバーの場合:

      exportWalletObject WebLogic Scripting Tool (WLST)コマンドを使用します。

      構文:

      exportWalletObject(instName, compName, compType, walletName, password, type, path, DN)
      

      :

      > exportWalletObject('inst1', 'ohs1', 'ohs','wallet1', 'password', 'Certificate', '/tmp','cn=soa.example.com')
      

      このコマンドでは、Oracle HTTP Serverインスタンスohs1について、DN cn=soa.example.comの証明書がウォレットwallet1からエクスポートされます。信頼できる証明書は、ディレクトリ/tmpにエクスポートされます。

      exportWalletObjectコマンドの詳細は、http://docs.oracle.com/cd/E21764_01/web.1111/e13813/custom_infra_security.htm#CDDFDHDHにあるドキュメントを参照してください。

  2. install-cert CLIコマンドを使用して、エクスポートしたルート証明書をOracle Traffic Directorの証明書データベースにインストールします。


    注意:

    管理コンソールを使用した証明書のインストールの詳細は、11.4.3項「管理コンソールを使用した自己署名またはCA署名の証明書のインストール」を参照してください。

    構文:

    tadm> install-cert --config=config_name --token=name --cert-type=ca --nickname=nickname cert_file
    

    :

    tadm> install-cert --config=soa --token=internal --cert-type=ca --nickname=Server-Cert os_cert
    

    注意:

    オリジン・サーバーが自己署名証明書または異なるCAによって発行された証明書を使用している場合、手順1および2のかわりに次の操作を行います。
    1. 手順1で使用した同じコマンドを使用して、各サーバー証明書、またはサーバー証明書に署名したCAの各ルート証明書をエクスポートします。

    2. 手順2の説明に従い、install-cert CLIコマンドを使用して(ただし、--cert-type=serverを指定)、前の手順でエクスポートした各証明書をOracle Traffic Directorの証明書データベースにインストールします。

    3. 11.4.7項「証明書を信頼するためのOracle Traffic Directorの構成」の説明に従い、オリジン・サーバーの各証明書を信頼するようにOracle Traffic Directorを構成します。


  3. 必要に応じて、set-route-prop CLIコマンドを使用して、オリジン・サーバーの証明書のホスト名を確認するようにOracle Traffic Directorを構成します。

    構文:

    tadm> set-route-prop --config=config_name  --vs=vs_name --route=route_name validate-server-cert=true
    

    :

    tadm> set-route-prop --config=soa  --vs=vs1 --route=route1 validate-server-cert=true
    

    構成内の仮想サーバーのリスト、および仮想サーバーに定義されたルートを表示するには、list-virtual-serversおよびlist-routes CLIコマンドをそれぞれ使用します。


    注意:

    SSL/TLSハンドシェイク中に、オリジン・サーバーの証明書のホスト名を検証するようにOracle Traffic Directorを構成することを選択した場合、次の操作を行う必要があります。

    そうでない場合、オリジン・サーバーがその証明書を提示した際、Oracle Traffic Directorは証明書のホスト名を検証できず、このためSSL/TLSハンドシェイクが失敗します。


  4. deploy-config CLIコマンドを使用して、更新された構成をOracle Traffic Directorインスタンスにデプロイします。

    tadm> deploy-config config_name
    

注意:

この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--helpオプションを付けてコマンドを実行してください。

11.3.3 Oracle Traffic Directorとオリジン・サーバー間の双方向SSL/TLSの構成

Oracle Traffic Directorとオリジン・サーバー間の双方向SSL/TLSを構成するには、次の操作を行います。


注意:

この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--helpオプションを付けてコマンドを実行してください。

  1. 11.3.2項「Oracle Traffic Directorとオリジン・サーバー間の一方向SSL/TLSの構成」の説明に従い、一方向SSL/TLSを構成する手順を実行します。

  2. 11.4.2項「CA署名証明書の取得」の説明に従い、CAによって発行されたOracle Traffic Directorのサーバー証明書を取得します。

  3. 11.4.3項「証明書のインストール」の説明に従い、CAによって発行された証明書をOracle Traffic Director構成にインストールします。

  4. enable-route-auth CLIコマンドを使用して、Oracle Traffic Directorがオリジン・サーバーに提示する必要がある証明書を指定し、必要なOracle Traffic Directorルートを構成します。

    構文:

    tadm> enable-route-auth --config=config_name --vs=vs_name --route=route_name --client-cert-nickname=cert_nickname
    

    :

    tadm> enable-route-auth --config=soa --vs=vs1 --route=route1 --client-cert-nickname=soa_cert
    

    構成内の仮想サーバーのリスト、および仮想サーバーに定義されたルートを表示するには、list-virtual-serversおよびlist-routes CLIコマンドをそれぞれ使用します。

  5. deploy-config CLIコマンドを使用して、更新された構成をOracle Traffic Directorインスタンスにデプロイします。

    tadm> deploy-config config_name
    
  6. Oracle Traffic Directorインスタンスの証明書に署名したCAのルート証明書を、Oracle Traffic Director証明書データベースから.pem形式にエクスポートします。

    構文:

    > $ORACLE_HOME/bin/certutil -L -d certdir -n nickname -a -o output_cert_file
    

    certdirは、ルート証明書のエクスポート元であるOracle Traffic Directorインスタンスのconfigディレクトリのフル・パス、nicknameは、エクスポートする証明書のニックネーム、output_cert_fileは、証明書のエクスポート先である.pemファイルの名前です。

    :

    > $ORACLE_HOME/bin/certutil -L -d ../net-test/config/ -n rootca -a -o /tmp/rootca1.pem
    

    certutilコマンドの詳細は、次のコマンドを実行してください。

    > $ORACLE_HOME/bin/certutil -H
    
  7. 前の手順でエクスポートしたルート証明書を、Oracle WebLogic Serverオリジン・サーバー(およびOracle HTTP Serverオリジン・サーバーのOracleウォレット)の信頼キーストアにインポートします。

    • Oracle WebLogic Serverオリジン・サーバーの場合:

      Java SE 6で使用可能なkeytoolコマンドを使用します。

      構文:

      > $JAVA_HOME/bin/keytool -importcert -v -trustcacerts -alias alias
       -file cert_file -keystore keystore_file -storepass keystore_password
       -noprompt
      

      aliasは前の手順でエクスポートされたCA発行のルートCAのニックネーム、fileはエクスポートされた.pem証明書ファイルの名前、keystoreはカスタムのOracle WebLogic Serverアイデンティティ・ストア・ファイルの名前、storepassは指定したキーストアのパスワードです。

      :

      > $JAVA_HOME/bin/keytool -importcert -v -trustcacerts -alias rootca1
       -file /tmp/rootca1.pem -keystore $DOMAIN_HOME/soa_domain/soa_keystore.jks
       -storepass stpass -noprompt
      

      keytoolの詳細は、次の場所にあるドキュメントを参照してください。

      http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

    • Oracle HTTP Serverオリジン・サーバーの場合:

      importWalletObject WLSTコマンドを使用します。

      構文:

      importWalletObject(instName, compName, compType, walletName, password, type, filePath)
      

      :

      > importWalletObject('inst1', 'ohs1', 'ohs','wallet1', 'password', 'TrustedCertificate','/tmp/rootca1.pem')
      

      importWalletObjectコマンドの詳細は、http://docs.oracle.com/cd/E21764_01/web.1111/e13813/custom_infra_security.htm#CDDGIBEJにあるドキュメントを参照してください。

  8. SSL/TLSハンドシェイク中にOracle Traffic Directorにそのクライアント証明書の提示を要求するように、オリジン・サーバーを構成します。