Dans cette procédure, 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
admin principal = kws/admin
URL de l'aide en ligne = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
Avant de commencer
L'hôte soit configuré pour utiliser DNS. Pour obtenir des instructions de nommage spécifiques afin de déterminer si ce maître doit être échangeable, reportez-vous à la section Echange d'un KDC maître et d'un KDC esclave.
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 .
Suivez les instructions de la section Installation du package KDC.
Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel krb5.conf(4).
Dans cet exemple, l'administrateur modifie les lignes pour default_realm, kdc, admin_ server et toutes les entrées domain_realm et édite l'entrée help_url.
kdc1 # pfedit /etc/krb5/krb5.conf ... [libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc1.example.com admin_server = kdc1.example.com } [domain_realm] .example.com = EXAMPLE.COM # # if the domain name and realm name are equivalent, # this entry is not needed # [logging] default = FILE:/var/krb5/kdc.log kdc = FILE:/var/krb5/kdc.log [appdefaults] gkadmin = { help_url = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html }
Pour plus d'informations sur ce fichier, reportez-vous à la page de manuel kdc.conf(4).
Dans cet exemple, en plus de la définition du nom de domaine, l'administrateur modifie la propagation incrémentielle et erreurs de journalisation.
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 }
La commande kdb5_util crée la base de données KDC. En outre, lorsqu'elle est utilisée avec l'option –s, cette commande crée un fichier stash utilisé pour authentifier le KDC à lui-même avant le lancement des démons kadmind et krb5kdc. Pour plus d'informations, reportez-vous aux pages de manuel kdb5_util(1M), kadmind(1M) etkrb5kdc(1M).
kdc1 # /usr/sbin/kdb5_util create -s Initializing database '/var/krb5/principal' for realm 'EXAMPLE.COM' master key name 'K/M@EXAMPLE.COM' You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter KDC database master key:/** Type strong password **/ Re-enter KDC database master key to verify: xxxxxxxx
# getent hosts IP-address-of-KDC IP-address-of-KDC kdc/** This entry does not include FQDN **/Ensuite, ajoutez le FQDN sous forme de première entrée KDC de votre fichier /etc/hosts, par exemple :
IP-address-of-KDC kdc.kdc-principal.example.com kdc
Une fois renseigné, le fichier /etc/krb5/kadm5.acl doit contenir tous les noms de principaux autorisés à administrer le KDC.
kws/admin@EXAMPLE.COM *
L'entrée précédente donne au principal kws/admin du domaine EXAMPLE.COM la possibilité de modifier les principaux et les stratégies dans le KDC. La valeur par défaut de l'entrée du principal est un astérisque (*), qui renvoie à tous les principaux admin. Cette entrée peut se présenter un risque en matière de sécurité. Modifiez le fichier de façon explicite afin de pouvoir répertorier chaque principal admin ainsi que leurs droits. Pour plus d'informations, reportez-vous à la page de manuel kadm5.acl(4).
Vous pouvez ajouter autant de principaux admin que nécessaire. Vous devez ajouter au moins un principal admin pour terminer le processus de configuration du KDC. Pour cet exemple, un principal kws/admin est ajouté. Vous pouvez remplacer "kws" par le nom de principal approprié.
kadmin.local: addprinc kws/admin Enter password for principal kws/admin@EXAMPLE.COM:/** Type strong password **/ Re-enter password for principal kws/admin@EXAMPLE.COM: xxxxxxxx Principal "kws/admin@EXAMPLE.COM" created. kadmin.local:
Pour plus d'informations, reportez-vous à la page de manuel kadmin(1M).
kdc1 # svcadm enable -r network/security/krb5kdc kdc1 # svcadm enable -r network/security/kadmin
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
L'hôte principal est utilisé par les applications utilisant Kerberos, notamment kprop, pour propager les modifications aux KDC esclaves. Ce principal est également utilisé pour fournir un accès à distance sécurisé au serveur KDC à l'aide d'applications de réseau, comme ssh. 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/kdc1.example.com Principal "host/kdc1.example.com@EXAMPLE.COM" created. kadmin:
Ce principal est utilisé par l'utilitaire kclient au cours de l'installation d'un client Kerberos. Si vous n'avez pas l'intention d'utiliser cet utilitaire, vous n'avez pas besoin d'ajouter le principal. Les utilisateurs de l'utilitaire kclient doivent utiliser ce mot de passe. Pour plus d'informations, reportez-vous à la page de manuel kclient(1M).
kadmin: addprinc clntconfig/admin Enter password for principal clntconfig/admin@EXAMPLE.COM:/** Type strong password **/ Re-enter password for principal clntconfig/admin@EXAMPLE.COM: xxxxxxxx Principal "clntconfig/admin@EXAMPLE.COM" created. kadmin:
Modifiez le fichier kadm5.acl afin d'accorder au principal clntconfig les privilèges suffisants pour réaliser les tâches d'installation kclient.
# pfedit /etc/krb5/kadm5.acl ... clntconfig/admin@EXAMPLE.COM acdilm
L'ajout du principal d'hôte au fichier keytab permet aux serveurs d'application d'utiliser automatiquement ce principal, comme par exemple sshd.
kadmin: ktadd host/kdc1.example.com Entry for principal host/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 host/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 host/kdc1.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
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.
Pour assurer la redondance, veillez à installer au moins un KDC esclave. Suivez les instructions de la section Utilisation de kdcmgr pour configurer un KDC esclave ou Configuration manuelle d'un KDC esclave.