第19章 JaasSecurityDomain での LdapExtLoginModule の使用

本章では JaasSecurityDomain によって復号化する暗号化パスワードで LdapExtLoginModule を使用する方法について説明します。本章では、LdapExtLoginModule が暗号化されていないパスワードですでに正しく実行していることを前提とします。LdapExtLoginModule の詳細については、「LdapExtLoginModule」 を参照してください。

手順19.1

  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 です。他の暗号化方式のアルゴリズムには DESTripleDESBlowfishPBEWithMD5AndTripleDES があります。すべてのアルゴリズムは対称アルゴリズムです。これらの 1 つの値に設定された CypherElement 属性を持つ <attribute> 要素を追加することにより、暗号化方式のアルゴリズムを指定します。
  2. パスワード、salt、iteration count を調節します

    ステップ 1 にはシンプルな設定があり、暗号化または復号化に必要なパスワード、Salt、Iteration Count が MBean 定義内に含まれます。
    KeyStorePass、Salt、IterationCount の値をご使用のデプロイメントに適するよう変更してください。
  3. プラットフォームの起動

    MBean、パスワード、ソルト、イテレーション数の設定後にサーバーを起動します。この設定を含むサーバープロファイルを指定してプラットフォームを起動してください。
    [bin]$ ./run.sh -c PROFILE
  4. JMX コンソールを開く

    JMX コンソール (デフォルトで http://localhost:8080/jmx-console/) にナビゲートし、org.jboss.security.plugins.JaasSecurityDomain MBean を選択します。
  5. LdapExtLoginModule の呼び出し

    1. org.jboss.security.plugins.JaasSecurityDomain ページで、encode64(String password) メソッドを見つけます。
    2. LdapExtLoginModule が使用する password のプレーンテキストバージョンをこのメソッドに渡します。
    3. encode64(String password) メソッドを呼び出します。
    4. 戻り値は、Base64 としてエンコードされたパスワードの暗号化バージョンです。
  6. ログインモジュールの設定

    ログインモジュール設定内では、次の 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 パスワードと置換されます。