この項では、SSL/TLSを使用して、Oracle Traffic Directorインスタンスと、Oracle WebLogic ServerおよびOracle HTTP Serverインスタンスであるオリジン・サーバー間の通信をどのように保護するかについて説明します。この章の内容は、次のとおりです。
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またはオリジン・サーバー、あるいはその両方)が、証明書の交換中にホスト名を確認するように構成できます。
Oracle Traffic Directorとオリジン・サーバー間の一方向SSL/TLSを構成するには、オリジン・サーバーの証明書をPKCS#12形式でエクスポートし、Oracle Traffic Directorの証明書データベースにインストールして、オプションで、その証明書を信頼するようにOracle Traffic Directorを構成します。
注意:
|
証明書をオリジン・サーバーに発行した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/b55569/custom_infra_security.htm#CDDFDHDH
にあるドキュメントを参照してください。
install-cert
CLIコマンドを使用して、エクスポートしたルート証明書をOracle Traffic Directorの証明書データベースにインストールします。
構文:
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のかわりに次の操作を行います。
|
必要に応じて、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ハンドシェイクが失敗します。 |
deploy-config CLIコマンドを使用して、更新された構成をOracle Traffic Directorインスタンスにデプロイします。
tadm> deploy-config config_name
注意: この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、 |
Oracle Traffic Directorとオリジン・サーバー間の双方向SSL/TLSを構成するには、次の操作を行います。
注意: この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、 |
11.3.2項「Oracle Traffic Directorとオリジン・サーバー間の一方向SSL/TLSの構成」の説明に従い、一方向SSL/TLSを構成する手順を実行します。
11.4.2項「CA署名証明書の取得」の説明に従い、CAによって発行されたOracle Traffic Directorのサーバー証明書を取得します。
11.4.3項「証明書のインストール」の説明に従い、CAによって発行された証明書をOracle Traffic Director構成にインストールします。
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コマンドをそれぞれ使用します。
deploy-config
CLIコマンドを使用して、更新された構成をOracle Traffic Directorインスタンスにデプロイします。
tadm> deploy-config config_name
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
前の手順でエクスポートしたルート証明書を、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/b55569/custom_infra_security.htm#CDDGIBEJ
にあるドキュメントを参照してください。
SSL/TLSハンドシェイク中にOracle Traffic Directorにそのクライアント証明書の提示を要求するように、オリジン・サーバーを構成します。
Oracle WebLogic Serverオリジン・サーバーの場合:
http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13952/taskhelp/security/ConfigureTwowaySSL.html
にあるOracle WebLogic Server管理コンソール・オンライン・ヘルプの双方向SSLの構成に関する項の説明に従い、手順を実行します。
注意: Oracle WebLogic Serverでは、デフォルトでホスト名の確認が有効化されています。ホスト名の確認の無効化の詳細は、 |
Oracle HTTP Serverオリジン・サーバーの場合:
httpd.conf
ファイルに次のディレクティブを追加します。
SSLVerifyClient require