2.3. Elytron でのドメインコントローラーへの SSL または TLS の設定


マスタードメインコントローラーとホストコントローラー間で相互に通信する際に Secure Sockets Layer (SSL) または Transport Layer Security (TLS) を使用するようにマネージドドメインの JBoss EAP インスタンスを設定できます。

重要

マネージドドメインの JBoss EAP インスタンス間で使用する SSL または TLS を設定する場合は、対話に応じて各インスタンスにクライアントまたはサーバーのロールを設定できます。これには、すべてのホストコントローラーとドメインコントローラーが含まれます。最適な結果を得るには、エンドポイント間で双方向の SSL または TLS を設定してください。

前提条件

  • 必要なすべての証明書とキーストアを生成して設定しておく。管理インターフェイスで双方向 SSL/TLS を有効にするには、セキュリティーコマンドを使用した双方向 SSL/TLS の有効化 または Elytron サブシステムコマンドを使用した双方向 SSL/TLS の有効化 のいずれかを参照してください。

    注記

    エンドポイント間で双方向 SSL または TLS を設定するには、マスタードメインコントローラーおよび各ホストコントローラーの証明書およびキーストアを生成し、設定する必要があります。

    さらに、マスタードメインコントローラーの証明書を各ホストコントローラーのキーストアにインポートする必要があります。さらに、各ホストコントローラーの証明書をマスタードメインコントローラーの鍵ストアにインポートしてください。

