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)は、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 フラグの追加
    以下の表では、Web UI で Kerberos フラグと対応する名前を記載しています。

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

    Kerberos フラグ名 Web UI オプション
    OK_AS_DELEGATE 委譲用に信頼されている
    REQUIRES_PRE_AUTH 認証の事前認証が必要
    OK_TO_AUTH_AS_DELEGATE ユーザーとして認証を信頼

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

コマンドラインからプリンシパルにフラグを追加するか、フラグを削除するには、ipa service-mod コマンドに以下のいずれかのオプションを追加します。
  • --ok-as-delegate for OK_AS_DELEGATE
  • --requires-pre-auth for REQUIRES_PRE_AUTH
  • --ok-to-auth-as-delegate for 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 出力 の属性 行に表示されます。以下に例を示します。
# 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]