Oracle® Fusion Middleware Oracle WebCenterエンタープライズ・デプロイメント・ガイド 11g リリース1(11.1.1) B55900-03 |
|
![]() 前 |
![]() 次 |
この章では、エンタープライズ・デプロイメントの推奨事項に従ってノード・マネージャを構成する方法を説明します。オラクル社では、ノード・マネージャと管理サーバー間の通信にホスト名を使用した検証を使用することを推奨しています。このホスト名検証には、管理サーバーと通信するそれぞれのアドレスに証明書を使用する必要があります。この章では、ホスト名検証に使用する証明書をSOAHOST1およびSOAHOST2に構成する手順を説明します。WCHOST1とWCHOST2についても同様の手順が必要です。WCHOST1とWCHOST2では、ホスト名を適切に変更する必要がありますが、手順と構文はまったく同じです。
この章の項目は次のとおりです。
ノード・マネージャを使用すると、管理サーバーおよび各管理対象サーバーの起動と停止が可能です。
パスワードについて
このガイドで使用するパスワードはあくまでも一例にすぎません。本番環境ではセキュアなパスワードを使用してください。たとえば、大文字と小文字の両方および数字を含むパスワードを使用します。
ノード・マネージャと管理サーバー間の通信にホスト名検証証明書を設定する手順は次のとおりです。
次の手順に従って、SOAHOST1.mycompany.comに自己署名証明書を作成します。これらの証明書はネットワーク名または別名を使用して作成する必要があります。自己署名証明書のかわりに信頼できるCA証明書を使用するには、『Oracle Fusion Middleware Securing Oracle WebLogic Server』でアイデンティティとトラストの構成に関する項を参照してください。
WL_HOME/server/bin/setWLSEnv.sh
スクリプトを実行して環境を設定します。
Bourneシェルで次のコマンドを実行します。
SOAHOST1> . setWLSEnv.sh
CLASSPATH環境変数が設定されていることを確認します。
SOAHOST1> echo $CLASSPATH
証明書用のユーザー定義ディレクトリを作成します。たとえば、ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>
ディレクトリの下にcertsというディレクトリを作成します。証明書はWLSドメイン間で共有できることに注意してください。
SOAHOST1> cd ORACLE_BASE/admin/<domain_name>/aserver/<domain_name> SOAHOST1> mkdir certs
ディレクトリをユーザー定義ディレクトリに変更します。
SOAHOST1> cd certs
ユーザー定義ディレクトリからutils.CertGen
ツールを実行して、SOAHOST1とADMINVHNの両方の証明書を作成します。
構文:
java utils.CertGen
<key_passphrase> <cert_file_name> <key_file_name>
[export | domestic] [hostname]
例:
SOAHOST1> java utils.CertGen welcome1 SOAHOST1_cert SOAHOST1_key domestic SOAHOST1.mycompany.com SOAHOST1> java utils.CertGen welcome1 VIPHOST1_cert VIPHOST1_key domestic ADMINVHN.mycompany.com
次の手順に従って、SOAHOST1.mycompany.comにアイデンティティ・キーストアを作成します。
utils.ImportPrivateKeyユーティリティを使用して、appIdentityKeyStoreという名前の新しいアイデンティティ・キーストアを作成します。
このキーストアの作成場所は、証明書と同じディレクトリ(ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs
)とします。
注意: アイデンティティ・ストアは、utils.ImportPrivateKey ユーティリティを使用して証明書および対応する鍵をインポートすることで作成されます(存在していない場合)。 |
SOAHOST1とVIPHOST1の両方の証明書と秘密鍵をアイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。
構文:
java utils.ImportPrivateKey
<keystore_file> <keystore_password> <certificate_alias_to_use> <private_key_passphrase> <certificate_file> <private_key_file>
[
<keystore_type>
]
例:
SOAHOST1> java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1 appIdentity1 welcome1 ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/SOAHOST1_cert.pem ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/SOAHOST1_key.pem SOAHOST1> java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1 appIdentity2 welcome1 ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/VIPHOST1_cert.pem ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/VIPHOST1_key.pem
次の手順に従って、SOAHOST1.mycompany.comに信頼キーストアを作成します。
新しい信頼キーストアを作成するには、標準のJavaキーストアをコピーします。これは、必要なほとんどのルートCA証明書がこのJavaキーストアに存在しているからです。標準のJava信頼キーストアを直接変更することはお薦めしません。WL_HOME/server/libディレクトリにある標準のJavaキーストアのCA証明書を、証明書のあるディレクトリにコピーします。例:
cp WL_HOME/server/lib/cacerts ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/appTrustKeyStore.jks
標準のJavaキーストアのデフォルトのパスワードはchangeit
です。デフォルトのパスワードは常に変更することをお薦めします。パスワードを変更するにはkeytoolユーティリティを使用します。構文は、次のとおりです。
keytool -storepasswd -new <NewPassword> -keystore <TrustKeyStore> -storepass <Original Password>
例:
keytool -storepasswd -new welcome1 -keystore appTrustKeyStore.jks -storepass changeit
このCA証明書(CertGenCA.der
)は、utils.CertGenツールで生成するすべての証明書の署名に使用し、WL_HOME/server/libディレクトリにあります。また、このCA証明書は、keytoolユーティリティを使用して、appTrustKeyStore
にインポートする必要があります。構文は、次のとおりです。
keytool -import -v -noprompt -trustcacerts -alias <AliasName> -file <CAFileLocation> -keystore <KeyStoreLocation> -storepass <KeyStore Password>
例:
keytool -import -v -noprompt -trustcacerts -alias clientCACert -file $WL_HOME/server/lib/CertGenCA.der -keystore appTrustKeyStore.jks -storepass welcome1
カスタム・キーストアを使用するようにノード・マネージャを構成するには、WL_HOME/common/nodemanager
ディレクトリにあるnodemanager.properties
ファイルの最後に次の行を追加します。
KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeyStoreFileName=<Identity KeyStore> CustomIdentityKeyStorePassPhrase=<Identity KeyStore Passwd> CustomIdentityAlias=<Identity Key Store Alias> CustomIdentityPrivateKeyPassPhrase=<Private Key used when creating Certificate> Make sure to use the correct value for CustomIdentityAlias on each node. For example on SOAHOST1, use appIdentity1, and on VIPHOST1, use appIdentity2. Example for Node 1: KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeyStoreFileName=ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/appIdentityKeyStore.jks CustomIdentityKeyStorePassPhrase=welcome1 CustomIdentityAlias=appIdentity1 CustomIdentityPrivateKeyPassPhrase=welcome1
第7.3項「SOAHOST1でのノード・マネージャの起動」の説明に従ってノード・マネージャを起動すると、nodemanager.properties
ファイルにあるパスフレーズのエントリは暗号化されます。セキュリティ上の理由から、nodemanager.properties
ファイルのエントリが暗号化されていない時間を可能なかぎり短くする必要があります。ファイルを編集した後、できるだけ速やかにノード・マネージャを起動し、エントリを暗号化してください。
共通記憶域または共有記憶域のインストールをMW_HOMEに指定している場合、ノード・マネージャは同じ基本構成(nodemanager.properties)を使用してそれぞれのノードから起動します。この場合、バイナリを共有するすべてのノード用の証明書をappIdentityKeyStore.jksアイデンティティ・ストアに追加する必要があります。これを行うには、新しいノードの証明書を作成し、前述のようにこの証明書をappIdentityKeyStore.jksにインポートします。このアイデンティティ・ストアで証明書が使用できるようになった時点で、各ノード・マネージャはそれぞれのアイデンティティ別名を指定して、正しい証明書を管理サーバーに送信する必要があります。これを行うには、次のように該当の環境変数を設定して各ノードでノード・マネージャを起動します。
SOAHOST1>cd WL_HOME/server/bin SOAHOST1>export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentitySOAHOST1 SOAHOSTn>cd WL_HOME/server/bin SOAHOSTn>export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentitySOAHOSTn
ノード・マネージャは、まだ実行されていない場合には起動する必要があり、実行されている場合には再起動する必要があります。
ノード・マネージャを停止するには、Unixのkillコマンドを使用します。
次のコマンドを実行して、SOAHOST1でノード・マネージャを起動します。
注意: ノード・マネージャが未構成で、まだ起動もしていない場合は、第4.6項「SOAHOST1でのノード・マネージャの起動」の説明に従ってsetNMProps.shスクリプトを実行してください。これにより、SOAに必要な起動スクリプトを使用できるようになります。 |
SOAHOST1> cd WL_HOME/server/bin SOAHOST1> ./startNodeManager.sh
ノード・マネージャと管理サーバー間のSSL通信を設定するには、次の手順を実行します。
次の手順に従って、SOAHOST2.mycompany.comに自己署名証明書を作成します。これらの証明書はネットワーク名または別名を使用して作成する必要があります。
WL_HOME/server/bin/setWLSEnv.sh
スクリプトを実行して環境を設定します。
Bourneシェルで次のコマンドを実行します。
SOAHOST2> . setWLSEnv.sh
CLASSPATH環境変数が設定されていることを確認します。
SOAHOST2> echo $CLASSPATH
証明書用のユーザー定義ディレクトリを作成します。たとえば、ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>
ディレクトリの下にcertsというディレクトリを作成します。証明書はWLSドメイン間で共有できることに注意してください。
SOAHOST2> cd ORACLE_BASE/admin/<domain_name>/aserver/<domain_name> SOAHOST2> mkdir certs
注意: 管理サーバーがフェイルオーバーするときに証明書およびキーストアも使用可能になるようにするため、キーストアおよび信頼キーストアが管理されるディレクトリは、すべてのノードが認識できる共有記憶域上にある必要があります。 |
ディレクトリをユーザー定義ディレクトリに変更します。
SOAHOST2> cd certs
ユーザー定義ディレクトリからutils.CertGenツールを実行して、SOAHOST2とADMINHOSTの両方の証明書を作成します。
構文:
java utils.CertGen
<key_passphrase> <cert_file_name> <key_file_name>
[export | domestic] [hostname]
例:
SOAHOST2> java utils.CertGen welcome1 SOAHOST2_cert SOAHOST2_key domestic SOAHOST2.mycompany.com SOAHOST2> java utils.CertGen welcome1 VIPHOST1_cert VIPHOST1_key domestic ADMINVHN.mycompany.com
次の手順に従って、SOAHOST2.mycompany.comにアイデンティティ・キーストアを作成します。
utils.ImportPrivateKeyユーティリティを使用して、appIdentityKeyStoreという名前の新しいアイデンティティ・キーストアを作成します。
このキーストアの作成場所は、証明書と同じディレクトリ(ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs
)とします。
utils.ImportPrivateKeyユーティリティを使用して証明書および対応するキーをアイデンティティ・ストアにインポートすると、アイデンティティ・キーストアが作成されます(アイデンティティ・キーストアが存在していない場合)。
SOAHOST2とVIPHOST1の両方の証明書と秘密鍵をアイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。
構文:
java utils.ImportPrivateKey
<keystore_file> <keystore_password> <certificate_alias_to_use> <private_key_passphrase> <certificate_file> <private_key_file>
[
<keystore_type>
]
例:
SOAHOST2> java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1 appIdentity1 welcome1 ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/SOAHOST2_cert.pem ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/SOAHOST2_key.pem SOAHOST2> java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1 appIdentity2 welcome1 ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/VIPHOST1_cert.pem ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/VIPHOST1_key.pem
次の手順に従って、SOAHOST2.mycompany.comに信頼キーストアを作成します。
keytool
ユーティリティを使用してappTrustKeyStoreという新しい信頼キーストアを作成します。
bash-3.00$ keytool -keystore appTrustKeyStore.jks -genkey -keyalg RSA -alias app TrustKey -dname "cn=appTrustKey,ou=FOR TESTING ONLY,o=MyOrganization,L=MyTown,ST=MyState,C=US" Enter keystore password: Re-enter new password: Enter key password for <appTrustKey> (RETURN if same as keystore password): bash-3.00$ _
注意: 新しい信頼キーストアを作成するには、標準のJavaキーストアを使用します。これは、必要なほとんどのCA証明書がこのJavaキーストアに存在しているからです。標準のJava信頼キーストアを直接変更しないでください。 |
一連の質問に答えるよう求められます。この質問に応答すると、キーストアが作成されます。
ヒント: コマンド・ラインや以降のダイアログ・ボックスで指定した各情報を記録しておいてください。これらの情報はゲートウェイ・ポリシー・ステップの定義で必要になります。 |
keytool
ユーティリティを使用して標準のJavaキーストア用のデフォルトのパスワードを変更します。次の構文を使用して、このデフォルトのパスワードを変更します。
keytool -storepasswd
-keystore
<TrustKeyStore>
keytool
ユーティリティを使用してCA証明書CertGenCA.derをappTrustKeyStoreにインポートします。この証明書は、WL_HOME/server/lib
ディレクトリにあり、utils.CertGenツールで生成するすべての証明書の署名に使用します。次の構文を使用してCertGenCA.derをインポートします。
keytool -import -v -noprompt -trustcacerts -alias
<AliasName>
-file
<CAFileLocation>
-keystore
<KeyStoreLocation>
次の手順に従って、カスタムのキーストアを使用するようノード・マネージャを構成します。
WL_HOME/common/nodemanager
ディレクトリにあるnodemanager.properties
ファイルの最後に次の行を追加します。
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=
<アイデンティティ・キーストア>
CustomIdentityKeyStorePassPhrase=
<Identity Keystore Passwd>
CustomIdentityAlias=
<アイデンティティ・キーストアの別名>
CustomIdentityPrivateKeyPassPhrase=
<証明書の作成時に使用される秘密鍵>
各ノードでCustomIdentityAlias
の正しい値を使用してください。たとえば、SOAHOST2ではappIdentity2を使用し、VIPHOST1ではappIdentity2を使用します。
ノード1の例:
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/appIdentityKeyStore.jks
CustomIdentityKeyStorePassPhrase=welcome1
CustomIdentityAlias=appIdentity1
CustomIdentityPrivateKeyPassPhrase=welcome1
注意: 第7.5項「SOAHOST2でのノード・マネージャの起動」の説明に従ってノード・マネージャを起動すると、nodemanager.properties ファイルにあるパスフレーズのエントリは暗号化されます。
セキュリティ上の理由から、 |
ノード・マネージャは、まだ実行されていない場合には起動する必要があり、実行されている場合には再起動する必要があります。
ノード・マネージャを停止するには、Unixのkillコマンドを使用します。
次のコマンドを実行して、SOAHOST2でノード・マネージャを起動します。
注意: ノード・マネージャが未構成で、まだ起動もしていない場合は、第4.15項「SOAHOST2でのノード・マネージャの起動」の説明に従ってsetNMProps.shスクリプトを実行してください。これにより、SOAに必要な起動スクリプトを使用できるようになります。 |
SOAHOST2> cd WL_HOME/server/bin SOAHOST2> ./startNodeManager.sh
WCHOST1およびWCHOST2をSOAHOST2に置き換えて、第7.4項「SOAHOST2でのノード・マネージャに対するホスト名検証証明書の有効化」および第7.5項「SOAHOST2でのノード・マネージャの起動」の各手順を繰り返し、これらのマシンのノード・マネージャに対してSSLを構成します。