第19章 JaasSecurityDomain での LdapExtLoginModule の使用
本章では JaasSecurityDomain によって復号化する暗号化パスワードで LdapExtLoginModule を使用する方法について説明します。本章では、LdapExtLoginModule が暗号化されていないパスワードですでに正しく実行していることを前提とします。LdapExtLoginModule の詳細については、「LdapExtLoginModule」 を参照してください。
手順19.1
JaasSecurityDomain MBean を定義します
パスワードの暗号化されたバージョンを復号化するために使用される JaasSecurityDomain MBean を定義します。MBean をJBOSS_HOME/server/PROFILE/conf/jboss-service.xml
またはJBOSS_HOME/server/
フォルダの *PROFILE
/deploy-service.xml
デプロイメント記述子に追加できます。<mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="jboss.security:service=JaasSecurityDomain,domain=jmx-console"> <constructor> <arg type="java.lang.String" value="jmx-console"></arg> </constructor> <attribute name="KeyStorePass">some_password</attribute> <attribute name="Salt">abcdefgh</attribute> <attribute name="IterationCount">66</attribute> </mbean>
注記
JaasSecurityDomain 実装が使用するデフォルトの暗号化方式のアルゴリズムはPBEwithMD5andDES
です。他の暗号化方式のアルゴリズムにはDES
、TripleDES
、Blowfish
、PBEWithMD5AndTripleDES
があります。すべてのアルゴリズムは対称アルゴリズムです。これらの 1 つの値に設定されたCypherElement
属性を持つ <attribute> 要素を追加することにより、暗号化方式のアルゴリズムを指定します。パスワード、salt、iteration count を調節します
ステップ 1 にはシンプルな設定があり、暗号化または復号化に必要なパスワード、Salt、Iteration Count が MBean 定義内に含まれます。KeyStorePass、Salt、IterationCount の値をご使用のデプロイメントに適するよう変更してください。プラットフォームの起動
MBean、パスワード、ソルト、イテレーション数の設定後にサーバーを起動します。この設定を含むサーバープロファイルを指定してプラットフォームを起動してください。[bin]$ ./run.sh -c PROFILE
JMX コンソールを開く
JMX コンソール (デフォルトで http://localhost:8080/jmx-console/) にナビゲートし、org.jboss.security.plugins.JaasSecurityDomain
MBean を選択します。LdapExtLoginModule の呼び出し
org.jboss.security.plugins.JaasSecurityDomain
ページで、encode64(String password)
メソッドを見つけます。- LdapExtLoginModule が使用する
password
のプレーンテキストバージョンをこのメソッドに渡します。 encode64(String password)
メソッドを呼び出します。- 戻り値は、Base64 としてエンコードされたパスワードの暗号化バージョンです。
ログインモジュールの設定
ログインモジュール設定内では、次の module-options は以下のように設定されるべきです。<module-option name="jaasSecurityDomain">jboss.security:service=JaasSecurityDomain,domain=jmx-console</module-option> <module-option name="bindCredential">2gx7gcAxcDuaHaJMgO5AVo</module-option>
最初のオプションでは、手順 1 で設定された JaasSecurityDomain がパスワードを復号化するために使用されるよう指定されます。bindCredential
は、手順 5 で取得された暗号化 Base64 パスワードと置換されます。