Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第20章 Kerberos フラグおよびプリンシパルエイリアスの管理

20.1. サービスおよびホスト向けの Kerberos フラグ

さまざまな Kerberos フラグを使用して、Kerberos チケットの動作に関する特定の側面を定義できます。これらのフラグは、サービスとホストの Kerberos プリンシパルに追加できます。
Identity Management(IdM) のプリンシパルは、以下の Kerberos フラグを受け入れます。
OK_AS_DELEGATE
このフラグを使用して、委譲用に信頼される Kerberos チケットを指定します。
Active Directory(AD) クライアントは、Kerberos チケットで OK_AS_DELEGATE フラグをチェックして、ユーザーの認証情報を特定サーバーに転送または委譲できるかどうかを判断します。AD は、TGT(Ticket-granting Ticket) を OK_AS_DELEGATE が設定されたサービスまたはホストにのみ転送します。このフラグを使用すると、SSSD(System Security Services デーモン) は、IdM クライアントマシンのデフォルトの Kerberos 認証情報キャッシュに AD ユーザー TGT を追加できます。
REQUIRES_PRE_AUTH
このフラグを使用して、事前認証チケットのみがプリンシパルに対して認証できることを指定します。
REQUIRES_PRE_AUTH フラグを設定すると、キー配布センター (KDC) は追加の認証を要求します。KDC は、TGT が事前認証されている場合に限り、REQUIRES_PRE_AUTH が設定されたプリンシパルに TGT を発行します。
REQUIRES_PRE_AUTH を削除して、選択したサービスまたはホストの事前認証を無効にすることができます。これにより、KDC への負荷が軽減されますが、以降の長期的なキーでブルートフォース攻撃の可能性が若干増大します。
OK_TO_AUTH_AS_DELEGATE
OK_TO_AUTH_AS_DELEGATE フラグを使用して、サービスがユーザーの代わりに kerberos チケットを取得できることを指定します。これは、プロトコルの移行を実行するのに十分ですが、ユーザーの代わりに他のチケットを取得するためには、サービスには OK_AS_DELEGATE フラグと、鍵配布センターで許可される対応するポリシー決定が必要です。

20.1.1. Web UI からの Kerberos フラグの設定

OK_AS_DELEGATEREQUIRES_PRE_AUTH、または OK_TO_AUTH_AS_DELEGATE をプリンシパルに追加するには、以下を実行します。
  1. Identity メインタブでアクセス可能な Services サブタブを選択します。

    図20.1 サービスのリスト

    サービスのリスト
  2. フラグを追加するサービスをクリックします。
  3. 設定するオプションのチェックを選択します。たとえば、REQUIRES_PRE_AUTH フラグを設定するには、Requires pre-authentication オプションのチェックを選択します。

    図20.2 REQUIRES_PRE_AUTH フラグの追加

    REQUIRES_PRE_AUTH フラグの追加
    以下の表は、Kerberos フラグの名前と、Web UI での対応する名前を示しています。

    表20.1 WebUI での Kerberos フラグのマッピング

    Kerberos フラグ名 Web UI オプション
    OK_AS_DELEGATE Trusted for delegation
    REQUIRES_PRE_AUTH 認証の事前認証が必要
    OK_TO_AUTH_AS_DELEGATE ユーザーとして認証を信頼

20.1.2. コマンドラインからの Kerberos フラグの設定および削除

フラグをコマンドラインからプリンシパルに追加するか、フラグを削除するには、以下のオプションのいずれかを ipa service-mod コマンドに追加します。
  • OK_AS_DELEGATE:--ok-as-delegate
  • REQUIRES_PRE_AUTH:--requires-pre-auth
  • OK_TO_AUTH_AS_DELEGATE:--ok-to-auth-as-delegate
フラグを追加するには、対応するオプションを 1 に設定します。たとえば、OK_AS_DELEGATE フラグを service/ipa.example.com@EXAMPLE.COM プリンシパルに追加するには、次のコマンドを実行します。
$ ipa service-mod service/ipa.example.com@EXAMPLE.COM --ok-as-delegate=1
フラグを削除するか、無効にするには、対応するオプションを 0 に設定します。たとえば、test/ipa.example.com@EXAMPLE.COM プリンシパルの REQUIRES_PRE_AUTH フラグを無効にするには、次のコマンドを実行します。
$ ipa service-mod test/ipa.example.com@EXAMPLE.COM --requires-pre-auth=0

20.1.3. コマンドラインからの Kerberos フラグの表示

OK_AS_DELEGATE がプリンシパルに現在設定されているかどうかを確認するには、以下を実行します。
  1. kvno ユーティリティーを実行します。
  2. klist -f コマンドを実行します。
OK_AS_DELEGATE は、klist -f 出力の O 文字で表されます。
$ kvno test/ipa.example.com@EXAMPLE.COM
$ klist -f
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@EXAMPLE.COM

Valid starting		Expires			Service principal
02/19/2014 09:59:02	02/20/2014 08:21:33	test/ipa/example.com@EXAMPLE.COM
    Flags: FATO

表20.2 kerberos フラグの省略形

Kerberos フラグ名 省略形
OK_AS_DELEGATE O
REQUIRES_PRE_AUTH A
OK_TO_AUTH_AS_DELEGATE F
プリンシパルに現在設定されているフラグを確認するには、kadmin.local ユーティリティーを使用します。現在のフラグは、kadmin.local 出力の Attributes 行に表示されます。以下に例を示します。
# kadmin.local
kadmin.local: getprinc test/ipa.example.com
Principal: test/ipa.example.com@EXAMPLE.COM
Expiration date: [never]
...
Attributes: REQUIRES_PRE_AUTH OK_AS_DELEGATE OK_TO_AUTH_AS_DELEGATE
Policy: [none]