ファイル内のパスワードのエンコード

パスワードのエンコードの目的は、サーバー構成およびプロパティー・ファイル内のパスワードが簡単に露呈するのを防ぐことです。 PropFilePasswordEncoder ユーティリティーを使用して、プロパティー・ファイルに 保管されているパスワードをエンコードします。 WebSphere® Application Server はパスワードを解読するユーティリティを提供しない。 パスワードを完全に保護するには、 エンコードだけでは不十分です。 ネイティブ・セキュリティは、 WebSphere Application Server 構成ファイルとプロパティ・ファイルで使用されるパスワードを保護するための主要なメカニズムです。

このタスクの概要

WebSphere Application Server では、暗号化されていないファイルに、エンコードされたパスワードがいくつか含まれています。 WebSphere Application Server は PropFilePasswordEncoder ユーティリティを提供しています。 パスワードのエンコードの目的は、サーバー構成およびプロパティー・ファイル内のパスワードが簡単に露呈するのを防ぐことです。 PropFilePasswordEncoder ユーティリティーは、XML ファイルや XMI ファイルに含まれているパスワードは エンコードしません。
重要 PropFilePasswordEncoder は既存のプロパティ・ファイルのみを更新するため、新しいアプリケーションをインストールした後など、後続のファイルが追加された場合は、それらの新しいファイルに対してこの手順を再実行する必要があります。
表 1. WebSphere Application Server では、ほとんどの XML ファイルおよび XMI ファイル内のパスワードが自動的にエンコードされます。 エンコードされたパスワードを 含む XML および XMI ファイルには、以下のものがあります。
ファイル名 追加情報 ナビゲーション
[AIX Solaris HP-UX Linux Windows]profile_root/config/cells/セル名/security.xml [AIX Solaris HP-UX Linux Windows]
以下のフィールドには、エンコードされたパスワードが入っています。
  • LTPA パスワード
  • JAAS 認証データ
  • ユーザー・レジストリー・サーバー・パスワード
  • LDAP ユーザー・レジストリー・バインド・パスワード
  • 鍵ストアのパスワード
  • トラストストアのパスワード
  • [AIX Solaris HP-UX Linux Windows]暗号トークン・デバイス・パスワード
[AIX Solaris HP-UX Linux Windows]セキュリティー > 「グローバル・セキュリティー」 > 「適用」
[IBM i]profile_root/config/cells/セル名 /security.xml [IBM i]
以下のフィールドには、エンコードされたパスワードが入っています。
  • LTPA パスワード
  • JAAS 認証データ
  • ユーザー・レジストリー・サーバー・パスワード
  • LDAP ユーザー・レジストリー・バインド・パスワード
  • 鍵ストアのパスワード
  • トラストストアのパスワード
  • 暗号トークン・デバイス・パスワード
[IBM i]セキュリティー > 「グローバル・セキュリティー」 > 「適用」
war/WEB-INF/ibm_web_bnd.xml Java™ 暗号方式アーキテクチャーを除く、すべての記述子内の resource-ref バインディングのデフォルトの基本認証のパスワードを指定します。  
ejb jar/META-INF/ibm_ejbjar_bnd.xml Java 暗号化アーキテクチャーを除くすべての記述子内の resource-ref バインディングのデフォルトの基本認証のパスワードを指定します。  
client jar/META-INF/ibm-appclient_bnd.xml Java 暗号化アーキテクチャーを除くすべての記述子内の resource-ref バインディングのデフォルトの基本認証のパスワードを指定します。  
ear/META-INF/ibm_application_bnd.xml すべての記述子内の run as バインディングのデフォルトの基本認証用パスワードを指定します。  
[AIX Solaris HP-UX Linux Windows]profile_root/config/cells/cell_name /nodes/node_name/servers/ server_name/security.xml [AIX Solaris HP-UX Linux Windows]
以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • トラストストアのパスワード
  • [AIX Solaris HP-UX Linux Windows]暗号トークン・デバイス・パスワード
  • セッション・パーシスタンス・パスワード
