この手順では、旧マスター KDC サーバー名は、kdc1 です。新しいマスター KDC になるスレーブ KDC には kdc4 という名前が付けられ、元のマスター KDC がスレーブ KDC になります。この手順は、増分伝播を使用していることを想定しています。
始める前に
入れ替え可能なスレーブ KDC を構成する方法の手順を完了します。
root 役割になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。
kdc4# /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
次の例では、addprinc が 2 行で表示されていますが、1 行に入力する必要があります。
kadmin: addprinc -randkey -allow_tgs_req +password_changing_service -clearpolicy \ changepw/kdc4.example.com Principal "changepw/kdc4.example.com@EXAMPLE.COM" created. kadmin: addprinc -randkey -allow_tgs_req -clearpolicy kadmin/kdc4.example.com Principal "kadmin/kdc4.example.com@EXAMPLE.COM" created. kadmin: quit
次の手順は、スレーブサーバー上で強制的に KDC を完全に更新します。
kdc4# svcadm disable network/security/krb5kdc kdc4# rm /var/krb5/principal.ulog
kdc4# /usr/sbin/kproplog -h
kdc4# svcadm enable -r network/security/krb5kdc
kdc4# svcadm disable network/security/krb5kdc kdc4# rm /var/krb5/principal.ulog
kadmin サービスを無効にすると、KDC データベースを一切変更できなくなります。
kdc1# svcadm disable network/security/kadmin kdc1# svcadm disable network/security/krb5kdc
/etc/krb5/kdc.conf 内の sunw_dbprop_master_ulogsize エントリをコメントアウトし、スレーブのポーリング間隔を定義するエントリを追加します。このエントリにより、ポーリング時間が 2 分に設定されます。
kdc1# pfedit /etc/krb5/kdc.conf [kdcdefaults] kdc_ports = 88,750 [realms] EXAMPLE.COM= { profile = /etc/krb5/krb5.conf database_name = /var/krb5/principal acl_file = /etc/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s sunw_dbprop_enable = true # sunw_dbprop_master_ulogsize = 1000 sunw_dbprop_slave_poll = 2m }
マスター KDC のコマンドは、元のマスター KDC から実行しないでください。
kdc1# mv /usr/lib/krb5/kprop /usr/lib/krb5/kprop.save kdc1# mv /usr/lib/krb5/kadmind /usr/lib/krb5/kadmind.save kdc1# mv /usr/sbin/kadmin.local /usr/sbin/kadmin.local.save kdc1# mv /etc/krb5/kadm5.acl /etc/krb5/kadm5.acl.save
サーバーを変更するために、example.com ゾーンファイルを編集して masterkdc のエントリを変更します。
masterkdc IN CNAME kdc4
# svcadm refresh network/dns/server
マスター KDC コマンドは、入れ替え可能なスレーブ KDC を構成する方法のStep 3 で移動しました。
kdc4# mv /usr/lib/krb5/kprop.save /usr/lib/krb5/kprop kdc4# mv /usr/lib/krb5/kadmind.save /usr/lib/krb5/kadmind kdc4# mv /usr/sbin/kadmin.local.save /usr/sbin/kadmin.local kdc4# mv /etc/krb5/kpropd.acl /etc/krb5/kpropd.acl.save
作成された /etc/krb5/kadm5.acl ファイルには、KDC を管理できる主体名がすべて含まれている必要があります。このファイルにはまた、増分伝播に対するリクエストを発行できるすべてのスレーブも記載されているべきです。詳細は、kadm5.acl(4) のマニュアルページを参照してください。
kdc4# pfedit /etc/krb5/kadm5.acl kws/admin@EXAMPLE.COM * kiprop/kdc1.example.com@EXAMPLE.COM p
sunw_dbprop_slave_poll エントリをコメントアウトし、sunw_dbprop_master_ulogsize を定義するエントリを追加します。このエントリにより、ログサイズが 1000 エントリに設定されます。
kdc4# pfedit /etc/krb5/kdc.conf [kdcdefaults] kdc_ports = 88,750 [realms] EXAMPLE.COM= { profile = /etc/krb5/krb5.conf database_name = /var/krb5/principal acl_file = /etc/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s sunw_dbprop_enable = true # sunw_dbprop_slave_poll = 2m sunw_dbprop_master_ulogsize = 1000 }
kdc4# svcadm enable -r network/security/krb5kdc kdc4# svcadm enable -r network/security/kadmin
krb5.keytab ファイルに kiprop 主体を追加すると、増分伝播サービスに対して kpropd デーモンが自身を認証できるようになります。
kdc1# /usr/sbin/kadmin -p kws/admin Authenticating as principal kws/admin@EXAMPLE.COM with password. Enter password: xxxxxxxx kadmin: ktadd kiprop/kdc1.example.com Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: quit
kdc1# pfedit /etc/krb5/kpropd.acl host/kdc1.example.com@EXAMPLE.COM host/kdc2.example.com@EXAMPLE.COM host/kdc3.example.com@EXAMPLE.COM host/kdc4.example.com@EXAMPLE.COM
kdc1# svcadm enable -r network/security/krb5_prop kdc1# svcadm enable -r network/security/krb5kdc