1.7. Elytron の ModCluster サブシステムとの統合

elytron サブシステムによって公開されるセキュリティー機能は、SSL/TLS を使用してロードバランサーと通信するように modcluster サブシステムを設定するのに使用できるクライアント ssl-context です。

アプリケーションサーバーとロードバランサー間の通信を保護する場合は、以下を行うためにクライアント ssl-context を定義する必要があります。

  • ロードバランサーの証明書の検証に使用される証明書チェーンを保持するトラストストアを定義する。
  • ロードバランサーの証明書に対して検証を実行するためのトラストマネージャーを定義する。

1.7.1. クライアント SSL コンテキストの定義と ModCluster サブシステムの設定

以下の手順では、トラストストアとトラストマネージャーを設定する必要があります。これらの作成の詳細は、「Elytron トラストストアの作成 」および「Elytron トラストマネージャーの作成 」を参照してください。

  1. クライアント SSL コンテキストを作成します。

    この SSL コンテキストは、SSL/TLS を使用してロードバランサーに接続する際に modcluster サブシステムによって使用されます。

    /subsystem=elytron/client-ssl-context=modcluster-client-ssl-context:add(trust-manager=default-trust-manager)
  2. 以下のオプションのいずれかを使用して、新しく作成されたクライアント SSL コンテキストを参照します。

    • ssl-context を設定して modcluster サブシステムを設定します。

      /subsystem=modcluster/mod-cluster-config=configuration:write-attribute(name=ssl-context, value=modcluster-client-ssl-context)
    • mod-cluster フィルターの ssl-context 属性を定義して undertow サブシステムを設定します。

      /subsystem=undertow/configuration=filter/mod-cluster=modcluster:write-attribute(name=ssl-context,value=modcluster-client-ssl-context)
  3. サーバーをリロードします。

    reload

modcluster サブシステムを設定し、トラストマネージャーとともに 双方向認証 を使用する場合は、キーマネージャーも設定する必要があります。

  1. キーストアを作成します。

    /subsystem=elytron/key-store=twoWayKS:add(path=/path/to/client.keystore.jks, credential-reference={clear-text=secret},type=JKS)
  2. キーマネージャーを設定します。

    /subsystem=elytron/key-manager=twoWayKM:add(key-store=twoWayKS, algorithm="SunX509", credential-reference={clear-text=secret})
  3. クライアント SSL コンテキストを作成します。

    /subsystem=elytron/client-ssl-context=modcluster-client-ssl-context:add(trust-manager=default-trust-manager, key-manager=twoWayKM)
    注記

    既存のクライアント SSL コンテキストがある場合には、以下のように key-manager を追加できます。

    /subsystem=elytron/client-ssl-context=modcluster-client-ssl-context:write-attribute(name=key-manager, value=twoWayKM)
  4. サーバーをリロードします。

    reload