[AIX Solaris HP-UX Linux Windows] 
[IBM i]profile_root/config/cells/cell_name /nodes/node_name/servers/security.xml [IBM i]
以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • トラストストアのパスワード
  • 暗号トークン・デバイス・パスワード
  • セッション・パーシスタンス・パスワード
[IBM i] 
[AIX Solaris HP-UX Linux Windows]profile_root/config/cells/cell_name /nodes/node_name/servers/ server_name/resources.xml [AIX Solaris HP-UX Linux Windows]
以下のフィールドには、エンコードされたパスワードが入っています。
  • WAS40Datasource パスワード
  • mailTransport パスワード
  • mailStore パスワード
  • MQQueue queue mgr パスワード
[AIX Solaris HP-UX Linux Windows] 
[IBM i]profile_root/config/cells/cell_name /nodes/node_name/servers/server1/resources.xml [IBM i]
以下のフィールドには、エンコードされたパスワードが入っています。
  • WAS40Datasource パスワード
  • mailTransport パスワード
  • mailStore パスワード
  • MQQueue queue mgr パスワード
[IBM i] 
[AIX Solaris HP-UX Linux Windows]
  • profile_root/config/cells/セル名 /ws-security.xml
  • profile_root/config/cells/cell_name /nodes/node_name/servers/server_name/ws-security.xml
[AIX Solaris HP-UX Linux Windows]
デフォルトで、以下のフィールドにはエンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
JAX-RPC デフォルト構成に UsernameToken 生成プログラムが追加された場合は、以下のフィールドも該当します。
  • ユーザー名トークンのパスワード
[AIX Solaris HP-UX Linux Windows]サーバー > サーバー・タイプ > WebSphere Application Server > serverName >JAX-WS および JAX-RPC セキュリティー・ランタイム > 適用
ibm-webservices-bnd.xmi
これは、JAX-RPC プロバイダー・アプリケーションに含まれているデプロイメント記述子です。 以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
「アプリケーション」 > 「エンタープライズ・アプリケーション」 > 「アプリケーション名」 > 「モジュールの管理」 > 「モジュール名」 > 「Web サービス: サーバー・セキュリティー・バインディング」 (「Web Services Security プロパティー」の下)> 「カスタムの編集」
ibm-webservicesclient-bnd.xmi
これは、JAX-RPC クライアント・アプリケーションに含まれているデプロイメント記述子です。 以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
  • ユーザー名トークンのパスワード
「アプリケーション」 > 「エンタープライズ・アプリケーション」 > 「アプリケーション名」 > 「モジュールの管理」 > 「モジュール名」 > 「Web サービス: クライアント・セキュリティー・バインディング」 (「Web Services Security プロパティー」の下)> 「カスタムの編集」
profile_root /config/cells/ cell_name /bindings/PolicyTyper/WSSecurity/bindings.xml
以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
  • ユーザー名トークンのパスワード
「サービス」>「ポリシー・セット」>「デフォルトのポリシー・セット・バインディング」>「バージョン 6.1 のデフォルトのポリシー・セット・バインディング」>「WS-Security」>「カスタム・プロパティー」>「適用」
profile_root/config/cells/セル名/nodes/node_name/servers/server_name/server.xml
以下のフィールドには、エンコードされたパスワードが入っています。
  • データベース管理者パスワード
