1.10. Remoting サブシステムとの Elytron の等号
1.10.1. Elytron とリモーティングコネクターの統合 リンクのコピーリンクがクリップボードにコピーされました!
リモーティングコネクターは SASL 認証ファクトリー、ソケットバインディング、およびオプションの SSL コンテキストによって指定されます。特にコネクターの属性は以下のようになります。
sasl-authentication-factory- このコネクターに対する要求の認証に使用する SASL 認証ファクトリーへの参照。このファクトリーの作成に関する詳細は、Elytron 認証ファクトリーの作成を参照してください 。
socket-binding- コネクターが受信リクエストをリッスンするインターフェイスおよびポートを詳細化しているソケットバインディングへの参照。
ssl-context- このコネクターに使用するサーバー側の SSL コンテキストのオプションの参照。SSL コンテキストには、使用されるサーバーキーマネージャーとトラストマネージャーが含まれます。また、SSL コンテキストは、SSL が必要なインスタンスで定義する必要があります。
たとえば、以下のようにコネクターを追加できます。ここでは、SASL_FACTORY_NAME はすでに定義された認証ファクトリーで、SOCKET_BINDING_NAME は既存のソケットバインディングです。
/subsystem=remoting/connector=CONNECTOR_NAME:add(sasl-authentication-factory=SASL_FACTORY_NAME,socket-binding=SOCKET_BINDING_NAME)
/subsystem=remoting/connector=CONNECTOR_NAME:add(sasl-authentication-factory=SASL_FACTORY_NAME,socket-binding=SOCKET_BINDING_NAME)
SSL が必要な場合は、以下のように ssl-context 属性を使用して、事前設定された server-ssl-context が参照されることがあります。
/subsystem=remoting/connector=CONNECTOR_NAME:add(sasl-authentication-factory=SASL_FACTORY_NAME,socket-binding=SOCKET_BINDING_NAME,ssl-context=SSL_CONTEXT_NAME)
/subsystem=remoting/connector=CONNECTOR_NAME:add(sasl-authentication-factory=SASL_FACTORY_NAME,socket-binding=SOCKET_BINDING_NAME,ssl-context=SSL_CONTEXT_NAME)
1.10.1.1. Elytron サブシステムを使用したリモーティングコネクターでの一方向 SSL/TLS の有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下の SASL メカニズムは、SSL/TLS などの外部のセキュアなチャネルへのチャネルバインディングに対応しています。
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
これらのメカニズムを使用するには、カスタム SASL ファクトリー を設定するか、定義済みの SASL 認証ファクトリーのいずれかを変更する必要があります。SASL メカニズムセレクター は、クライアントで使用することで、適切な SASL メカニズムを指定できます。
前提条件
-
キーストアが設定されている。 -
キーマネージャーが設定されている。 -
定義された
キーマネージャーを参照するserver-ssl-contextが設定されている。
手順
コネクターの
socket-bindingを作成します。以下のコマンドは、ポート11199でリッスンするoneWayBindingバインディングを定義します。/socket-binding-group=standard-sockets/socket-binding=oneWayBinding:add(port=11199)
/socket-binding-group=standard-sockets/socket-binding=oneWayBinding:add(port=11199)Copy to Clipboard Copied! Toggle word wrap Toggle overflow SASL 認証ファクトリー、以前に作成したソケットバインディング、および SSL コンテキストを参照するコネクターを作成します。
/subsystem=remoting/connector=oneWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=oneWayBinding,ssl-context=SSL_CONTEXT)
/subsystem=remoting/connector=oneWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=oneWayBinding,ssl-context=SSL_CONTEXT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要security-realmとssl-contextの 両方 が定義されている場合、JBoss EAP はssl-contextによって提供される SSL / TLS 設定を使用します。-
サーバー証明書を信頼するようにクライアントを設定します。汎用クライアントの例は、Elytron Client Side One Way Example を参照してください。この例では、クライアントの
trust-storeを使用してssl-contextを設定します。
1.10.1.2. Elytron サブシステムを使用したリモーティングコネクターの双方向 SSL/TLS の有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下の SASL メカニズムは、SSL/TLS などの外部のセキュアなチャネルへのチャネルバインディングに対応しています。
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
これらのメカニズムを使用するには、カスタム SASL ファクトリー を設定するか、定義済みの SASL 認証ファクトリーのいずれかを変更して、これらのメカニズムを提供できます。SASL メカニズムセレクターは、クライアントで使用することで、適切な SASL メカニズムを指定できます。
前提条件
-
クライアント証明書とサーバー証明書向けにそれぞれ別の
キーストアコンポーネントが設定されている。 -
サーバーの
key-storeのkey-managerを設定している。 -
サーバーの
trust-storeのtrust-managerが設定されている。 -
定義された
key-managerとtrust-managerを参照するserver-ssl-contextが設定されている。
手順
コネクターの
socket-bindingを作成します。以下のコマンドは、ポート11199でリッスンするtwoWayBindingバインディングを定義します。/socket-binding-group=standard-sockets/socket-binding=twoWayBinding:add(port=11199)
/socket-binding-group=standard-sockets/socket-binding=twoWayBinding:add(port=11199)Copy to Clipboard Copied! Toggle word wrap Toggle overflow SASL 認証ファクトリー、以前に作成したソケットバインディング、および SSL コンテキストを参照するコネクターを作成します。
/subsystem=remoting/connector=twoWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=twoWayBinding,ssl-context=SSL_CONTEXT)
/subsystem=remoting/connector=twoWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=twoWayBinding,ssl-context=SSL_CONTEXT)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要security-realmとssl-contextの 両方 が定義されている場合、JBoss EAP はssl-contextによって提供される SSL / TLS 設定を使用します。サーバー証明書を信頼するようクライアントを設定し、その証明書をサーバーへ提示します。
双方向 SSL / TLS 認証を完了するには、信頼されたクライアント証明書をサーバーに提示するようにクライアントを設定する必要があります。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。汎用クライアントの例は、Elytron Client Side Two Way Example を参照してください。この例では、クライアントの
trust-storeとkey-storeを使用してssl-contextを設定します。
双方向 SSL/TLS がリモーティングコネクターで有効化されるようになりました。
1.10.2. リモーティング HTTP コネクターとの Elytron の統合 リンクのコピーリンクがクリップボードにコピーされました!
リモート HTTP 接続は、undertow サブシステムのコネクターと、elytron サブシステムで定義された SASL 認証ファクトリーを参照して指定されます。HTTP コネクターは HTTP アップグレードベースのリモーティングコネクターの設定を利用できるようにします。また、connector-ref 属性によって指定された HTTP リスナーに接続します。
http-connector の属性は次のとおりです。
connector-ref-
事前定義された
undertowリスナーへの参照。 sasl-authentication-factory- このコネクターに対する要求の認証に使用する SASL 認証ファクトリーへの参照。このファクトリーの作成に関する詳細は、Elytron 認証ファクトリーの作成を参照してください 。
たとえば、http-connector は以下のように追加できます。ここでは、CONNECTOR_NAME は undertow リスナーを参照します。また、SASL_FACTORY_NAME は elytron サブシステムにすでに定義された認証ファクトリーです。
/subsystem=remoting/http-connector=HTTP_CONNECTOR_NAME:add(connector-ref=CONNECTOR_NAME,sasl-authentication-factory=SASL_FACTORY_NAME)
/subsystem=remoting/http-connector=HTTP_CONNECTOR_NAME:add(connector-ref=CONNECTOR_NAME,sasl-authentication-factory=SASL_FACTORY_NAME)
1.10.2.1. リモーティング HTTP コネクターでの一方向 SSL の有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下の SASL メカニズムは、SSL/TLS などの外部のセキュアなチャネルへのチャネルバインディングに対応しています。
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
上記のメカニズムのいずれかを使用するには、カスタム SASL ファクトリーを設定してください。または、事前定義された SASL 認証ファクトリーのいずれかを編集することで、これらのメカニズムを提供できます。SASL メカニズムセレクター は、クライアントで使用することで、適切な SASL メカニズムを指定できます。
前提条件
-
key-storeが設定されている。 -
key-managerが設定されている。 -
server-ssl-contextが定義済みのkey-managerを参照するように設定されている。
手順
https-listenerが SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、
https-listenerが SSL 設定のApplicationRealmレガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron のssl-contextを同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。注記結果が
undefinedである場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。レガシーセキュリティーレルムへの参照を削除し、
https-listenerを Elytron のssl-contextを使用するように更新します。注記https-listenerには、常にsecurity-realmまたはssl-contextが設定されている必要があります。2 つの設定間で変更する場合は、以下に示すように、コマンドを単一のバッチで実行する必要があります。batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batch
batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batchCopy to Clipboard Copied! Toggle word wrap Toggle overflow HTTPS リスナーおよび SASL 認証ファクトリーを参照する HTTP コネクターを作成します。
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーをリロードします。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - サーバー証明書を信頼するようにクライアントを設定します。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。
1.10.2.2. リモーティング HTTP コネクターでの双方向 SSL/TLS の有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下の SASL メカニズムは、SSL/TLS などの外部のセキュアなチャネルへのチャネルバインディングに対応しています。
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
上記のメカニズムのいずれかを使用するには、カスタム SASL ファクトリーを設定してください。または、事前定義された SASL 認証ファクトリーのいずれかを編集することで、これらのメカニズムを提供できます。SASL メカニズムセレクター は、クライアントで使用することで、適切な SASL メカニズムを指定できます。
前提条件
-
クライアント証明書とサーバー証明書向けにそれぞれ別の
キーストアコンポーネントが設定されている。 -
サーバーの
key-storeのkey-managerを設定している。 -
サーバーの
trust-storeのtrust-managerが設定されている。 -
定義された
key-managerとtrust-managerを参照するserver-ssl-contextが設定されている。
手順
https-listenerが SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、
https-listenerが SSL 設定のApplicationRealmレガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron のssl-contextを同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。注記結果が
undefinedである場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。レガシーセキュリティーレルムへの参照を削除し、
https-listenerを Elytron のssl-contextを使用するように更新します。注記https-listenerには、常にsecurity-realmまたはssl-contextが設定されている必要があります。2 つの設定間で変更する場合は、以下に示すように、コマンドを単一のバッチで実行する必要があります。batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batch
batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batchCopy to Clipboard Copied! Toggle word wrap Toggle overflow HTTPS リスナーおよび SASL 認証ファクトリーを参照する HTTP コネクターを作成します。
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーをリロードします。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow サーバー証明書を信頼するようクライアントを設定し、その証明書をサーバーへ提示します。
信頼できるクライアント証明書をサーバーへ提示するようにクライアントを設定して、双方向 SSL/TLS 認証を完了します。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。
双方向 SSL/TLS がリモーティング HTTP コネクターで有効化されるようになりました。
security-realm と ssl-context の 両方 が定義されている場合、JBoss EAP は ssl-context によって提供される SSL / TLS 設定を使用します。
1.10.3. リモーティングアウトバウンドコネクターとの Elytron の統合 リンクのコピーリンクがクリップボードにコピーされました!
リモートアウトバウンド接続は、アウトバウンドソケットバインディングと認証コンテキストによって指定されます。認証コンテキストは、接続に必要なすべてのセキュリティー情報を提供します。特に remote-outbound-connection の属性は以下のようになります。
-
outbound-socket-binding-ref- 接続の宛先アドレスとポートの判断に使用されるアウトバウンドソケットバインディングの名前。 -
authentication-context- 認証設定および定義した SSL コンテキストが含まれる認証コンテキストの参照。これが存在する場合は、接続に必要となります。認証コンテキストの定義の情報は、認証コンテキストの作成 を参照してください。
たとえば、remote-outbound-connection は以下のように追加できます。OUTBOUND_SOCKET_BINDING_NAME はすでに定義されている outbound-socket-binding で、AUTHENTICATION_CONTEXT_NAME は、elytron サブシステム設定ですでに定義されている authentication-context です。
/subsystem=remoting/remote-outbound-connection=OUTBOUND_CONNECTION_NAME:add(authentication-context=AUTHENTICATION_CONTEXT_NAME, outbound-socket-binding-ref=OUTBOUND_SOCKET_BINDING_NAME)
/subsystem=remoting/remote-outbound-connection=OUTBOUND_CONNECTION_NAME:add(authentication-context=AUTHENTICATION_CONTEXT_NAME, outbound-socket-binding-ref=OUTBOUND_SOCKET_BINDING_NAME)