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) からパスワードを暗号化解除するには、
以前にリストされているプロパティーを各クライアント・ユーティリティーのシステム・プロパティーとして追加します。
- この機能を使用可能化する前に、すべてのノードのクラスパスにカスタム暗号化クラスがあることを確認します。
結果
カスタム・パスワード暗号化が使用可能になります。