「サーバー」>「サーバー・タイプ」>「Websphere Application Server」> serverName >「セッション管理」>「分散環境」>「データベース」>「OK」
注: データベースを使用していない場合は、「なし」を選択してください。
profile_root /config/cells/ cell_name /applications/( appName/... /WSSecurity/bindings.xml

WSSecurity/bindings.xml は、 JAX-WS WS-Security ポリシー・バインディング・ファイルです。 これは、cell_name/applications パスに置かれている場合は、アプリケーション固有バインディングの一部です。

以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
  • ユーザー名トークンのパスワード
「サービス」> service providers または > service clients > resourceName > bindingName >「WS-Security」>「カスタム・プロパティー」>「適用」
profile_root/config/cells/cell_name/bindings/
  • ./Client sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Client sample V2/PolicyTypes/WSSecurity/bindings.xml
  • ./Provider sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Provider sample V2/PolicyTypes/WSSecurity/bindings.xml
  • ./Saml Bearer Client sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Saml Bearer Provider sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Saml HoK Symmetric Client sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Saml HoK Symmetric Provider sample /PolicyTypes/WSSecurity/bindings.xml
  • ./Saml SHA256 Client sample/PolicyTypes/WSSecurity/bindings.xml
  • ./Saml SHA256 Provider sample /PolicyTypes/WSSecurity/bindings.xml
以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
  • ユーザー名トークンのパスワード
「サービス」>「ポリシー・セット」>「汎用プロバイダー・ポリシー・セットのバインディング」> bindingName >「WS-Security」>「カスタム・プロパティー」>「適用」
profile_root/config/cells/セル名/sts
  • ./policy/TrustServiceSecurityDefault/PolicyTypes/WSSecurity/bindings.xml
  • ./policy/TrustServiceSymmetricDefault/PolicyTypes/WSSecurity/bindings.xml
以下のフィールドには、エンコードされたパスワードが入っています。
  • 鍵ストアのパスワード
  • 鍵のパスワード
  • ユーザー名トークンのパスワード
「サービス」 > 「トラスト・サービス」 >「トラスト・サービスの関連付け」 > bindingName > 「WS-Security」 > 「カスタム・プロパティー」 > 「適用」
表 2. PropFilePasswordEncoder ユーティリティ - ファイルの一部リスト. あなたは PropFilePasswordEncoder ユーティリティを使用してプロパティファイルのパスワードをエンコードします。 該当ファイルには、次のものがあります。
ファイル名 追加情報
[AIX Solaris HP-UX Linux Windows]
profile_root
/properties/sas.client.props
[AIX Solaris HP-UX Linux Windows]
以下のファイルにパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[IBM i]
profile_root/properties/sas.client.props 
[IBM i]
以下のファイルにパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[AIX Solaris HP-UX Linux Windows]
profile_root
/properties/sas.tools.properties
[AIX Solaris HP-UX Linux Windows]
次のパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[IBM i]
profile_root/properties/sas.tools.properties 
[IBM i]
次のパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[AIX Solaris HP-UX Linux Windows]
profile_root
/properties/sas.stdclient.properties
[AIX Solaris HP-UX Linux Windows]
次のパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[IBM i]
profile_root/properties/sas.stdclient.properties
[IBM i]
次のパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
  • com.ibm.CORBA.loginPassword
[AIX Solaris HP-UX Linux Windows]
profile_root
/properties/wsserver.key
[AIX Solaris HP-UX Linux Windows] 
[IBM i]
profile_root/properties/wsserver.key
[IBM i] 
profile_root/profiles/AppSrvXX/properties/sib.client.ssl.properties
次のパスワードを指定します。
  • com.ibm.ssl.keyStorePassword
  • com.ibm.ssl.trustStorePassword
profile_root/UDDIReg/scripts/UDDIUtilityTools.properties
次のパスワードを指定します。
  • trustStore.password
profile_root/config/cells/cell_name/sts/SAMLIssuerConfig.properties
以下のフィールドには、エンコードされたパスワードが入っています。
  • KeystorePassword
  • KeyPasswords
  • TrustStorePassword
これらのファイルのいずれかのパスワードを再度エンコードするには、 以下のステップを完了してください。

手順

  1. テキスト・エディターを使用してファイルにアクセスし、 エンコードされたパスワードを上書きします。
    表示された新しいパスワードはエンコードされていないので、再度エンコードする必要があります。
  2. [AIX Solaris HP-UX Linux Windows]以下を使用します。PropFilePasswordEncoder.batまたは、PropFilePasswordEncode.shファイルprofile_root/binパスワードを再度エンコードするためのディレクトリー。

    [AIX Solaris HP-UX Linux Windows]SAS プロパティー・ファイル以外のファイルをエンコードする場合は、次のように入力します。PropFilePasswordEncoder "file_name" password_properties_list

    重要 PropFilePasswordEncoder ユーティリティを使用すると、オリジナル・ファイルのバックアップ・バージョンが必要かどうかを尋ねるプロンプトが表示されます。 バックアップ・バージョンが必要な場合は、平文のパスワードが付いたバックアップ・ファイル (.bak) が作成されます。 結果を調べてから、このバックアップ・ファイルを削除します。 このファイルには暗号化されていないパスワードが含まれています。 このプロンプトを表示したくない場合は、 PropFilePasswordEncoder ユーティリティを編集し、パラメータとして次の Java システム・プロパティを追加してください: -Dcom.ibm.websphere.security.util.createBackup=true または -Dcom.ibm.websphere.security.util.createBackup=false

    Java システム・プロパティーの true 値はバックアップ・ファイルを作成し、 false 値はバックアップ・ファイルを使用不可にします。

    ここで:

    "file_name" は z/SAS プロパティー・ファイルの名前で、password_properties_list はファイル内でエンコードするプロパティーの名前です。
    注: このファイルには、パスワードのみを PropFilePasswordEncoder ツールを使って

    ユーティリティは PropFilePasswordEncoder ユーティリティは、 WebSphere Application Server パスワードファイルのエンコードにのみ使用します。 ユーティリティーは、 XML ファイルまたは、オープンおよびクローズ・タグを含む他のファイルに含まれるパスワードをエンコードできません。 これらのファイルのパスワードを変更するには、管理コンソールまたは Rational® Application Developer のようなアセンブリツールを使用します。

  3. [IBM i]スクリプトは PropFilePasswordEncode スクリプトをprofile_root/bin/パスワードを再度エンコードするためのディレクトリー。

    SAS プロパティー・ファイル以外のファイルをエンコードする場合は、次のように入力します。PropFilePasswordEncoder "file_name" password_properties_list

    "file_name" は SAS プロパティー・ファイルの名前で、password_properties_list はファイル内でエンコードするプロパティーの名前です。
    注: このファイルには、パスワードのみをエンコードする必要があります。 PropFilePasswordEncoder ツールを使って

    この PropFilePasswordEncoder ツールを使用して、 WebSphere Application Server パスワードファイルのみをエンコードする。 ユーティリティーは、 XML ファイルまたは、オープンおよびクローズ・タグを含む他のファイルに含まれるパスワードをエンコードできません。 これらのファイルのパスワードを変更するには、管理コンソールまたは Rational Application Developer のようなアセンブリツールを使用します。

結果

反映されたファイルを再オープンすると、パスワードはエンコードされています。 WebSphere Application Server はパスワードを解読するユーティリティを提供しない。

次の例は、PropFilePasswordEncoder ツールの使用方法を示しています。
PropFilePasswordEncoder C:\WASV8\WebSphere\AppServer\profiles\AppSrv\properties
\sas.client.props com.ibm.ssl.keyStorePassword,com.ibm.ssl.trustStorePassword

ここで:

PropFilePasswordEncoder は、 profile_root/profiles/profile_name/bin ディレクトリーから実行するユーティリティーの名前です。

C:\WASV6\WebSphere\AppServer\profiles\AppSrv\properties\sas.client.props は、エンコードするパスワードが含まれているファイルの名前です。

com.ibm.ssl.keyStorePassword は、 エンコードする、ファイル内のパスワードです。

com.ibm.ssl.trustStorePassword は、 ファイル内のエンコードする第 2 パスワードです。