Oracle® Fusion Middleware Oracle Identity Managementエンタープライズ・デプロイメント・ガイド 11g リリース2 (11.1.2.3.0) E61956-03 |
|
前 |
次 |
この章では、Oracleのベスト・プラクティスの推奨事項に従ってノード・マネージャを構成する方法を説明します。
この章の構成は、次のとおりです。
Java 7によって設定されるセキュリティでは、デモ用証明書をより高いレベルの暗号化で再作成する必要があります。
注意: この手順では、WebLogic Serverパッチ13964737を適用済であることを前提としています。詳細は、次を参照してください。
|
WebLogic Smart Updateを使用してパッチをインストールすると、WebLogicデモ用証明書を次のように作成する必要があります。
一時作業ディレクトリを作成します。次に例を示します。
mkdir /u01/lcm/tmp
JAVA_HOME
をJAVA_HOME
に設定します。
JAVA_HOME/bin
をシステム・パスに追加します。次に例を示します。
export PATH=$JAVA_HOME/bin:$PATH
スクリプトsetWLSEnv.sh
を実行してWebLogic環境を設定します。次に例を示します。
MW_HOME
/wlserver10.3/server/bin/setWLSEnv.sh
ディレクトリを一時ディレクトリに変更します。次に例を示します。
cd /u01/lcm/tmp
次のコマンドを使用して証明書を再生成します。
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey -strength 2048
java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey.der -keyfilepass DemoIdentityPassPhrase -certfile democert.der -alias demoidentity
ドメイン内のノード・マネージャ、管理対象サーバーおよび管理サーバーをすべて停止します。
既存の証明書をバックアップします。次に例を示します。
cp
$MW_HOME
/wlserver10.3/server/lib/DemoIdentity.jks
$MW_HOME
/wlserver_10.3/server/lib/DemoIdentity.orig
証明書をディレクトリMW_HOME
/wlserver10.3/server/lib
に移動します。次に例を示します。
mv DemoIdentity.jks
$MW_HOME
/wlserver_10.3/server/lib
一時作業ディレクトリを削除します。
WebLogicデモ用証明書の作成後、JSEE SSLを強制的に使用するようにシェル・スクリプトを更新する必要があります。新しいより安全なJSEE証明書メソッドを使用しているため、様々なシステム・シェル・スクリプトに次のJava引数を追加する必要があります。
ASERVER_HOME
/bin/startWeblogic.sh
ファイルを編集して、JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"
で始まる行に-Dweblogic.ssl.JSSEEnabled=true
を追加します。次に例を示します。
JAVA_OPTIONS="${SAVE_JAVA_OPTIONS} -Dweblogic.ssl.JSSEEnabled=true"
ファイルを保存します。
MW_HOME
/wlserver_10.3/common/bin/wlst.sh
ファイルを編集して、JVM_ARGS=
で始まる行に-Dweblogic.security.SSL.enableJSSE=true -Dweblogic.ssl.JSSEEnabled=true
を追加します。次に例を示します。
JVM_ARGS="-Dprod.props.file='${WL_HOME}'/.product.properties ${WLST_PROPERTIES} ${JVM_D64} ${MEM_ARGS} ${CONFIG_JVM_ARGS} -Dweblogic.security.SSL.enableJSSE=true -Dweblogic.ssl.JSSEEnabled=true"
ファイルを保存します。
ノード・マネージャを使用すると、管理サーバーおよび各管理対象サーバーの起動と停止が可能です。
この章で説明される手順は、第2.3項「プライマリOracle Identity and Access Managementトポロジ・ダイアグラムの理解」で概略を説明したエンタープライズ・デプロイメントの各種コンポーネントで実行される必要があります。この章では、コンポーネント固有のアイテム間で識別するために変数を使用しています。
WLS_SERVER
: エンタープライズ・デプロイメント・コンポーネントのWebLogic管理対象サーバー(例: WLS_OIM1)を示します。
HOST
: エンタープライズ・デプロイメント・コンポーネントのホスト・マシン(例: OIMHOST1)を示します。
VIP
: エンタープライズ・デプロイメント・コンポーネントの仮想IP(例: OIMHOST1VHN1)を示します。
これらの変数に使用する値は、このガイドのコンポーネント関連の章に記載されています。この章に記載されている手順は、コンポーネント関連の章に記載されている情報を使用して、VIPとIPのペアごとに複数回にわたり実行する必要があります。
推奨事項
エンタープライズ・デプロイメント・トポロジのノード・マネージャの構成に関して、次の2つの推奨事項があります。
ノード・マネージャの構成ファイルとログ・ファイルは、デフォルト(ノード・マネージャが存在するMiddlewareホーム内)以外の場所に格納することをお薦めします。第16.4項「ノード・マネージャのログの場所の変更」を参照してください。
また、ノード・マネージャとドメイン内のサーバー間の通信についてホスト名検証を使用することもお薦めします。それには、ドメイン内で使用される複数のアドレスの証明書を使用する必要があります。この章では、ホスト名検証のために各ホストで証明書を構成する手順について説明します。詳細は、第16.5項「ノード・マネージャのホスト名検証証明書の有効化」を参照してください。
注意: このマニュアルで使用するパスワードは、あくまでも例にすぎません。本番環境ではセキュアなパスワードを使用してください。たとえば、大文字と小文字の両方および数字をランダムな順序で並べたパスワードを使用します。 |
次を実行して、ノード・マネージャを別のディレクトリに移動します。
ノード・マネージャ・プロセスを強制終了してノード・マネージャを停止します。
構成ファイルを共有記憶域に移動します。必須ではありませんが、Middlewareホームから構成ファイルを削除することをお薦めします。
次のコマンドを使用して、nodemanger
用のディレクトリを作成します。
mkdir -p SHARED_CONFIG_DIR/nodemanager/hostname.domain
ディレクトリMW_HOME
/wlserver_10.3/common/nodemanager
のすべてのファイルをディレクトリSHARED_CONFIG_DIR
/nodemanager/
hostname.domain
にコピーします。
ファイルSHARED_CONFIG_DIR
/nodemanager/
hostname.domain
/nodemanager.properties
を編集して、エントリDomainsFile
、NodeManagerHome
およびLogFile
のディレクトリ・パスを、ディレクトリSHARED_CONFIG_DIR
/nodemanager/
hostname.domain
を参照するように更新します。
このホストに管理サーバーが含まれている場合は、さらに、nodemanager.properties
に次のプロパティを設定します。
DomainRegistrationEnabled=true
次の内容でstartNodeManagerWrapper.sh
というファイルを作成します。
#!/bin/sh # # This is a wrapper script that simply invokes "startNodeManager.sh" # script after setting the appropriate JAVA_OPTIONS environment # variable. # # Note: This script is provided as a convenience since we now have # host specific node manager home directories and we need to specify # the -DNodeManagerHome property prior to invoking "startNodeManager.sh" # script to start an instance of node manager process manually. # # $Header: faprov/modules/provisioning/framework/src/java/oracle/apps/fnd/provisioning/ant/taskdefs/util/startnodemanagerwrapper.template /main/3 2012/04/23 21:37:51 jjiembac Exp $ # WLS_HOME=IAD_MW_HOME/wlserver_10.3 NM_HOME=SHARED_CONFIG_DIR/nodemanager/hostname.domain # set an environment variable to allow node manager # to read it's host specific configuration JAVA_OPTIONS="-DNodeManagerHome=$NM_HOME -Dweblogic.security.SSL.enableJSSE=true $JAVA_OPTIONS" export JAVA_OPTIONS exec $WLS_HOME/server/bin/startNodeManager.sh
ファイルを保存して、そのファイルに実行権限を付与します。
chmod 755 startNodeManagerWrapper.sh
この手順をOAMHOST1、OAMHOST2、OIMHOST1、OIMHOST2の各ホストについて繰り返します。
コマンドstartNodeManagerWrapper.sh
を使用して、ノード・マネージャを再起動します。
まだ実行していない場合は、ノード・マネージャのログの場所を更新します。SHARED_CONFIG_DIR
/nodemanager/
hostname.domain
/nodemanager.properties
にある、ノード・マネージャのプロパティ・ファイルを編集します。ログ・ファイルの新しい場所を指定する次の行を追加します。
LogFile=
SHARED_CONFIG_DIR
/nodemanager/
hostname.domain
/nodemanager.log
Oracleのベスト・プラクティスは、すべてのOracle製品のインストール先であるOracleベース・ディレクトリの内部で、MW_HOME
ディレクトリの外部である場所を使用することです。
ノード・マネージャを再起動して、変更を有効にします。
この項では、ノード・マネージャと管理サーバーとの通信で使用するホスト名検証証明書を設定する方法について説明します。これには次の手順が含まれます。
この章で(例として)追加する証明書は、ノード・マネージャが物理ホスト名(HOST.example.com)でリスニングし、WebLogic管理対象サーバーが仮想ホスト名(VIP.example.com)でリスニングする構成に対応しますサーバーが仮想ホスト名を使用している場合は、サーバーを1つのノードから別のノードに移行できることを意味します。したがって、キーストアおよびトラスト・キーストアを保持するディレクトリは、理想としては、フェイルオーバーが発生してもアクセス可能な共有記憶域に配置する必要があります。同じノードまたは別のノードで別のホスト名を使用する場合は、この例の手順を次のように拡張する必要があります。
証明書ストアに必要なホスト名を追加します(必要なホスト名がHOST.example.comおよびVIP.example.comと異なる場合)。
アイデンティティ・ストアおよびトラスト・ストアの場所に関する情報を、ノード・マネージャ(ノード・マネージャで別のホスト名を使用する場合)またはサーバー(管理対象サーバーで別のホスト名を使用する場合)で変更します。
次の手順に従って、HOSTに自己署名証明書を作成します。これらの証明書はネットワーク名または別名を使用して作成する必要があります。次の例では、HOST.example.comとVIP.example.comの証明書を構成します。つまり、HOSTで物理ホスト名(HOST)と仮想ホスト名(VIP)の両方を使用することを想定しています。また、HOST.example.comはノード・マネージャが使用するアドレスであり、VIP.example.comは管理対象サーバーまたは管理サーバーが使用するアドレスであることも想定しています。これは、管理サーバーとFusion Middlewareコンポーネントをホストするノードや、共存する2つの管理対象サーバーの一方が物理ホスト名をリスニングし、もう一方が仮想ホスト名を使用(移行サーバーを使用するサーバーの場合)するノードで、よく見られる状況です。各管理対象サーバー・ホスト名、および各管理対象サーバー仮想名(ある場合)について、次の手順を実行する必要があります。
WL_HOME
/server/bin/setWLSEnv.sh
スクリプトを実行して、環境設定を行います。Bourneシェルで、次のコマンドを実行します。
cd WL_HOME/server/bin
. ./setWLSEnv.sh
CLASSPATH
環境変数が設定されていることを確認します。
echo $CLASSPATH
第15.4.13項「JDKトラスト・ストアへのロード・バランサ証明書の追加」で作成されたディレクトリが証明書の格納に使用されます。次のコマンドを使用して、作成されたkeystoresディレクトリにディレクトリを変更します。
cd SHARED_CONFIG_DIR/keystores
ユーザー定義ディレクトリからutils.CertGen
ツールを実行して、HOST.example.comおよびVIP.example.comの両方に対する証明書を作成します。
構文(すべてを1行で入力します):
java utils.CertGen Key_Passphrase Cert_File_Name Key_File_Name
[export | domestic] [Host_Name]
例:
java utils.CertGen Key_Passphrase OIMHOST1.example.com_cert OIMHOST1.example.com_key domestic OIMHOST1.example.com java utils.CertGen Key_Passphrase OIMHOST1VHN1.example.com_cert OIMHOST1VHN1.example.com_key domestic OIMHOST1VHN1.example.com
次の手順に従って、HOSTにアイデンティティ・キーストアを作成します。
utils.ImportPrivateKey
ユーティリティを使用して、appIdentityKeyStore
というIDキーストアを新しく作成します。このキーストアの作成場所は、証明書と同じディレクトリ(SHARED_CONFIG_DIR
/keystores
)とします。
注意: アイデンティティ・ストアは、utils.ImportPrivateKey ユーティリティを使用して証明書および対応する鍵をインポートすることで作成されます(存在していない場合)。 |
ホストで、以前に作成したHOST.example.com
とVIP.example.com
両方に対する証明書および秘密鍵を、アイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。構文(すべてを1行で入力します):
java utils.ImportPrivateKey Keystore_File Keystore_Password Certificate_Alias_to_Use Private_Key_Passphrase Certificate_File Private_Key_File [Keystore_Type]]
例:
java utils.ImportPrivateKey appIdentityKeyStore.jks Key_Passphrase appIdentity-OIMHOST1.example.com Key_Passphrase SHARED_CONFIG_DIR/keystores/OIMHOST1.example.com_cert.pem SHARED_CONFIG_DIR/keystores/OIMHOST1.example.com_key.pem java utils.ImportPrivateKey appIdentityKeyStore.jks Key_Passphrase appIdentity-OIMHOST1VHN1.example.com Key_Passphrase SHARED_CONFIG_DIR/keystores/OIMHOST1VHN1.example.com_cert.pem SHARED_CONFIG_DIR/keystores/OIMHOST1VHN1.example.com_key.pem java utils.ImportPrivateKey appIdentityKeyStore.jks Key_Passphrase appIdentity-IGDADMINVHN.example.com Key_Passphrase SHARED_CONFIG_DIR/keystores/igdadminvhn.example.com_cert.pem SHARED_CONFIG_DIR/keystores/igdadminvhn.example.com_key.pem
次の手順に従って、各ホストに信頼キーストアを作成します。
新しいトラスト・キーストアを作成するには、標準のJavaキーストアをコピーします。これは、必要なほとんどのルートCA証明書がこのJavaキーストアに存在するからです。標準のJavaトラスト・キーストアを直接変更することはお薦めしません。WL_HOME/server/lib
ディレクトリにある標準のJavaキーストアCA証明書をその証明書と同じディレクトリにコピーします。次に例を示します。
cp WL_HOME/server/lib/cacerts SHARED_CONFIG_DIR/keystores/appTrustKeyStore.jks
標準のJavaキーストアのデフォルトのパスワードはchangeitです。デフォルトのパスワードは常に変更することをお薦めします。パスワードを変更するにはkeytoolユーティリティを使用します。構文は次のとおりです。
keytool -storepasswd -new New_Password -keystore Trust_Keystore -storepass Original_Password
次に例を示します。
keytool -storepasswd -new Key_Passphrase -keystore appTrustKeyStore.jks -storepass changeit
このCA証明書(CertGenCA.der
)は、utils.CertGen
ツールで生成するすべての証明書の署名に使用します。これは、WL_HOME/server/lib
ディレクトリにあります。また、このCA証明書は、keytoolユーティリティを使用して、appTrustKeyStoreにインポートする必要があります。構文は次のとおりです。
keytool -import -v -noprompt -trustcacerts -alias Alias_Name -file CA_File_Location -keystore Keystore_Location -storepass Keystore_Password
次に例を示します。
keytool -import -v -noprompt -trustcacerts -alias clientCACert -file WL_HOME/server/lib/CertGenCA.der -keystore appTrustKeyStore.jks -storepass Key_Passphrase
第15.4.13項「JDKトラスト・ストアへのロード・バランサ証明書の追加」で取得したロード・バランサ証明書を、ノード・マネージャのトラスト・ストアに追加します。
証明書をノード・マネージャのトラスト・ストアにロードするには、次のコマンドを実行して、CA証明書ファイルSHARED_CONFIG_DIR
/keystores/login.example.com.pem
を、ノード・マネージャのトラスト・ストアSHARED_CONFIG_DIR
/keystores/appTrustKeyStore.jks
にインポートします。
set JAVA_HOME to IGD_MW_HOME/jdk set PATH to include JAVA_HOME/bin keytool -importcert -file SHARED_CONFIG_DIR/keystores/login.example.com.pem -trustcacerts -keystore SHARED_CONFIG_DIR/keystores/appTrustKeyStore.jks
カスタム・キーストアを使用するようにノード・マネージャを構成するには、SHARED_CONFIG_DIR
/nodemanager/
hostname.domain
ディレクトリにあるnodemanager.propertiesファイルの最後に次の行を追加します。
KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeyStoreFileName=Identity_Keystore CustomIdentityKeyStorePassPhrase=Identity_Keystore_Password CustomIdentityAlias=appIdentity-OIMHOST1.example.com CustomIdentityPrivateKeyPassPhrase=Private_Key_Used_When_Creating_Certificate
次に例を示します。
KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeyStoreFileName=SHARED_CONFIG_DIR/keystores/appIdentityKeyStore.jks CustomIdentityKeyStorePassPhrase=Key_Passphrase CustomIdentityAlias=appIdentity-OIMHOST1.example.com CustomIdentityPrivateKeyPassPhrase=Key_Passphrase
nodemanager.propertiesファイルのパスフレーズ・エントリは、ノード・マネージャの起動時に暗号化されます。セキュリティ上の理由から、nodemanager.properties
ファイルのエントリが暗号化されていない状態になる時間は最小限に抑えてください。このファイルを編集した後、できるだけ速やかにノード・マネージャを起動し、エントリを暗号化します。
注意: 各ノード・マネージャはそれぞれのアイデンティティ別名を指定して、正しい証明書を管理サーバーに送信する必要があります。WL_HOME/server/binディレクトリを使用してノード・マネージャを起動していて、別のnodemanagerディレクトリを構成していない場合は、このドキュメントの説明に従って、異なるノードでノード・マネージャを起動するには、異なる環境変数を設定する必要があります。cd WL_HOME/server/bin export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentity-OIMHOST1.example.com cd WL_HOME/server/bin export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentity-OIMHOST2.example.com 各ホスト固有に割り当てられているカスタムのアイデンティティ別名を必ず指定します。たとえば、HOST1には |
次の手順に従って、各管理対象サーバーのIDキーストアと信頼キーストアを構成します。
第31.2項「Identity and Access ManagementコンソールのURLについて」に記載されているURLを使用して、Oracle WebLogic Server管理コンソールにログインします。
「ロックして編集」をクリックします。
「ドメイン構造」ウィンドウの「環境」ノードを開きます。
「サーバー」をクリックします。
「サーバーのサマリー」ページが表示されます。
アイデンティティと信頼キーストアを構成するサーバーの名前をクリックします。選択したサーバーの設定ページが表示されます。
「構成」をクリックし、「キーストア」をクリックします。
キーストア・ラベルの横にある「変更」をクリックします。「変更」ページで、キーストアを「カスタム・アイデンティティとカスタム信頼」に変更し、「保存」をクリックします。
「ID」セクションで、IDキーストアの次の属性を定義します。
カスタムIDキーストア: IDキーストアへの完全修飾パス。
SHARED_CONFIG_DIR/keystores/appIdentityKeyStore.jks
カスタムIDキーストアのタイプ: 空白のままにしてください。デフォルトでJKSに設定されます。
カスタム・アイデンティティ・キーストアのパスフレーズ: 第16.5.3項「keytoolユーティリティを使用した信頼キーストアの作成」で指定したパスワード(Keystore_Password
)。この属性は、キーストアのタイプに応じて、任意と必須のいずれかになります。すべてのキーストアでは、キーストアへの書込みにパスフレーズが必要です。ただし、一部のキーストアでは、キーストアからの読取りにパスフレーズは不要です。WebLogic Serverはキーストアからの読取りのみを行うため、このプロパティを定義するかどうかは、キーストアの要件によって決まります。
「信頼」セクションで、信頼キーストアのプロパティを定義します。
カスタム信頼キーストア: トラスト・キーストアへの完全修飾パス。
SHARED_CONFIG_DIR/keystores/appTrustKeyStore.jks
カスタム信頼キーストアのタイプ: 空白のままにしてください。デフォルトでJKSに設定されます。
カスタム信頼キーストアのパスフレーズ: 第16.5.3項「keytoolユーティリティを使用した信頼キーストアの作成」で指定したパスワード(New_Password)。この属性は、キーストアのタイプに応じて、任意と必須のいずれかになります。すべてのキーストアでは、キーストアへの書込みにパスフレーズが必要です。ただし、一部のキーストアでは、キーストアからの読取りにパスフレーズは不要です。WebLogic Serverはキーストアからの読取りのみを行うため、このプロパティを定義するかどうかは、キーストアの要件によって決まります。
「保存」をクリックします。
「管理コンソール」の「チェンジ・センター」で、「変更のアクティブ化」をクリックして、これらの変更を有効にします。
「構成」をクリックし、「SSL」をクリックします。
「ロックして編集」をクリックします。
「秘密鍵の別名」フィールドに、管理対象サーバーでリスニングするホスト名に使用した別名を入力します。例:
wls_oim1
の場合は、appIdentity-OIMHOST1.example.com
を使用します。
ADMINSERVER
の場合は、appIdentity-IGDADMINVHN.example.com
を使用します。
「秘密鍵のパスフレーズ」フィールドと「秘密鍵のパスフレーズを確認」フィールドに、第16.5.2項「utils.ImportPrivateKeyユーティリティを使用したIDキーストアの作成」で作成したキーストアのパスワードを入力します。
「保存」をクリックします。
「管理コンソール」の「チェンジ・センター」で、「変更のアクティブ化」をクリックして、これらの変更を有効にします。
第31.1項「エンタープライズ・デプロイメント・コンポーネントの起動と停止」の説明に従って、変更を適用したサーバーを再起動します。
前述の手順を実行した後、影響を受ける管理対象サーバーのホスト名検証をBEA Hostname Verifier
に設定します。これを行うには、次の手順を実行します:
Oracle WebLogic Server管理コンソールにログインします。
「チェンジ・センター」で「ロックして編集」を選択します。
「ドメイン構造」ウィンドウの「環境」ノードを開きます。
「サーバー」をクリックします。
「サーバーのサマリー」ページが表示されます。
表の「名前」列で管理対象サーバーを選択します。
サーバーの設定ページが表示されます。
「SSL」タブを開きます。
ページの「詳細」セクションを開きます。
ホスト名検証をBEA Hostname Verifier
に設定します。
「JSSE SSLの使用」を選択します。
注意: この値は、必須のWebLogicパッチの適用後に選択する必要があります。 |
「保存」をクリックします。
「変更のアクティブ化」をクリックします。