1.8. Elytron の ModCluster サブシステムとの統合
elytron
サブシステムによって公開されるセキュリティー機能は、SSL/TLS を使用してロードバランサーと通信するように modcluster
サブシステムを設定するのに使用できるクライアント ssl-context
です。
アプリケーションサーバーとロードバランサー間の通信を保護する場合は、以下を行うためにクライアント ssl-context
を定義する必要があります。
- ロードバランサーの証明書の検証に使用される証明書チェーンを保持するトラストストアを定義する。
- ロードバランサーの証明書に対して検証を実行するためのトラストマネージャーを定義する。
1.8.1. クライアント SSL コンテキストの定義と ModCluster サブシステムの設定
以下の手順では、トラストストアとトラストマネージャーを設定する必要があります。これらの作成の詳細は、Elytron トラストストアの作成 および Elytron トラストマネージャーの作成 を参照してください。
クライアント SSL コンテキストを作成します。
この SSL コンテキストは、SSL/TLS を使用してロードバランサーに接続する際に
modcluster
サブシステムによって使用されます。/subsystem=elytron/client-ssl-context=modcluster-client-ssl-context:add(trust-manager=default-trust-manager)
以下のオプションのいずれかを使用して、新しく作成されたクライアント 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)
サーバーをリロードします。
reload
modcluster
サブシステムを設定し、トラストマネージャーとともに 双方向認証 を使用する場合は、キーマネージャーも設定する必要があります。
キーストアを作成します。
/subsystem=elytron/key-store=twoWayKS:add(path=/path/to/client.keystore.jks, credential-reference={clear-text=secret},type=JKS)
キーマネージャーを設定します。
/subsystem=elytron/key-manager=twoWayKM:add(key-store=twoWayKS, algorithm="SunX509", credential-reference={clear-text=secret})
クライアント 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)
サーバーをリロードします。
reload