WebSphere Application Server 構成に含まれるパスワードは
保護する必要があります。サーバー・プロファイルの作成後、
パスワード暗号化のためのカスタム・クラスを作成することにより、安全性を高めることができます。
このタスクについて
以下のステップを実行して、カスタム・パスワード暗号化を使用可能にします。
プロシージャー
- 各サーバーおよびクライアントのプロセスに以下のシステム・プロパティーを追加します。サーバー・プロセスの場合、各プロセスの server.xml ファイルを更新します。
以下のプロパティーを -D プレフィックスを先頭に付加した genericJvmArgument 引数として追加します。
com.ibm.wsspi.security.crypto.customPasswordEncryptionClass=
com.acme.myPasswordEncryptionClass
com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
ヒント: カスタム暗号化クラス名が com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl の場合、
このクラスがクラスパスにあると自動的に有効になります。カスタム実装にこのパッケージとクラス名がある場合、
以前にリストされているシステム・プロパティーを定義しないでください。このクラスの暗号化を使用不可にするには、
システム・プロパティーに com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false を指定する必要があります。
- WebSphere Application Server ランタイムがファイルをロードできるように、実装クラスを含む Java アーカイブ (JAR) ファイルを app_server_root/classes ディレクトリーに追加します。
- すべてのサーバー・プロセスを再始動します。
- パスワードを含む各構成文書を編集して、構成を保管します。 その後、
すべてのパスワード・フィールドは、WSEncoderDecoder ユーティリティーを介して実行されます。このユーティリティーが有効の場合、プラグ・ポイントが呼び出されます。
構成文書内に {custom:alias} タグが表示されます。パスワードは、暗号化されていても Base64-encoded のままです。タグの違い以外は、これらはエンコードされたパスワードと同様に見えます。
- クライアント・サイド・プロパティー・ファイルに入っているすべてのパスワードを PropsFilePasswordEncoder (.bat または .sh) ユーティリティーを使用して暗号化します。
このユーティリティーでは、
以前にリストされたプロパティーが、新規パスワードをエンコードではなく暗号化するためにスクリプト内でシステム・プロパティーとして定義されていることが必要です。
- クライアント Java 仮想マシン (JVM) からパスワードを暗号化解除するには、
以前にリストされているプロパティーを各クライアント・ユーティリティーのシステム・プロパティーとして追加します。
- この機能を使用可能化する前に、すべてのノードのクラスパスにカスタム暗号化クラスがあることを確認します。 使用可能化が発生する順序は重要です。新規ノードをパスワード暗号化を含むセルに追加する場合、addNode コマンドの使用の前に新規ノードにカスタム暗号化クラスが含まれている必要があります。以下の Network Deployment 使用可能化シナリオを検討してください。
- StandAloneProfile プロファイルは、デプロイメント・マネージャー・セルへの統合の前に、異なる鍵でパスワードを暗号化しています。このシナリオの場合、
addNode コマンドの実行の前にカスタム・パスワード暗号化をアンインストールして、構成にパスワードの先頭に付加された {xor} タグがあることを確認します。
addNode コマンドの実行前に、
プラグ・ポイントの同じ実装が /classes ディレクトリーに入っている必要があります。
また、統合が完了した後に新規ノードが security.xml ファイルの暗号化されたパスワード・フォーマットを
認識できるように適正な構成プロパティーを設定します。
- StandAloneProfile プロファイルは、デプロイメント・マネージャー・セルへの統合の前にパスワード暗号化を構成しません。addNode コマンドの実行前に、
プラグ・ポイントの同じ実装が /classes ディレクトリーに入っている必要があります。
また、統合が完了した後に新規ノードが security.xml ファイルの暗号化されたパスワード・フォーマットを
認識できるように適正な構成プロパティーを設定します。
- 複数ノードが表示された 1 つのセルでカスタム・パスワード暗号化を使用可能にする場合、
正しい構成プロパティーを更新し、カスタム・パスワード暗号化実装をすべてのノードに配置します。セル内のすべてのプロセスを停止し、デプロイメント・マネージャーを始動します。管理コンソールを使用してセキュリティー構成を編集し、これを保管します。security.xml ファイルを参照して、
パスワードが暗号化されていることを検証し、パスワードの先頭に {custom:alias} タグが付加されていることを確認します。
- 各ノードで syncNode コマンドを実行して、それぞれを個別に開始します。ノードの開始に失敗する場合、
各 security.xml ファイル内でカスタム・パスワード暗号化が正しく使用可能化されていること、および実装クラスが各プラットフォームの適切な /classes ディレクトリーに入っていることを確認します。
結果
カスタム・パスワード暗号化が使用可能になります。