この項では、KDCのインストールと初期設定、および管理プリンシパルの作成について説明します。 この作業は、いくつかのステップに分けられます。
RPMのインストール. KDCとして使用するコンピュータに、特別なソフトウェアパッケージをインストールします。 詳細については、46.4.1項 「RPMのインストール」を参照してください。
設定ファイルの変更.
利用目的に応じて、/etc/krb5.confおよび/var/lib/kerberos/krb5kdc/kdc.confファイルを変更する必要があります。 これらのファイルには、KDCに関するすべての情報が保管されています。
Kerberosデータベースの作成. Kerberosでは、すべてのプリンシパルID、および認証する必要があるすべてのプリンシパルの秘密鍵が、データベースに保管および管理されています。
ACLファイルの調整:管理者の追加. KDC上のKerberosデータベースは、リモート管理することができます。 不正なプリンシパルによるデータベースの改ざんを防止するために、KerberosはACL(アクセス制御リスト)を使用します。 管理者プリンシパルにデータベースを管理させるためには、管理者プリンシパルに明示的にリモートアクセスを許可する必要があります。
Kerberosデータベースの調整:管理者の追加. Kerberosを管理するには、最低1つの管理者プリンシパルを実行する必要があります。 このプリンシパルは、KDCを開始する前に追加する必要があります。
Kerberosデーモンの開始. KDCソフトウェアをインストールして、適切な設定を行ったら、Kerberosデーモンを開始して、レルムにKerberosサービスを提供します。
自分用のプリンシパルの作成.
作業を開始する前に、Kerberosソフトウェアをインストールしてください。 KDCで、パッケージkrb5、krb5-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データベースを管理します。 目的に応じて異なるロールを使用することができます。 基本的にロールは、同じ名前を持つけれども、まったく異なるアカウントです。