Dans cette procédure, le serveur de KDC maître échangé est appelé kdc1. Le KDC esclave qui devient le nouveau KDC maître est appelé kdc4. Cette procédure suppose que vous utilisez la propagation incrémentielle.
Avant de commencer
Terminez la procédure Configuration d'un KDC échangeable.
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
kdc4 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
L'exemple suivant montre la première commande addprinc sur deux lignes, mais elle doit être saisie sur une seule ligne.
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
Les étapes suivantes forcent une mise à jour complète de KDC sur le serveur esclave.
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
Lorsque vous interrompez le service kadmind, vous empêchez toute modification apportée à la base de données KDC.
kdc1 # svcadm disable network/security/kadmin kdc1 # svcadm disable network/security/krb5kdc
Mettez en commentaire l'entrée sunw_dbprop_master_ulogsize dans /etc/krb5/kdc.conf et ajoutez une entrée qui définit l'intervalle d'interrogation de l'esclave. Cette entrée définit la durée d'interrogation sur deux minutes.
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 }
Commandes le KDC maître ne doivent pas être exécutées à partir de l'ancien KDC maître.
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
Pour changer de serveurs, modifiez le fichier de zone example.com et modifiez l'entrée pour masterkdc.
masterkdc IN CNAME kdc4
# svcadm refresh network/dns/server
Vous avez déplacé les commandes KDC maître dansStep 3 de la sectionConfiguration d'un KDC échangeable,
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
Une fois renseigné, le fichier /etc/krb5/kadm5.acl doit contenir tous les noms de principaux autorisés à administrer le KDC. Ce fichier doit également répertorier tous les esclaves qui peuvent émettre des demandes de propagation incrémentielle. Pour plus d'informations, reportez-vous à la page de manuel kadm5.acl(4).
kdc4 # pfedit /etc/krb5/kadm5.acl kws/admin@EXAMPLE.COM * kiprop/kdc1.example.com@EXAMPLE.COM p
Mettez en commentaire l'entrée sunw_dbprop_slave_poll et ajoutez une entrée qui définit sunw_dbprop_master_ulogsize. Cette entrée définit la taille du journal à 1000 entrées.
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
L'ajout du principal kiprop au fichier krb5.keytab permet au démon kpropd de s'authentifier auprès du service de propagation incrémentielle.
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