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)

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)

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 が設定されている。

手順

  1. コネクターの socket-binding を作成します。以下のコマンドは、ポート 11199 でリッスンする oneWayBinding バインディングを定義します。

    /socket-binding-group=standard-sockets/socket-binding=oneWayBinding:add(port=11199)
  2. SASL 認証ファクトリー、以前に作成したソケットバインディング、および SSL コンテキストを参照するコネクターを作成します。

    /subsystem=remoting/connector=oneWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=oneWayBinding,ssl-context=SSL_CONTEXT)
    重要

    security-realmssl-context両方 が定義されている場合、JBoss EAP は ssl-context によって提供される SSL / TLS 設定を使用します。

  3. サーバー証明書を信頼するようにクライアントを設定します。汎用クライアントの例は、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-storekey-manager を設定している。
  • サーバーの trust-storetrust-manager が設定されている。
  • 定義された key-managertrust-manager を参照する server-ssl-context が設定されている。

手順

  1. コネクターの socket-binding を作成します。以下のコマンドは、ポート 11199 でリッスンする twoWayBinding バインディングを定義します。

    /socket-binding-group=standard-sockets/socket-binding=twoWayBinding:add(port=11199)
  2. SASL 認証ファクトリー、以前に作成したソケットバインディング、および SSL コンテキストを参照するコネクターを作成します。

    /subsystem=remoting/connector=twoWayConnector:add(sasl-authentication-factory=SASL_FACTORY,socket-binding=twoWayBinding,ssl-context=SSL_CONTEXT)
    重要

    security-realmssl-context両方 が定義されている場合、JBoss EAP は ssl-context によって提供される SSL / TLS 設定を使用します。

  3. サーバー証明書を信頼するようクライアントを設定し、その証明書をサーバーへ提示します。

    双方向 SSL / TLS 認証を完了するには、信頼されたクライアント証明書をサーバーに提示するようにクライアントを設定する必要があります。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。汎用クライアントの例は、Elytron Client Side Two Way Example を参照してください。この例では、クライアントの trust-storekey-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_NAMEundertow リスナーを参照します。また、SASL_FACTORY_NAMEelytron サブシステムにすでに定義された認証ファクトリーです。

/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 メカニズムを指定できます。

前提条件

手順

  1. https-listener が SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }

    上記のコマンドは、https-listener が SSL 設定の ApplicationRealm レガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron の ssl-context を同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。

    注記

    結果が undefined である場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。

  2. レガシーセキュリティーレルムへの参照を削除し、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
  3. HTTPS リスナーおよび SASL 認証ファクトリーを参照する HTTP コネクターを作成します。

    /subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
  4. サーバーをリロードします。

    reload
  5. サーバー証明書を信頼するようにクライアントを設定します。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。

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 メカニズムを指定できます。

前提条件

手順

  1. https-listener が SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }

    上記のコマンドは、https-listener が SSL 設定の ApplicationRealm レガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron の ssl-context を同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。

    注記

    結果が undefined である場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。

  2. レガシーセキュリティーレルムへの参照を削除し、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
  3. HTTPS リスナーおよび SASL 認証ファクトリーを参照する HTTP コネクターを作成します。

    /subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
  4. サーバーをリロードします。

    reload
  5. サーバー証明書を信頼するようクライアントを設定し、その証明書をサーバーへ提示します。

    信頼できるクライアント証明書をサーバーへ提示するようにクライアントを設定して、双方向 SSL/TLS 認証を完了します。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。

双方向 SSL/TLS がリモーティング HTTP コネクターで有効化されるようになりました。

重要

security-realmssl-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)
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.