手順

  1. マスタードメインコントローラーでユーザーを追加します。デフォルトのファイルベースのユーザーおよびグループ認証メカニズムを使用している場合は、EAP_HOME/bin/add-user.sh スクリプトを実行してください。プロンプトが表示されたら、ユーザー名、パスワード、およびその他の設定を追加します。

    注記

    管理ユーザーのレルムのデフォルト名は ManagementRealm です。Add-user ユーティリティーでレルム名の入力を求められた場合には、別のレルムに切り替えていない限り、デフォルトのレルム名を使用する必要があります。

    注記

    スレーブコントローラーがユーザーを認証するためには、マスタードメインコントローラーにユーザーを追加する必要があります。

    注記

    サーバーは、メモリー内のプロパティーファイルの内容をキャッシュします。ただし、サーバーは認証リクエストごとにプロパティーファイルの変更時間を確認し、時間が更新された場合にリロードします。このように、add-user ユーティリティーによる変更は、実行中のサーバーに直ちに適用されます。

  2. マスタードメインコントローラーを、SSL または TLS を使用するように設定します。以下の例では、サーバーキーストアとトラストストア向けのドメインコントローラーの key-storekey-managertrust-manager、および server-ssl-context を設定するコマンドを紹介します。

    /host=master/subsystem=elytron/key-store=twoWayKS:add(path=/path/to/server.keystore.jks,credential-reference={clear-text=secret},type=JKS)
    
    /host=master/subsystem=elytron/key-store=twoWayTS:add(path=/path/to/server.truststore.jks,credential-reference={clear-text=secret},type=JKS)
    
    /host=master/subsystem=elytron/key-manager=twoWayKM:add(key-store=twoWayKS,credential-reference={clear-text=secret})
    
    /host=master/subsystem=elytron/trust-manager=twoWayTM:add(key-store=twoWayTS)
    
    /host=master/subsystem=elytron/server-ssl-context=twoWaySSC:add(key-manager=twoWayKM,protocols=["TLSv1.2"],trust-manager=twoWayTM,want-client-auth=true,need-client-auth=true)
    
    /host=master/core-service=management/management-interface=http-interface:write-attribute(name=ssl-context, value=twoWaySSC)
    重要

    Elytron サブシステムはデフォルトで KeyManagerFactory.getDefaultAlgorithm() および TrustManagerFactory.getDefaultAlgorithm() を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるキーマネージャーアルゴリズムを知る必要があります。たとえば、SunJSSE を使用する JDK は、PKIX および SunX509 アルゴリズムを提供します。

    前のコマンドでは、SunX509 をキーマネージャーアルゴリズム属性として指定し、PKIX をトラストマネージャーアルゴリズム属性として指定できます。

    また、使用する HTTPS プロトコルを決定する必要もあります。この手順の例では、TLSv1.2 を使用しています。

    cipher-suite-filter を使用して暗号スイートを指定し、use-cipher-suites-order 引数を使用してサーバーの暗号スイートの順序を優先できます。use-cipher-suites-order 属性はデフォルトで true に設定されます。これは、レガシー security サブシステムの動作とは異なります。その動作は、デフォルトで、クライアント暗号スイートの順序を許可します。

  3. 各スレーブホストコントローラーに認証コンテキストとドメインコントローラーの場所を設定します。以下の設定例では、localhost に存在するドメインコントローラーを示しています。

    注記

    ご利用の環境で正しい管理ユーザー、パスワード、およびドメインコントローラーの場所を指定するようにしてください。

    /host=slave1/subsystem=elytron/authentication-context=slaveHostSSLContext:add()
    
    /host=slave1/subsystem=elytron/authentication-configuration=slaveHostSSLConfiguration:add()
    
    /host=slave1/subsystem=elytron/authentication-configuration=slaveHostSSLConfiguration:write-attribute(name=sasl-mechanism-selector,value=DIGEST-MD5)
    
    /host=slave1/subsystem=elytron/authentication-configuration=slaveHostSSLConfiguration:write-attribute(name=authentication-name,value=slave)
    
    /host=slave1/subsystem=elytron/authentication-configuration=slaveHostSSLConfiguration:write-attribute(name=realm,value=ManagementRealm)
    
    /host=slave1/subsystem=elytron/authentication-configuration=slaveHostSSLConfiguration:write-attribute(name=credential-reference,value={clear-text=password1!})
    
    /host=slave1/subsystem=elytron/authentication-context=slaveHostSSLContext:write-attribute(name=match-rules,value=[{match-host=localhost,authentication-configuration=slaveHostSSLConfiguration}]
    
    /host=slave1:write-remote-domain-controller(host=localhost,port=9990,protocol=remote,authentication-context=slaveHostSSLContext)
  4. 各スレーブホストコントローラーが SSL/TLS を使用するように設定します。以下のコマンドでは、サーバーのキーストアとトラストストアに対して、スレーブホストコントローラーの key-storekey-managertrust-managerclient-ssl-context および authentication-context を設定します。さらに、この例では、localhost に存在するドメインコントローラーを示しています。

    注記

    環境に適したドメインコントローラーの場所を指定するようにしてください。

    /host=slave1/subsystem=elytron/key-store=twoWayKS:add(path=/path/to/client.keystore.jks,credential-reference={clear-text=secret},type=JKS)
    
    /host=slave1/subsystem=elytron/key-store=twoWayTS:add(path=/path/to/client.truststore.jks,credential-reference={clear-text=secret},type=JKS)
    
    /host=slave1/subsystem=elytron/key-manager=twoWayKM:add(key-store=twoWayKS,credential-reference={clear-text=secret})
    
    /host=slave1/subsystem=elytron/trust-manager=twoWayTM:add(key-store=twoWayTS)
    
    /host=slave1/subsystem=elytron/client-ssl-context=twoWayCSC:add(key-manager=twoWayKM,protocols=["TLSv1.2"],trust-manager=twoWayTM)
    
    /host=slave1/subsystem=elytron/authentication-context=slaveHostSSLContext:write-attribute(name=match-rules,value=[{match-host=localhost,authentication-configuration=slaveHostSSLConfiguration,ssl-context=twoWayCSC}])
    重要

    Elytron サブシステムはデフォルトで KeyManagerFactory.getDefaultAlgorithm() および TrustManagerFactory.getDefaultAlgorithm() を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるキーマネージャーアルゴリズムを知る必要があります。たとえば、SunJSSE を使用する JDK は、PKIX および SunX509 アルゴリズムを提供します。

    前のコマンドでは、SunX509 をキーマネージャーアルゴリズム属性として指定し、PKIX をトラストマネージャーアルゴリズム属性として指定できます。

    また、使用する HTTPS プロトコルを決定する必要もあります。この手順の例では、TLSv1.2 を使用しています。

    cipher-suite-filter を使用して暗号スイートを指定し、use-cipher-suites-order 引数を使用してサーバーの暗号スイートの順序を優先できます。use-cipher-suites-order 属性はデフォルトで true に設定されます。これは、レガシー security サブシステムの動作とは異なります。その動作は、デフォルトで、クライアント暗号スイートの順序を許可します。

  5. 管理対象ドメインのすべての JBoss EAP ホストをリロードします。

関連情報

  • マネージドドメイン操作モードの概念および一般的な設定の詳細は、JBoss EAP設定ガイド ドメイン管理 セクションを参照してください。
  • ユーザーの管理については、JBoss EAPConfiguration GuideManagement Users の項を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.