Dans cette procédure, un nouveau KDC esclave nommé kdc2 est configuré. En outre, la propagation incrémentielle est configurée. Cette procédure utilise les paramètres de configuration ci-dessous :
Nom de domaine = EXAMPLE.COM
Nom de domaine DNS = example.com
KDC maître = kdc1.example.com
KDC esclave = kdc2.example.com
admin principal = kws/admin
Avant de commencer
Le KDC maître est configuré. Si cet esclave doit être échangeable, suivez les instructions de la section Echange d'un KDC maître et d'un KDC esclave.
Vous devez prendre le rôle root sur le serveur KDC. 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 .
Vous devez vous connecter à l'aide de l'un des noms de principal admin que vous avez créé lors de la configuration du KDC maître.
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
Pour plus d'informations, reportez-vous à la page de manuel kadmin(1M).
Pour que l'esclave fonctionne, il doit avoir un hôte principal. Notez que lorsque l'instance de principal est un nom d'hôte, le nom de domaine complet (FQDN) doit être spécifié en minuscules, quelle que soit la casse du nom de domaine dans le service de noms.
kadmin: addprinc -randkey host/kdc2.example.com Principal "host/kdc2.example.com@EXAMPLE.COM" created. kadmin:
Le principal kiprop est utilisé pour autoriser la propagation incrémentielle à partir du KDC maître.
kadmin: addprinc -randkey kiprop/kdc2.example.com Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created. kadmin:
kadmin: quit
Vous devez ajouter une entrée pour chaque esclave. Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel krb5.conf(4).
kdc1 # pfedit /etc/krb5/krb5.conf . . [realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com }
Cette entrée permet au KDC maître de recevoir des demandes de propagation incrémentielle pour le serveur kdc2.
kdc1 # pfedit /etc/krb5/kadm5.acl */admin@EXAMPLE.COM * kiprop/kdc2.example.com@EXAMPLE.COM p
kdc1 # svcadm restart network/security/kadmin
Chaque esclave KDC doit contenir des informations à jour sur les serveur KDC maître. Vous pouvez utiliser ftp ou tout autre mécanisme de transfert similaire pour obtenir des copies des fichiers suivants à partir du KDC maître :
/etc/krb5/krb5.conf
/etc/krb5/kdc.conf
Ces informations doivent être mises à jour sur tous les serveurs KDC esclaves.
kdc2 # pfedit /etc/krb5/kpropd.acl host/kdc1.example.com@EXAMPLE.COM host/kdc2.example.com@EXAMPLE.COM
Un fichier kadm5.acl non modifié ressemble à l'exemple suivant :
kdc2 # pfedit /etc/krb5/kadm5.acl */admin@___default_realm___ *
Si le fichier contient des entrées kiprop, supprimez-les.
Remplacez l'entréesunw_dbprop_master_ulogsize par une entrée qui définit l'intervalle d'interrogation de l'esclave. L'entrée suivante 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_slave_poll = 2m }
Connectez-vous à l'aide de l'un des noms de principal admin créés lors de la configuration du KDC maître.
kdc2 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
Cette entrée permet à la commande kprop et à d'autres applications utilisant Kerberos de fonctionner. Notez que lorsque l'instance de principal est un nom d'hôte, le nom de domaine complet (FQDN) doit être spécifié en minuscules, quelle que soit la casse du nom de domaine dans le service de noms. Pour plus d'informations, reportez-vous à la page de manuel kprop(1M).
kadmin: ktadd host/kdc2.example.com Entry for principal host/kdc2.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 host/kdc2.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 host/kdc2.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
L'ajout du principal kiprop au fichier krb5.keytab permet à la commande kpropd de s'authentifier elle-même lors du lancement de la propagation incrémentielle.
kadmin: ktadd kiprop/kdc2.example.com Entry for principal kiprop/kdc2.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/kdc2.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/kdc2.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
kdc2 # svcadm enable network/security/krb5_prop
kdc2 # /usr/sbin/kdb5_util stash kdb5_util: Cannot find/read stored master key while reading master key kdb5_util: Warning: proceeding without master key Enter KDC database master key: xxxxxxxx
Pour plus d'informations, reportez-vous à la page de manuel kdb5_util(1M).
Pour une authentification réussie, chaque horloge doit être réglée sur l'heure par défaut définie dans la section libdefaults du fichier krb5.conf. Pour plus d'informations, reportez-vous à la page de manuel krb5.conf(4). Pour plus d'informations sur le NTP (Network Time Protocol), reportez-vous à la section Synchronisation des horloges entre les KDC et les clients Kerberos.
kdc2 # svcadm enable network/security/krb5kdc
Etapes suivantes
Revenir à la NTP KDC maître KDC après la le serveur KDC maître à un client NTP sur le serveur NTP.