Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド 11gリリース1(11.1.1) B55899-02 |
|
戻る |
次へ |
この章では、EDGの推奨に従ってノード・マネージャを構成する方法について説明します。Oracle Fusion Middleware EDGでは、ノード・マネージャと管理サーバー間の通信にホスト名検証を使用することをお薦めします。このホスト名検証には、管理サーバーと通信するそれぞれのアドレスに証明書を使用する必要があります。この章では、ホスト名検証に使用する証明書をSOAHOST1およびSOAHOST2に構成する手順を説明します。BAM EDGトポロジのBAMHOST1およびBAMHOST2にも同様の手順が必要となります。その手順ではBAMに応じたホスト名の変更が必要ですが、一連の手順や構文はSOAの場合とまったく同じです。
また、Oracle Fusion Middlewareデプロイのノード・マネージャのログは、デフォルト(ノード・マネージャが存在するMW_Homeの中)でない場所に置くこともお薦めします。詳細は、第8.2項「ノード・マネージャのログの場所の変更」を参照してください。
この章の項目は次のとおりです。
ノード・マネージャを使用すると、管理サーバーおよび各管理対象サーバーの起動と停止が可能です。
パスワードについて
このガイドで使用するパスワードはあくまでも一例にすぎません。本番環境ではセキュアなパスワードを使用してください。たとえば、大文字と小文字の両方および数字を含むパスワードを使用します。
MW_HOME/wlserver_10.3/common/nodemanagerディレクトリにあるnodemanager.properties
ファイルを編集します。LogFileに新しい場所を追加します。このファイルは、MW_HOMEディレクトリでなく、次のコマンドを使用してデプロイのadminディレクトリ内に置くことをお薦めします。
LogFile=ORACLE_BASE/admin/nodemanager.log
ノード・マネージャを再起動して、変更を有効にします。
ノード・マネージャと管理サーバー間の通信にホスト名検証証明書を設定する手順は次のとおりです。
次の手順に従って、SOAHOST1.mycompany.comに自己署名証明書を作成します。これらの証明書はネットワーク名または別名を使用して作成する必要があります。サーバーで仮想ホスト名を使用している場合、サーバーはノード間で移行できることになります。そのため、キーストアおよびトラスト・キーストアを最適に保持するには、このディレクトリをフェイルオーバー・ノードからアクセス可能な共有記憶域に配置する必要があります。自己署名証明書のかわりに信頼できるCA証明書を使用するには、『Oracle Fusion Middleware 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
注意: キーストアおよびトラスト・キーストアを保持するディレクトリは、すべてのノードからアクセスできる共有記憶域に配置して、サーバーが(手動またはサーバー移行により)フェイルオーバーしたときにフェイルオーバー・ノードから適切な証明書にアクセスできるようにする必要があります。様々な目的に使用される証明書には中央/共有ストアを使用することをお薦めします(HTTP呼出し用のSSLの設定など)。 |
ディレクトリをユーザー定義ディレクトリに変更します。
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 SOAHOST1VHN1_cert SOAHOST1VHN1_key domestic SOAHOST1VHN1.mycompany.com SOAHOST1> java utils.CertGen welcome1 ADMINVHN_cert ADMINVHN_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/SOAHOST1VHN1_cert.pem ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/SOAHOST1VHN1_key.pem SOAHOST1> java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1 appIdentity3 welcome1 ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/ADMINVHN_cert.pem ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/ADMINVHN_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
utils.CertGenツールで生成された証明書にすべて署名するには、CA証明書CertGenCA.der
を使用します。これは、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 for Node Manager listen's addres. For example on SOAHOST1, use appIdentity1 as per the above steps (appIdentity1 mapped to the SOAHOST1 listen address). Example for Node 1: KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeyStoreFileName=ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/appIdentityKeyStore.jks CustomIdentityKeyStorePassPhrase=welcome1 CustomIdentityAlias=appIdentity1 CustomIdentityPrivateKeyPassPhrase=welcome1
第8.4項「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
次のコマンドを実行して、SOAHOST1でノード・マネージャを起動します。
注意: ノード・マネージャが未構成で、まだ起動もしていない場合は、第4.6項「SOAHOST1でのノード・マネージャの起動」の説明に従ってsetNMProps.shスクリプトを実行してください。これにより、SOAまたはBAM(あるいはその両方)に必要な起動スクリプトを使用できるようになります。 |
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
キーストアおよびトラスト・キーストアを保持するディレクトリは、すべてのノードからアクセスできる共有記憶域に配置して、管理サーバーまたはSOAサーバーが(手動またはサーバー移行により)フェイルオーバーしたときに適切な証明書にアクセスできるようにする必要があります。この場合、SOAHOST2では、SOAHOST1の証明書用に作成されたcertディレクトリを使用します。複製されたストアを保持している場合は、証明書用のユーザー定義ディレクトリを作成します。
SOAHOST2> mkdir certs
ディレクトリをユーザー定義ディレクトリに変更します。
SOAHOST2> cd certs
ユーザー定義ディレクトリからutils.CertGenツールを実行して、SOAHOST2とVIPHOST1の両方に証明書を作成します。
構文:
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 SOAHOST2VHN1_cert SOAHOST2VHN1_key domestic SOAHOST2VHN1.mycompany.com
次の手順に従って、SOAHOST2.mycompany.comにアイデンティティ・キーストアを作成します。
前の項で説明されている手順では、アイデンティティ・キーストアを作成してそれを共有記憶域に配置しました。この項では、SOAHOST2用の新しい鍵をそのストアに追加します。SOAHOST2とSOAHOST2VHN1の両方の証明書と秘密鍵をアイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。
構文:
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 appIdentity3 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 appIdentity4 welcome1 ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/SOAHOST2VHN1_cert.pem ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/SOAHOST2VHN1_key.pem
次の手順に従って、カスタムのキーストアを使用するようノード・マネージャを構成します。
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>
各ノードでCustomIdentityAliasの正しい値を使用してください。たとえば、SOAHOST2では「appIdentity3」を使用します。
ノード2の例:
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/certs/appIdentityKeyStore.jks
CustomIdentityKeyStorePassPhrase=welcome1
CustomIdentityAlias=appIdentity3
CustomIdentityPrivateKeyPassPhrase=welcome1
注意: 第8.6項「SOAHOST2でのノード・マネージャの起動」の説明に従ってノード・マネージャを起動すると、nodemanager.properties ファイルにあるパスフレーズのエントリは暗号化されます。
セキュリティ上の理由から、 |
次のコマンドを実行して、SOAHOST2でノード・マネージャを起動します。
注意: ノード・マネージャが未構成で、まだ起動もしていない場合は、第4.15項「SOAHOST2でのノード・マネージャの起動」の説明に従ってsetNMProps.shスクリプトを実行してください。これにより、SOAまたはBAM(あるいはその両方)に必要な起動スクリプトを使用できるようになります。 |
SOAHOST2> cd WL_HOME/server/bin
SOAHOST2> ./startNodeManager.sh
アイデンティティ・キーストアおよびトラスト・キーストアを構成する手順は次のとおりです。
管理コンソールにログインして「ロックして編集」をクリックします。
左ペインで「環境」を開き、「サーバー」を選択します。
アイデンティティ・キーストアおよびトラスト・キーストアを構成するサーバーの名前をクリックします。
「構成」を選択して、「キーストア」を選択します。
「キーストア」フィールドで、秘密鍵/デジタル証明書の組合せおよび信頼できるCA証明書の格納および管理に使用するための「カスタムIDとカスタム信頼」方法を選択します。
「ID」セクションで、アイデンティティ・キーストアの属性を定義します。
カスタムIDキーストア: アイデンティティ・キーストアの完全修飾パスを入力します。
ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/appIdentityKeyStore.jks
カスタムIDキーストアのタイプ: このフィールドは空白のままにします(デフォルトのJKSになります)。
カスタムIDキーストアのパスフレーズ: 第8.3.2項「utils.ImportPrivateKeyユーティリティを使用したアイデンティティ・キーストアの作成」で指定したパスワードKeystore_Passwordを入力します。
この属性はオプションの場合も必須の場合もあります。どちらになるかはキーストアのタイプによって決まります。すべてのキーストアでは、キーストアへの書込みにパスフレーズが必要です。ただし、一部のキーストアでは、キーストアからの読取りにパスフレーズは不要です。WebLogic Serverはキーストアからの読取りのみを行うため、このプロパティを定義するかどうかは、キーストアの要件によって決まります。
「信頼」セクションで、トラスト・キーストアのプロパティを定義します。
カスタム信頼キーストア: トラスト・キーストアの完全修飾パスを入力します。
ORACLE_BASE/admin/domain_name/aserver/domain_name/certs/appTrustKeyStore.jks
カスタム信頼キーストアのタイプ: このフィールドは空白のままにします(デフォルトのJKSになります)。
カスタム信頼キーストアのパスフレーズ: 第8.3.3項「keytoolユーティリティを使用したトラスト・キーストアの作成」で指定したパスワードNew_Password。
この属性はオプションの場合も必須の場合もあります。どちらになるかはキーストアのタイプによって決まります。すべてのキーストアでは、キーストアへの書込みにパスフレーズが必要です。ただし、一部のキーストアでは、キーストアからの読取りにパスフレーズは不要です。WebLogic Serverはキーストアからの読取りのみを行うため、このプロパティを定義するかどうかは、キーストアの要件によって決まります。
「保存」をクリックします。
これらの変更を有効にするために、管理コンソールの「チェンジ・センター」で「変更のアクティブ化」をクリックします。
これらの手順は、管理サーバー、WLS_WSMnサーバーおよびWLS_SOAnサーバーに対して実行します。