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
Serveur NFS = denver.example.com
Client = client.example.com
admin principal = kws/admin
Utilisateur principal = mre
URL de l'aide en ligne = http://docs.oracle.com/cd/E23824_01/html/821-1456/aadmin-23.html
Avant de commencer
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 .
Modifier les noms de domaine et les noms de serveur dans le fichier de configuration Kerberos. Vous pouvez également indiquer le chemin d'accès aux fichiers d'aide pour gkadmin.
kdc1 # pfedit /etc/krb5/krb5.conf [libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.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://www.example.com/doclib/OSMKA/aadmin-23.html
Par défaut, le domaine Kerberos pour le mappage KDC est effectué dans l'ordre suivant :
Définition de la section realms dans krb5.conf.
Recherche d'enregistrements SRV dans le DNS.
Vous pouvez modifier ce comportement en ajoutant dns_lookup_kdc ou dns_fallback à la section libdefaults du fichier krb5.conf. Pour plus d'informations, reportez-vous à krb5.conf(4). Notez que les références sont toujours tentées en premier.
Par défaut, le mappage de l'hôte au domaine est déterminé dans l'ordre suivant :
Si le KDC prend en charge les références, le KDC peut indiquer au client le domaine auquel appartient l'hôte.
La définition de domain_realm dans le fichier krb5.conf.
Le nom de domaine DNS de l'hôte.
Le domaine par défaut.
Vous pouvez modifier ce comportement en ajoutant dns_lookup_kdc ou dns_fallback à la section libdefaults du fichier krb5.conf. Pour plus d'informations, reportez-vous à la page de manuel krb5.conf(4). Notez que les références sont toujours tentées en premier.
Pour une authentification réussie, chaque horloge doit être synchronisée avec l'heure du serveur KDC ne pouvant dépasser un écart maximum défini dans la relation clockskew dans le 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.
denver # /usr/sbin/kadmin -p kws/admin Enter password: xxxxxxxx kadmin:
Pour plus d'informations, reportez-vous à la page de manuel kadmin(1M).
Vous devez créer un principal d'utilisateur uniquement si aucun principal n'est affecté à l'utilisateur associé à cet hôte.
kadmin: addprinc mre Enter password for principal mre@EXAMPLE.COM:/** Type strong password **/ Re-enter password for principal mre@EXAMPLE.COM: xxxxxxxx kadmin:
Si l'accès root non interactif est nécessaire, par exemple pour l'exécution des tâches cron en tant qu'utilisateur root, réalisez cette étape.
Le principal root doit être un principal à deux composants. Le second composant doit être le nom d'hôte du système du client Kerberos pour éviter la création d'un principal root à l'échelle du domaine. 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 root/client.example.com Principal "root/client.example.com" created. kadmin: ktadd root/client.example.com Entry for principal root/client.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 root/client.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 root/client.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
Le principal host est utilisé par les services d'accès à distance pour fournir l'authentification. Le principal permet à root d'acquérir des informations d'identification, si elles n'existent pas déjà dans le fichier keytab.
kadmin: addprinc -randkey host/denver.example.com Principal "host/denver.example.com@EXAMPLE.COM" created. kadmin: ktadd host/denver.example.com Entry for principal host/denver.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/denver.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/denver.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
Cette étape n'est requise que si le client a besoin d'accéder aux systèmes de fichiers NFS à l'aide de l'authentification Kerberos.
kadmin: ktadd nfs/denver.example.com Entry for principal nfs/denver.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 nfs/denver.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 nfs/denver.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
Dans le fichier/etc/nfssec.conf, supprimez le "#" qui met en commentaire les modes de sécurité Kerberos.
# pfedit /etc/nfssec.conf . . # # Uncomment the following lines to use Kerberos V5 with NFS # krb5 390003 kerberos_v5 default - # RPCSEC_GSS krb5i 390004 kerberos_v5 default integrity # RPCSEC_GSS krb5p 390005 kerberos_v5 default privacy # RPCSEC_GSS
Si le service svc:/network/dns/client:default n'est pas activé, activez-le. Pour plus d'informations, reportez-vous à la page de manuel resolv.conf(4).
# svcadm enable network/dns/client:default
# svcadm restart network/rpc/gss
Pour plus d'informations, reportez-vous à la page de manuel warn.conf(4) et à la section Renouvellement automatique de tous les tickets d'octroi de tickets.
Le service Kerberos Microsoft Active Directory (AD) fournit un KDC qui s'exécute sur plusieurs serveurs maîtres. Pour qu'un client Oracle Solaris mette à jour les informations, admin_server ou la déclaration kpasswd_server dans le fichier /etc/krb5/krb5.conf doit reprendre tous les serveurs. Cet exemple montre comment autoriser le client à mettre à jour les informations concernant le KDC partagé par kdc1 et kdc2.
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com admin_server = kdc2.example.com }Exemple 4-5 Configuration d'un client Kerberos pour un KDC non-Oracle Solaris
Un client Kerberos peut être configuré pour travailler avec un KDC non Oracle Solaris, en ajoutant une ligne au fichier /etc/krb5/krb5.conf dans la section realms. Cette ligne change le protocole utilisé lorsque le client est en cours de communication avec le serveur de changement de mot de passe Kerberos. L'extrait suivant montre le format de cette ligne.
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com kpasswd_protocol = SET_CHANGE }Exemple 4-6 Enregistrements DNS TXT pour le mappage de l'hôte et du nom de domaine au domaine Kerberos
@ IN SOA kdc1.example.com root.kdc1.example.com ( 1989020501 ;serial 10800 ;refresh 3600 ;retry 3600000 ;expire 86400 ) ;minimum IN NS kdc1.example.com. kdc1 IN A 192.146.86.20 kdc2 IN A 192.146.86.21 _kerberos.example.com. IN TXT "EXAMPLE.COM" _kerberos.kdc1.example.com. IN TXT "EXAMPLE.COM" _kerberos.kdc2.example.com. IN TXT "EXAMPLE.COM"Exemple 4-7 Enregistrements DNS SRV pour les emplacements de serveur Kerberos
Cet exemple définit les enregistrements pour l'emplacement des KDC, du serveur admin et du serveur kpasswd, respectivement.
@ IN SOA kdc1.example.com root.kdc1.example.com ( 1989020501 ;serial 10800 ;refresh 3600 ;retry 3600000 ;expire 86400 ) ;minimum IN NS kdc1.example.com. kdc1 IN A 192.146.86.20 kdc2 IN A 192.146.86.21 _kerberos._udp.EXAMPLE.COM IN SRV 0 0 88 kdc2.example.com _kerberos._tcp.EXAMPLE.COM IN SRV 0 0 88 kdc2.example.com _kerberos._udp.EXAMPLE.COM IN SRV 1 0 88 kdc1.example.com _kerberos._tcp.EXAMPLE.COM IN SRV 1 0 88 kdc1.example.com _kerberos-adm._tcp.EXAMPLE.COM IN SRV 0 0 464 kdc1.example.com _kpasswd._udp.EXAMPLE.COM IN SRV 0 0 464 kdc1.example.com