KDCの設定

この項では、KDCのインストールと初期設定、および管理プリンシパルの作成について説明します。 この作業は、いくつかのステップに分けられます。

  1. RPMのインストール.  KDCとして使用するコンピュータに、特別なソフトウェアパッケージをインストールします。 詳細については、46.4.1項 「RPMのインストール」を参照してください。

  2. 設定ファイルの変更.  利用目的に応じて、/etc/krb5.confおよび/var/lib/kerberos/krb5kdc/kdc.confファイルを変更する必要があります。 これらのファイルには、KDCに関するすべての情報が保管されています。

  3. Kerberosデータベースの作成.  Kerberosでは、すべてのプリンシパルID、および認証する必要があるすべてのプリンシパルの秘密鍵が、データベースに保管および管理されています。

  4. ACLファイルの調整:管理者の追加.  KDC上のKerberosデータベースは、リモート管理することができます。 不正なプリンシパルによるデータベースの改ざんを防止するために、KerberosはACL(アクセス制御リスト)を使用します。 管理者プリンシパルにデータベースを管理させるためには、管理者プリンシパルに明示的にリモートアクセスを許可する必要があります。

  5. Kerberosデータベースの調整:管理者の追加.  Kerberosを管理するには、最低1つの管理者プリンシパルを実行する必要があります。 このプリンシパルは、KDCを開始する前に追加する必要があります。

  6. Kerberosデーモンの開始.  KDCソフトウェアをインストールして、適切な設定を行ったら、Kerberosデーモンを開始して、レルムにKerberosサービスを提供します。

  7. 自分用のプリンシパルの作成. 

RPMのインストール

作業を開始する前に、Kerberosソフトウェアをインストールしてください。 KDCで、パッケージkrb5krb5-server、およびkrb5-clientをインストールします。

データベースの設定

次に、Kerberosがプリンシパルに関するすべての情報を保管するデータベースを初期化します。 テープへのバックアップ時など、データベースを間違って公開することを防ぐために使用する、データベースのマスタキーを設定します。 マスタキーはパスフレーズから取得され、stashファイルに格納されます。 こうすることによって、KDCの再起動時に毎回パスワードを入力する手間を省くことができます。 パスフレーズには、適当に本を開いたページにある語句など、類推しにくいフレーズを使用してください。

テープにKerberosデータベース(/var/lib/kerberos/krb5kdc/principal)をバックアップする場合、stashファイル(/var/lib/kerberos/krb5kdc/.k5.EXAMPLE.COM)をバックアップしてはいけません。 そうしないと、テープを読み取れるユーザは誰でもデータベースを参照できてしまいます。 また、データベースのクラッシュ後にテープからデータベースを復元する場合、元のパスフレーズを指定する必要があります。そのため、パスフレーズをどこか安全な場所に保管しておくことをお勧めします。

stashファイルとデータベースを作成するには、次のコマンドを実行してください。

$> kdb5_util create -r EXAMPLE.COM -s
Initializing database '/var/lib/kerberos/krb5kdc/principal' for realm 'EXAMPLE.COM',
master key name 'K/M@EXAMPLE.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:  <= Type the master password.
Re-enter KDC database master key to verify:  <= Type it again.
$>
   

実行結果を確認するには、次のコマンドを使用します。

$>kadmin.local
kadmin> listprincs 
K/M@EXAMPLE.COM
kadmin/admin@EXAMPLE.COM
kadmin/changepw@EXAMPLE.COM
krbtgt/EXAMPLE.COM@EXAMPLE.COM

表示された内容から、データベース中にいくつかのプリンシパルがあることが分かります。 これらのプリンシパルは、Kerberos内部で使われます。

プリンシパルの作成

次に、日常作業用とKerberos関連の管理作業用の2つのKerberosプリンシパルを自分用に作成します。 ここでは、ログイン名としてnewbieを使用し、次の操作を行います。

kadmin.local

kadmin> ank newbie
newbie@EXAMPLE.COM's Password: <type password here>
Verifying password: <re-type password here>

次に、kadminプロンプトから「anknewbie/admin」と入力し、newbie/adminと言う名前のプリンシパルを作成します。 ユーザ名の後に付けられているadminは、ロールを表しています。 以降、このロールを使ってKerberosデータベースを管理します。 目的に応じて異なるロールを使用することができます。 基本的にロールは、同じ名前を持つけれども、まったく異なるアカウントです。

KDCの開始

KDCデーモンとkadminデーモンを開始します。 これらのデーモンを手動で開始するには、rckrb5kdc start」および「rckadmind startを入力します。 また、insserv krb5kdcおよびinsserv kadmindコマンドを使ってサーバコンピュータをリブートした場合、デフォルトではKDCとkadmindが開始されます。