이 절차에서 교체하려는 마스터 KDC 서버의 이름은 kdc1이며, 새 마스터 KDC가 될 슬레이브 KDC의 이름은 kdc4입니다. 이 절차에서는 증분 전파를 사용 중인 것으로 간주합니다.
시작하기 전에
교체 가능한 슬레이브 KDC 구성 방법 절차를 완료합니다.
root 역할을 맡아야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
kdc4 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
다음 예에서는 두 행의 첫번째 addprinc 명령을 보여 주지만 명령은 한 행에만 입력되어야 합니다.
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:
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
Step 3 of 교체 가능한 슬레이브 KDC 구성 방법에서 마스터 KDC 명령을 이동했습니다.
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개 항목으로 설정합니다.
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_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