第20章 ポリシー: Kerberos ドメインの管理
Kerberos 認証は、IdM ドメイン内の認証の中核です。IdM サーバーは実際には、内部で Kerberos サーバーを実行します。この Kerberos サーバーは、チケットおよびキータブを管理するカスタムポリシー用に設定できます。
Kerberos の概念に関する詳細情報は、http://web.mit.edu/kerberos/www/ を参照してください。
重要
Identity Management には、Kerberos ポリシーの管理に使用する独自のコマンドラインツールがあります。IdM Kerberos 設定の管理には、kadmin または kadmin.local は 使わないで ください。
20.1. Kerberos について
Kerberos は、サービスとユーザーの間で認証層を提供します。Kerberos は認証を 1 つの場所に集中化します。ユーザーが Kerberos サーバーに対して認証を行い、そのユーザーがネットワーク上のリソースにアクセスしようとすると、そのリソースは保存されたユーザー認証情報の キー配布センター (KDC) を確認できます。これにより、ユーザーは認証情報を個別に指定しなくても、複数のリソースにアクセスできます。
相互を認識しているユーザーとサービス、組み合わせたすべての KDC および Kerberos サーバーが レルム を構成します。レルム内の各ユーザー、マシン、およびサービスは、プリンシパル と呼ばれる一意の名前で識別されます。ユーザーまたはサービスはプリンシパルと検証認証情報 (通常はパスワード) を使用して KDC に対する認証を行います。KDC と共有される認証情報はキーであり、キーテーブルまたはキータブと呼ばれるファイルに保存されます。
KDC がユーザーのアイデンティティーを検証すると、チケット が発行されます。チケットは、レルムのサービスおよびマシンへの長期パスです。KDC は、TGT (Ticket-granting Ticket)と呼ばれる特殊な種類のチケットを発行します。ユーザーが Kerberos レルム内のリソースにアクセスしようとすると、リソースはチケットに対して要求を送信します。TGT は、リソースがユーザーの認証およびアクセス許可すのためのリソース固有のチケット発行に使用されます。
注記
IdM クライアントを最初に設定すると、ホストプリンシパルがセットアップスクリプトによって自動的に取得され、
/etc/krb5.keytab
ファイルに保存されます。このホストプリンシパルはホストレコードに格納されるため、ローカルサービスコマンドをこのプリンシパルと使用できません。これにより、IdM レルムで機能するクライアントが準備されます。
20.1.1. プリンシパル名
プリンシパルはユーザーやサービスだけでなく、そのエンティティーが属するレルムも特定します。プリンシパル名は、識別子とレルムの 2 つからなります。
identifier@REALM
ユーザーの場合、識別子 は Kerberos ユーザー名のみになります。サービスの場合、識別子 はサービス名と、それが実行するマシンのホスト名の組み合わせです。
service/FQDN@REALM
サービス名は、host、ldap、http、dns など、サービスタイプに固有の大文字と小文字を区別する文字列です。すべてのサービスに明らかなプリンシパル識別子があるわけではありません。たとえば、
sshd
デーモンはホストサービスプリンシパルを使用します。
ホストプリンシパルは通常、
/etc/krb5.keytab
に保存されます。
Kerberos がチケットを要求する際は常に、ドメイン名のエイリアス (DNS CNAME レコード) を対応する DNS アドレス (A または AAAA レコード) に解決します。アドレスレコードからのホスト名は、サービスまたはホストプリンシパルが作成される際に使用されます。
以下に例を示します。
www.example.com CNAME web-01.example.com web-01.example.com A 192.0.2.145
サービスは、ホストの CNAME エイリアスを使ってホストに接続を試みます。
$ ssh www.example.com
Kerberos サーバーは解決されたホスト名 web-01.example.com@EXAMPLE.COM のチケットを要求するため、ホストプリンシパルは host/web-01.example.com@EXAMPLE.COM である必要があります。
20.1.2. キータブの保護について
キータブファイルを保護するには、パーミッションと所有権をリセットして、ファイルへのアクセスをキータブ所有者のみに制限します。たとえば、Apache キータブ (
/etc/httpd/conf/ipa.keytab
) の所有者を apache
に設定し、モードを 0600
に設定します。