5.9. 管理インターフェースおよび CLI に対する双方向 SSL の使用

双方向 SSL 認証は、クライアント認証とも呼ばれ、SSL 証明書を使用してクライアントとサーバーの両方を認証します。これにより、サーバーとクライアントが示すアイデンティティーが本当であることを確定できます。
このトピックでは、以下の慣例が使用されます。

HOST1
JBoss サーバーホスト名 (例: jboss.redhat.com)。
HOST2
クライアントに適した名前 (例: myclient)。実際のホスト名でないことがあります。
CA_HOST1
HOST1 証明書に使用する DN (識別名)(例:cn=jboss,dc=redhat,dc=com)。
CA_HOST2
HOST2 証明書に使用する DN (識別名)(例:cn=myclient,dc=redhat,dc=com)。

要件

  • パスワード vault を使用してキーストアおよびトラストストアのパスワードを格納する場合 (推奨方法)、パスワード vault は作成済みのはずです。「パスワード valut システム」を参照してください。

手順5.3

  1. ストアを生成します。
    keytool -genkeypair -alias HOST1_alias -keyalg RSA -keysize 1024 -validity 365 -keystore host1.keystore.jks -dname "CA_HOST1" -keypass secret -storepass secret
    keytool -genkeypair -alias HOST2_alias -keyalg RSA -keysize 1024 -validity 365 -keystore host2.keystore.jks -dname "CA_HOST2" -keypass secret -storepass secret
  2. 証明書をエクスポートします。
    keytool -exportcert  -keystore HOST1.keystore.jks -alias HOST1_alias -keypass secret -storepass secret -file HOST1.cer
    keytool -exportcert  -keystore HOST2.keystore.jks -alias HOST2_alias -keypass secret -storepass secret -file HOST2.cer
  3. 証明書を反対のトラストストアにインポートします。
    keytool -importcert -keystore HOST1.truststore.jks -storepass secret -alias HOST2_alias -trustcacerts -file HOST2.cer
    keytool -importcert -keystore HOST2.truststore.jks -storepass secret -alias HOST1_alias -trustcacerts -file HOST1.cer
  4. インストールの設定に CertificateRealm を定義し (host.xml または standalone.xml)、インターフェースがそれを示すようにします。
    これを行うには、設定ファイルを手作業で編集するか (非推奨)、以下のコマンドを使用します。
    /core-service=management/security-realm=CertificateRealm:add()
    /core-service=management/security-realm=CertificateRealm/server-identity=ssl:add(keystore-path=/path/to/HOST1.keystore.jks,keystore-password=secret, alias=HOST1_alias)
    /core-service=management/security-realm=CertificateRealm/authentication=truststore:add(keystore-path=/path/to/HOST1.truststore.jks,keystore-password=secret)

    重要

    これらのコマンドはスタンドアロンモードのみに提供されます。ドメインモードでは各コマンドの前に /host=master を追加します。
  5. ネイティブインターフェースの security-realm を新しい証明書レルムに変更します。
    /host=master/core-service=management/management-interface=native-interface:write-attribute(name=security-realm,value=CertificateRealm)
  6. EAP_HOME/bin/jboss-cli.xml を設定ファイルとして使用する CLI の SSL 設定を追加します。パスワード vault を使用してキーストアおよびトラストストアのパスワードを保存するか (推奨方法)、プレーンテキストで保存します。
    • パスワード vault でキーストアおよびトラストストアのパスワードを保存する方法
      EAP_HOME/bin/jboss-cli.xml を編集し、SSL 設定を追加します (変数に適切な値を使用します)。また、vault の設定を追加します (各値をご使用の vault の値に置き換えます)。
      <ssl>
        <vault>
          <vault-option name="KEYSTORE_URL" value="path-to/vault/vault.keystore"/>
          <vault-option name="KEYSTORE_PASSWORD" value="MASK-5WNXs8oEbrs"/>
          <vault-option name="KEYSTORE_ALIAS" value="vault"/>
          <vault-option name="SALT" value="12345678"/>
          <vault-option name="ITERATION_COUNT" value="50"/>
          <vault-option name="ENC_FILE_DIR" value="path-to/jboss-eap/vault/"/>
        </vault>
        <alias>$HOST2alias</alias>
        <key-store>/path/to/HOST2.keystore.jks</key-store>
        <key-store-password>VAULT::VB::cli_pass::1</key-store-password>
        <key-password>VAULT::VB::cli_pass::1</key-password>  
        <trust-store>/path/to/HOST2.truststore.jks</trust-store>
        <trust-store-password>VAULT::VB::cli_pass::1</trust-store-password>
        <modify-trust-store>true</modify-trust-store>
      </ssl>
    • プレーンテキストでキーストアおよびトラストストアのパスワードを保存する方法
      EAP_HOME/bin/jboss-cli.xml を編集し、SSL 設定を追加します (変数に適切な値を使用します)。
      <ssl>
        <alias>$HOST2alias</alias>
        <key-store>/path/to/HOST2.keystore.jks</key-store>
        <key-store-password>secret</key-store-password>
        <trust-store>/path/to/HOST2.truststore.jks</trust-store>
        <trust-store-password>secret</trust-store-password>
        <modify-trust-store>true</modify-trust-store>
      </ssl>