検索

3.2. Kerberos での管理インターフェースのセキュア化

download PDF

JBoss EAP はセキュリティードメインで Kerberos 認証を提供する他に、Kerberos を使用して管理インターフェースをセキュアにする機能も提供します。

3.2.1. Elytron を使用した Kerberos での管理インターフェースのセキュア化

HTTP 管理インターフェースに Kerberos 認証を設定するには、以下を行います。

  1. アプリケーションに Kerberos 認証を設定する手順 にしたがって、Kerberos 認証を行う http-authentication-factory を作成します。

    重要

    管理インターフェースに Kerberos 認証を設定するとき、JBoss EAP が KDC に対して認証行うために設定したサービスプリンシパルに注意することが大変重要になります。このサービスプリンシパルは service-name/hostname の形式を取ります。JBoss EAP は、web ベースの管理コンソールに対して認証を行うときは HTTP/localhost のように HTTP がサービス名になることを想定し、管理 CLI の場合は remote/localhost のように remote がサービス名になること想定します。

  2. http-authentication-factory を使用するよう、管理 HTTP インターフェースを更新します。

    /core-service=management/management-interface=http-interface:write-attribute(name=http-authentication-factory, value=example-krb-http-auth)

管理 CLI で SASL 認証に対する Kerberos 認証を設定するには、以下を行います。

  1. アプリケーションに Kerberos 認証を設定する手順 にしたがって、セキュリティードメインおよび kerberos-security-factory を作成します。
  2. GSSAPIconfigurable-sasl-server-factory に追加します。

    /subsystem=elytron/configurable-sasl-server-factory=configured:list-add(name=filters, value={pattern-filter=GSSAPI})
  3. セキュリティードメインおよび kerberos-security-factory を使用する sasl-authentication-factory を作成します。

    例: sasl-authentication-factory

    /subsystem=elytron/sasl-authentication-factory=example-sasl-auth:add(sasl-server-factory=configured, security-domain=exampleFsSD, mechanism-configurations=[{mechanism-name=GSSAPI, mechanism-realm-configurations=[{realm-name=exampleFsSD}], credential-security-factory=krbSF}])

  4. sasl-authentication-factory を使用するよう、管理 SASL インターフェースを更新します。

    例: sasl-authentication-factory の更新

    /core-service=management/management-interface=http-interface:write-attribute(name=http-upgrade.sasl-authentication-factory, value=example-sasl-auth)
    
    reload

3.2.2. レガシーのコア管理認証を使用した Kerberos での管理インターフェースのセキュア化

レガシーのコア管理認証を使用して管理インターフェースでの Kerberos 認証を有効にするには、以下の手順を実行する必要があります。

注記

ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は『管理 CLI ガイド』を参照してください。

  1. 関連するシステムプロパティーを有効にします。

    前の項 で説明したとおり、Kerberos サーバーへの接続に必要な JBoss EAP システムプロパティーを有効にします。

  2. Kerberos サーバーアイデンティティーをセキュリティーレルムに追加します。

    Kerberos 認証をセキュリティーレルムで使用できるようにするには、Kerberos サーバーへの接続を追加する必要があります。以下の例は、Kerberos サーバーアイデンティティーを既存の管理レルムに追加する方法を表しています。service-namehostname、および MY-REALM は適切な値に置き換える必要があります。

    サーバーアイデンティティーをセキュリティーレルムに追加する CLI の例

    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos:add()
    
    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos/keytab=service-name\/hostname@MY-REALM:add(path=/home\/username\/service.keytab, debug=true)
    
    reload

    重要

    管理インターフェースに Kerberos 認証を設定するとき、JBoss EAP が KDC に対して認証行うために設定したサービスプリンシパルに注意することが大変重要になります。このサービスプリンシパルは service-name/hostname の形式を取ります。JBoss EAP は、web ベースの管理コンソールに対して認証を行うときは HTTP/localhost のように HTTP がサービス名になることを想定し、管理 CLI の場合は remote/localhost のように remote がサービス名になること想定します。

  3. セキュリティーレルムで認証方法を更新します。

    Kerberos サーバーアイデンティティーが適切に設定された後、使用するためにはセキュリティーレルム認証メソッドを更新する必要があります。

    例: Kerberos 認証のセキュリティーレルムへの追加

    /core-service=management/security-realm=ManagementRealm/authentication=kerberos:add()
    
    reload

    重要

    管理インターフェースにアクセスするとき、JBoss EAP はセキュリティーレルムで定義された認証メカニズムの順番を基に、その順番でユーザーを認証しようとします。

  4. 両方のインターフェースを Kerberos でセキュアにします。

    web ベースの管理コンソールと管理 CLI の両方をセキュアする場合、 Kerberos サーバーアイデンティティーを両方に設定する必要があります。アイデンティティーを追加するには、以下のコマンドを使用します。

    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos/keytab=remote\/hostname@MY-REALM:add(path=/home\/username\/remote.keytab, debug=true)
    
    reload

3.2.3. 管理インターフェースへの接続

管理インターフェースに接続する前に、有効な Kerberos チケットが必要になります。レガシーのセキュリティーソリューションを使用して、セキュリティーレルムが Kerberos によるユーザーの認証に失敗すると、<authentication> 要素に指定されたその他の方法を使用してユーザーの認証を試みます。elytron サブシステムはレガシーのセキュリティーソリューションと同様に動作します。Kerberos 認証メカニズムに失敗すると、認証は管理インターフェースを保護する認証ファクトリーに定義したその他のメカニズムにフォールバックします。通常、DIGEST または BASIC がフォールバックとして使用されます。

ブラウザーを使用して web ベースの管理コンソールに接続する場合、セキュリティーレルムはそのチケットを基にユーザーを認証しようとします。

管理 CLI に接続する場合、GSSAPI 実装がオペレーティングシステムのレベルで管理されたアイデンティティーを利用できるようにするため、 -Djavax.security.auth.useSubjectCredsOnly=false パラメーターを使用する必要があります。環境のセットアップを基にして以下のパラメーターを使用する必要もあります。

-Djava.security.krb5.realm=REALM_NAME
レルム名を指定します。
-Djava.security.krb5.kdc=KDC_HOSTNAME
KDC の場所を指定します。
--no-local-auth
ローカル認証を無効にします。これは、スクリプトを実行している同じマシン上で JBoss EAP インスタンスへの接続を試みる場合に便利です。

コマンド例

$ EAP_HOME/bin/jboss-cli.sh -c -Djavax.security.auth.useSubjectCredsOnly=false --no-local-auth

警告

クライアントとサーバー間で HTTP プロキシーが使用される場合、別の認証されたクライアントと同じサーバー間で認証された接続を共有しないように注意する必要があります。これを怠った場合、サーバーはセキュリティーコンテキストの関連を簡単に認識できないようになります。クライアントとサーバー間における認証の整合性を適切に維持しているプロキシーは、プロキシーからの HTTP 応答で Proxy-support: Session- Based-Authentication HTTP ヘッダーをクライアントに提供します。プロキシーがこのヘッダーとサーバーからの 401 Unauthorized 応答を提供する場合を除き、クライアントはプロキシーを介して SPNEGO HTTP 認証メカニズムを利用してはなりません

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.