マスター KDC の Kerberos データベースをスレーブ KDC に伝播する処理は、構成タスクの中でもっとも重要なものの 1 つです。伝播の頻度が低いと、マスター KDC とスレーブ KDC が同期しなくなります。そのため、マスター KDC が停止した場合、スレーブ KDC には最新のデータベース情報が存在しません。また、負荷を分散するためにスレーブ KDC がマスター KDC として構成されている場合も、そのスレーブ KDC をマスター KDC として使用するクライアントは最新情報を取得できません。
伝播が十分な頻度で実行されることを確認するか、または Kerberos データベースを変更する頻度に基づいてサーバーの増分伝播を構成してください。増分伝播は、その他の伝播方法より優先されます。データベースの手動伝播では必要な管理オーバーヘッドが増え、また完全伝播は非効率的です。
注意 - 定期的にスケジュールされた伝播の前に Kerberos データベースに重要な更新を追加した場合は、データ損失を回避するために、データベースを手動で伝播するようにしてください。 |
スレーブ KDC の kpropd.acl ファイルの各行には、ホスト主体名と、伝播された最新のデータベースの受信元となるシステムが指定されています。マスター KDC を使用してすべてのスレーブ KDC に伝播する場合は、各スレーブ KDC の kpropd.acl ファイルに対してマスター KDC の主体名だけを指定する必要があります。
ただし、このガイドで説明されている Kerberos のインストールやそれ以降の構成手順では、マスター KDC とスレーブ KDC 上で同じ kpropd.acl ファイルを使用するように指示しています。このファイルには、すべての KDC ホスト主体名が含まれます。この構成を使用すると、伝播元の KDC が一時的に使用できなくなったときでも、任意の KDC から伝播することができます。すべての KDC 上に同一コピーが存在すると保守が容易になります。
kprop_script コマンドは、kprop コマンドを使用して Kerberos データベースをほかの KDC に伝播します。kprop_script コマンドをスレーブ KDC 上で実行すると、そのスレーブ KDC の Kerberos データベースのコピーがほかの KDC に伝播されます。kprop_script は引数として、伝播する KDC を示す、スペースで区切られたホスト名のリストを受け入れます。
kprop_script を実行すると、Kerberos データベースのバックアップが /var/krb5/slave_datatrans ファイルに作成され、指定した KDC にそのファイルがコピーされます。Kerberos データベースは、伝播が完了するまでロックされます。
マスター KDC を構成するときは、cron ジョブ内に kprop_script コマンドを設定して、Kerberos データベースを /var/krb5/slave_datatrans ダンプファイルに自動的にバックアップし、それをスレーブ KDC に伝播します。ただし、他のファイルと同様に、Kerberos データベースは壊れることがあります。データベースの次回の自動伝播によって最新のコピーがインストールされるため、スレーブ KDC 上ではデータ破損は問題になりません。ただし、マスター KDC のデータが壊れた場合は、壊れたデータベースが次回の伝播ですべてのスレーブ KDC に伝播されます。また、壊れたバックアップによって、マスター KDC 上の以前の壊れていないバックアップファイルも上書きされます。
このシナリオから保護するには、cron ジョブを設定して slave_datatrans ダンプファイルを定期的に別の場所にコピーするか、または kdb5_util の dump コマンドを使用して別の個別のバックアップコピーを作成します。これにより、データベースが壊れた場合は、kdb5_util の load コマンドを使用してマスター KDC 上の最新のバックアップを復元できます。
次の点も重要です。データベースダンプファイルには主体鍵が含まれているため、許可されないユーザーがアクセスできないように、ファイルを保護する必要があります。デフォルトでは、データベースダンプファイルの読み取り権および書き込み権は、root にのみ与えられます。不正なアクセスから保護するには、転送されているデータを暗号化する kprop コマンドを使用してデータベースダンプファイルを伝播します。また、kprop はデータをスレーブ KDC だけに伝播するため、データベースダンプファイルが間違って許可されないホストに送信される可能性が最小限になります。
使用例 18 Kerberos データベースの手動でのバックアップデータベースをバックアップするには、kdb5_util コマンドの dump コマンドを使用します。このコマンドは、root によって所有されているディレクトリで実行します。
# /usr/sbin/kdb5_util dump
次の例では、Kerberos データベースは dumpfile と呼ばれるファイルにバックアップされます。–verbose オプションが指定されているため、各主体はバックアップされるときに出力されます。主体が指定されていないため、データベース全体がバックアップされます。
# kdb5_util dump -verbose /var/user/kadmin/dumpfile kadmin/kdc1.corp.example.com@CORP.EXAMPLE.COM krbtgt/CORP.EXAMPLE.COM@CORP.EXAMPLE.COM kadmin/history@CORP.EXAMPLE.COM pak/admin@CORP.EXAMPLE.COM pak@CORP.EXAMPLE.COM changepw/kdc1.corp.example.com@CORP.EXAMPLE.COM
次の例では、ダンプには pak および pak/admin 主体のみが含まれます。
# kdb5_util dump -verbose pakfile pak/admin@CORP.EXAMPLE.COM pak@CORP.EXAMPLE.COM pak/admin@CORP.EXAMPLE.COM pak@CORP.EXAMPLE.COM
詳細は、kdb5_util(1M) のマニュアルページを参照してください。