Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Administration d'Oracle Solaris : services de sécurité Oracle Solaris 11 Information Library (Français) |
Partie I Présentation de la sécurité
1. Services de sécurité (présentation)
Partie II Sécurité du système, des fichiers et des périphériques
2. Gestion de la sécurité de la machine (présentation)
3. Contrôle de l'accès aux systèmes (tâches)
4. Service d'analyse antivirus (tâches)
5. Contrôle de l'accès aux périphériques (tâches)
6. Utilisation de l'outil de génération de rapports d'audit de base (tâches)
7. Contrôle de l'accès aux fichiers (tâches)
Partie III Rôles, profils de droits et privilèges
8. Utilisation des rôles et des privilèges (présentation)
9. Utilisation du contrôle d'accès basé sur les rôles (tâches)
10. Attributs de sécurité dans Oracle Solaris (référence)
Partie IV Services cryptographiques
11. Structure cryptographique (présentation)
12. Structure cryptographique (tâches)
13. Structure de gestion des clés
Partie V Services d'authentification et communication sécurisée
14. Authentification des services réseau (tâches)
17. Utilisation de Secure Shell (tâches)
19. Introduction au service Kerberos
20. Planification du service Kerberos
21. Configuration du service Kerberos (tâches)
Configuration du service Kerberos (liste des tâches)
Configuration de services Kerberos supplémentaires (liste des tâches)
Configuration des serveurs KDC
Procédure de configuration automatique d'un KDC maître
Procédure de configuration interactive d'un KDC maître
Procédure de configuration manuelle d'un KDC maître
Procédure de configuration d'un KDC pour l'utilisation d'un serveur de données LDAP
Procédure de configuration automatique d'un KDC esclave
Procédure de configuration interactive d'un KDC esclave
Procédure de configuration manuelle d'un KDC esclave
Procédure d'actualisation des clés TGS sur un serveur maître
Configuration de l'authentification inter-domaine
Procédure d'établissement de l'authentification inter-domaine hiérarchique
Procédure d'établissement de l'authentification inter-domaine directe
Configuration des serveurs d'application réseau Kerberos
Procédure de configuration d'un serveur d'application réseau Kerberos
Procédure d'utilisation du service de sécurité générique avec Kerberos lors de l'exécution FTP
Configuration de serveurs NFS Kerberos
Procédure de configuration des serveurs NFS Kerberos
Procédure de création d'une table d'informations d'identification
Procédure d'ajout d'une entrée unique à la table d'informations d'identification
Procédure de mappage d'informations d'identification entre domaines
Procédure de configuration d'un environnement NFS sécurisé avec plusieurs modes de sécurité Kerberos
Configuration des clients Kerberos
Configuration des clients Kerberos (liste des tâches)
Procédure de création d'un profil d'installation de client Kerberos
Procédure de configuration automatique d'un client Kerberos
Procédure de configuration interactive d'un client Kerberos
Procédure de configuration d'un client Kerberos pour un serveur Active Directory
Procédure de configuration manuelle d'un client Kerberos
Procédure de désactivation de la vérification du ticket d'octroi de tickets
Procédure d'accès à un système de fichiers NFS protégé par Kerberos en tant qu'utilisateur root
Procédure de configuration de la migration automatique des utilisateurs dans un domaine Kerberos
Synchronisation des horloges entre les KDC et les clients Kerberos
Echange d'un KDC maître et d'un KDC esclave
Procédure de configuration d'un KDC échangeable
Procédure d'échange d'un KDC maître et d'un KDC esclave
Administration de la base de données Kerberos
Sauvegarde et propagation de la base de données Kerberos
Procédure de sauvegarde de la base de données Kerberos
Procédure de restauration de la base de données Kerberos
Procédure de conversion d'une base de données Kerberos après une mise à niveau du serveur
Procédure de reconfiguration d'un KDC maître pour l'utilisation de la propagation incrémentielle
Procédure de reconfiguration d'un KDC esclave pour l'utilisation de la propagation incrémentielle
Procédure de configuration d'un KDC esclave pour l'utilisation de la propagation complète
Procédure de vérification de la synchronisation des serveurs KDC
Procédure de propagation manuelle de la base de données Kerberos aux KDC esclaves
Configuration d'une propagation parallèle
Etapes de configuration d'une propagation parallèle
Administration du fichier stash
Procédure de suppression d'un fichier stash
Procédure d'utilisation d'une nouvelle clé principale
Gestion d'un KDC sur un serveur d'annuaire LDAP
Procédure de suppression d'un domaine d'un serveur d'annuaire LDAP
Renforcement de la sécurité des serveurs Kerberos
Procédure d'activation des applications utilisant Kerberos uniquement
Procédure de restriction de l'accès aux serveurs KDC
Procédure d'utilisation d'un fichier dictionnaire pour augmenter la sécurité de mot de passe
22. Messages d'erreur et dépannage de Kerberos
23. Administration des principaux et des stratégies Kerberos (tâches)
24. Utilisation des applications Kerberos (tâches)
25. Service Kerberos (référence)
Partie VII Audit dans Oracle Solaris
Les clients Kerberos incluent tout hôte qui n'est pas un serveur KDC sur le réseau et qui doit utiliser les services Kerberos. Cette section décrit les procédures d'installation d'un client Kerberos, ainsi que des informations spécifiques sur l'utilisation de l'authentification root pour monter des systèmes de fichiers NFS.
La liste des tâches ci-dessous comprend toutes les procédures associées à la configuration des clients Kerberos. Chaque ligne comprend un identificateur de tâche, une description de la raison pour laquelle cette tâche doit être effectuée, suivie d'un lien vers la tâche.
|
Cette procédure permet de créer un profil kclient à utiliser lorsque vous installez un client Kerberos. L'utilisation du profil kclient permet de réduire les risques de faute de frappe. En outre, le profil permet de réduire l'intervention de l'utilisateur par rapport au processus interactif.
Un exemple de profil kclient pourrait ressembler à l'exemple suivant :
client# cat /net/denver.example.com/export/install/profile REALM EXAMPLE.COM KDC kdc1.example.com ADMIN clntconfig FILEPATH /net/denver.example.com/export/install/krb5.conf NFS 1 DNSLOOKUP none
Avant de commencer
Cette procédure utilise un profil d'installation. Reportez-vous à la section Procédure de création d'un profil d'installation de client Kerberos.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
Vous devez fournir le mot de passe pour le principal clntconfig afin de terminer le processus.
client# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
Exemple 21-8 Configuration automatique d'un client Kerberos avec des remplacements de ligne de commande
L'exemple suivant remplace les paramètres DNSARG et KDC définis dans le profil d'installation.
# /usr/sbin/kclient -p /net/denver.example.com/export/install/profile\ -d dns_fallback -k kdc2.example.com Starting client setup --------------------------------------------------- kdc1.example.com Setting up /etc/krb5/krb5.conf. Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> nfs/client.example.com entry ADDED to KDC database. nfs/client.example.com entry ADDED to keytab. host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE. client#
Cette procédure utilise l'utilitaire d'installation kclient sans profil d'installation. Dans la version Oracle Solaris 11, l'utilitaire kclient a amélioré la facilité d'utilisation et le travail avec les serveurs Active Directory. Reportez-vous à la section Procédure de configuration d'un client Kerberos pour un serveur Active Directory pour plus d'informations. Reportez-vous à l'Exemple 21-10 pour un exemple d'exécution de kclient sur une version précédente.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
Vous devez fournir les informations suivantes :
Nom de domaine Kerberos
Nom d'hôte KDC maître
Nom d'hôte KDC esclave
Domaines à mettre en correspondance avec le domaine local
Noms de service PAM et options à utiliser pour l'authentification Kerberos
Si ce système est un client d'un serveur KDC qui n'exécute pas une version d'Oracle Solaris vous devez définir le type de serveur qui exécute le KDC. Les serveurs disponibles sont : Microsoft Active Directory, serveur KDC MIT, serveur KDC Heimdal et serveur KDC Shishi.
Si vous utilisez DNS pour les recherches Kerberos, vous devez saisir l'option de recherche DNS que vous souhaitez utiliser. Les options valides sont dns_lookup_kdc, dns_lookup_realm et dns_fallback. Pour plus d'informations sur ces valeurs, reportez-vous à la page de manuel krb5.conf(4).
Ces informations sont ajoutées au fichier de configuration /etc/krb5/krb5.conf.
S'il existe des KDC esclaves dans le domaine, vous devez entrer les noms d'hôte des KDC esclaves. Ces informations sont utilisées pour créer d'autres entrées KDC dans le fichier de configuration du client.
Normalement, des clés de service ou d'hôte ne sont pas requise, sauf si le système client héberge des services utilisant Kerberos.
Si le client est membre d'un cluster, vous devez fournir le nom logique du cluster. Le nom d'hôte logique est utilisé lorsque vous créez les clés de service, ce qui est requis lors de l'hébergement de services Kerberos de clusters.
Ce mappage permet à d'autres domaines d'appartenir au domaine par défaut du client.
Les clés de service NFS doivent être créées si le client héberge des services NFS utilisant Kerberos.
Cela vous permet de définir les services PAM utilisant Kerberos pour l'authentification. Vous devez entrer le nom du service et un indicateur indiquant comment l'authentification Kerberos est utilisée. Les options d'indicateur valides sont les suivantes :
first : utilise l'authentification Kerberos en premier, puis utilise uniquement UNIX si l'authentification Kerberos échoue
only : utilise l'authentification Kerberos uniquement
optional : utilise l'authentification Kerberos de manière optionnelle
Cette option permet d'utiliser des informations de configuration spécifiques lorsque les arguments de kclient ne sont pas suffisants.
Exemple 21-9 Exécution de l'utilitaire d'installation kclient
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Is this a client of a non-Solaris KDC ? [y/n]: n No action performed. Do you want to use DNS for kerveros lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Note, this system and the KDC's time must be within 5 minutes of each other for Kerberos to function. Both systems should run some form of time synchronization system like Network Time Protocol (NTP). Do you have any slave KDC(s) ? [y/n]: y Enter a comma-separated list of slave KDC host names: kdc2.example.com Will this client need service keys ? [y/n]: n No action performed. Is this client a member of a cluster that uses a logical host name ? [y/n]: n No action performed. Do you have multiple domains/hosts to map to realm ? [y/n]: y Enter a comma-separated list of domain/hosts to map to the default realm: engineering.example.com, \ example.com Setting up /etc/krb5/krb5.conf. Do you plan on doing Kerberized nfs ? [y/n]: y Do you want to update /etc/pam.conf ? [y/n]: y Enter a comma-separated list of PAM service names in the following format: service:{first|only|optional}: xscreensaver:first Configuring /etc/pam.conf. Do you want to copy over the master krb5.conf file ? [y/n]: n No action performed. --------------------------------------------------- Setup COMPLETE.
Exemple 21-10 Exécution de l'utilitaire d'installation kclient dans la version Oracle Solaris 10
La sortie suivante indique les résultats de l'exécution de la commande kclient.
client# /usr/sbin/kclient Starting client setup --------------------------------------------------- Do you want to use DNS for kerberos lookups ? [y/n]: n No action performed. Enter the Kerberos realm: EXAMPLE.COM Specify the KDC hostname for the above realm: kdc1.example.com Setting up /etc/krb5/krb5.conf. Enter the krb5 administrative principal to be used: clntconfig/admin Obtaining TGT for clntconfig/admin ... Password for clntconfig/admin@EXAMPLE.COM: <Type the password> Do you plan on doing Kerberized nfs ? [y/n]: n host/client.example.com entry ADDED to KDC database. host/client.example.com entry ADDED to keytab. Do you want to copy over the master krb5.conf file ? [y/n]: y Enter the pathname of the file to be copied: \ /net/denver.example.com/export/install/krb5.conf Copied /net/denver.example.com/export/install/krb5.conf. --------------------------------------------------- Setup COMPLETE ! #
Cette procédure utilise l'utilitaire d'installation kclient sans profil d'installation.
client# sharectl set -p ddns_enable=true smb
L'option -T permet de sélectionner un type de serveur KDC. Dans ce cas, un serveur Active Directory est sélectionné.
client# kclient -T ms_ad
Par défaut, vous devez fournir le mot de passe pour le principal d'administration.
Exemple 21-11 Configuration d'un client Kerberos pour un serveur Active Directory à l'aide de kclient
La sortie suivante indique les résultats de l'exécution de la commande kclient à l'aide de l'argument de type de serveur ms_ad (Microsoft Active Directory). Le client sera joint au domaine Active Directory appelé EXAMPLE.COM.
client# /usr/sbin/kclient -T ms_ad Starting client setup --------------------------------------------------- Attempting to join 'CLIENT' to the 'EXAMPLE.COM' domain. Password for Administrator@EXAMPLE.COM: <Type the password> Forest name found: example.com Looking for local KDCs, DCs and global catalog servers (SVR RRs). Setting up /etc/krb5/krb5.conf Creating the machine account in AD via LDAP. --------------------------------------------------- Setup COMPLETE. #
Dans cette procédure, les paramètres de configuration suivants sont utilisés :
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
Aide en ligne URL = http://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
Remarque - Réglez l'URL pour qu'elle pointe vers la section "Outil d'administration graphique Kerberos", comme décrit dans la section URL d'aide en ligne dans l'outil d'administration graphique de Kerberos.
Pour modifier le fichier de version Kerberos par défaut, vous devez modifier les noms de domaine et les noms de serveur. Vous devez également identifier le chemin d'accès aux fichiers d'aide pour gkadmin.
kdc1 # cat /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://download.oracle.com/docs/cd/E23824_01/html/821-1456/aadmin-23.html
Remarque - Si vous voulez limiter les types de chiffrement, vous pouvez définir les lignes default_tkt_enctypes ou default_tgs_enctypes. Pour une description des problèmes liés à la restriction des types de chiffrement, reportez-vous à la section Utilisation des types de chiffrement Kerberos.
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 des 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 à la page de manuel 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.
Par 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.
L'installation et l'utilisation du protocole NTP (Network Time Protocol) ne sont pas requises. Cependant, chaque horloge doit être synchronisée avec l'heure sur le serveur KDC dans une différence maximum définie par la relation clockskew dans le fichier krb5.conf pour que l'opération d'authentification réussisse. Pour plus d'informations sur le protocole NTP, reportez-vous à la section Synchronisation des horloges entre les KDC et les clients Kerberos.
Vous pouvez utiliser l'outil d'administration graphique Kerberos pour ajouter un principal, comme expliqué dans la section Procédure de création d'un principal Kerberos. Pour ce faire, vous devez vous connecter à l'aide de l'un des noms de principal admin que vous avez créés lorsque vous avez configuré le KDC maître. Toutefois, l'exemple ci-après montre comment ajouter les principaux requis à l'aide de la ligne de commande.
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
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 the password> Re-enter password for principal mre@EXAMPLE.COM: <Type it again> kadmin:
Cette étape est nécessaire pour que le client dispose d'un accès root aux systèmes de fichiers montés à l'aide du service NFS. Cette étape est également requise si l'accès root non interactif est nécessaire, par exemple pour l'exécution des tâches cron en tant que root.
Vous pouvez ignorer cette étape si le client ne nécessite pas l'accès root à un système de fichiers distant monté à l'aide du service NFS. Le principal de root doit être un principal à deux composants, avec pour second composant le nom d'hôte du système du client Kerberos, pour éviter la création d'un principal root à l'échelle du domaine. 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 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. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 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. L'identité permet à root d'acquérir des informations d'identification, s'il n'en existe 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. Entry for principal host/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 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. Entry for principal nfs/denver.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal nfs/denver.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
Modifiez le fichier /etc/nfssec.conf et supprimez le "#" placé devant les modes de sécurité Kerberos.
# cat /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 restart network/rpc/gss
Pour plus d'informations, reportez-vous à la page de manuel warn.conf(4).
Exemple 21-12 Configuration d'un client Kerberos à l'aide d'un KDC non Solaris
Un client Kerberos peut être configuré pour fonctionner avec un KDC non Solaris. Dans ce cas, une ligne doit être incluse dans le fichier /etc/krb5/krb5.conf à 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. Le format de cette ligne est le suivant.
[realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com kpasswd_protocol = SET_CHANGE }
Exemple 21-13 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 21-14 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 749 kdc1.example.com _kpasswd._udp.EXAMPLE.COM IN SRV 0 0 749 kdc1.example.com
Cette procédure permet de désactiver le contrôle de sécurité qui vérifie que le KDC de l'hôte principal stocké dans le fichier /etc/krb5/krb5.keytab local est le même KDC qui a émis le ticket d'octroi de tickets. Cette vérification permet d'empêcher les attaques par usurpation de DNS. Cependant, pour certaines configurations client, l'hôte principal peut ne pas être disponible, et cette vérification doit alors être désactivée pour que le client puisse fonctionner. Voici les configurations requérant que cette vérification soit désactivée :
L'adresse IP du client est affectée de manière dynamique. Par exemple, un client DHCP.
Le client n'est pas configuré pour héberger les services, de sorte qu'aucun hôte principal n'a été créé.
La clé d'hôte n'est pas stockée sur le client.
Si l'option verify_ap_req_nofail est définie sur false, le processus de vérification du TGT n'est pas activé. Pour plus d'informations sur cette option, reportez-vous à la page de manuel krb5.conf(4).
client # cat /etc/krb5/krb5.conf [libdefaults] default_realm = EXAMPLE.COM verify_ap_req_nofail = false ...
Remarque - L'option verify_ap_req_nofail peut être saisie dans la section [libdefaults] ou [realms] du fichier krb5.conf. Si la valeur de l'option est dans la section [libdefaults], le paramètre est utilisé pour tous les domaines. Si la valeur de l'option est dans la section [realms], le paramètre s'applique uniquement au domaine défini.
Cette procédure permet à un client d'accéder à un système de fichiers NFS requérant l'authentification Kerberos avec le privilège d'ID root, en particulier lorsque le système de fichiers NFS est partagé avec des options comme -o sec=krb5,root=client1.sun.com.
Vous pouvez utiliser l'outil d'administration graphique Kerberos pour ajouter un principal, comme expliqué dans la section Procédure de création d'un principal Kerberos. Pour ce faire, vous devez vous connecter à l'aide de l'un des noms de principal admin que vous avez créés lorsque vous avez configuré le KDC maître. Toutefois, l'exemple ci-après montre comment ajouter les principaux requis à l'aide de la ligne de commande.
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Ce principal permet de fournir un accès équivalent à root aux systèmes de fichiers montés NFS requérant l'authentification Kerberos. Le principal root doit être un principal à deux composants, avec pour second composant le nom d'hôte du système du client Kerberos, pour éviter la création d'un principal root à l'échelle du domaine. 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 root/client.example.com Principal "root/client.example.com" created. kadmin:
Cette étape est nécessaire si vous avez ajouté un principal root afin que le client puisse avoir l'accès root aux systèmes de fichiers montés à l'aide du service NFS. Cette étape est également requise si l'accès root non interactif est nécessaire, par exemple pour l'exécution des tâches cron en tant que root.
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. Entry for principal root/client.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal root/client.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin:
kadmin: quit
Les utilisateurs ne disposant pas d'un principal Kerberos peuvent être automatiquement migrés vers un domaine Kerberos existant. La migration s'effectue à l'aide de la structure PAM pour le service en cours d'utilisation par l'empilage du module pam_krb5_migrate dans la pile d'authentification du service dans /etc/pam.conf.
Dans cet exemple, les noms de services PAM gdm et other sont configurés pour utiliser la migration automatique. Les paramètres de configuration suivants sont utilisés :
Nom de domaine = EXAMPLE.COM
KDC maître = kdc1.example.com
Machine hébergeant le service de migration = server1.example.com
Principal du service de migration = host/server1.example.com
Avant de commencer
Configurez server1 en tant que client Kerberos du domaine EXAMPLE.COM. Pour plus d'informations, reportez-vous à la section Configuration des clients Kerberos.
L'hôte principal de service dans le fichier keytab de server1 est utilisé pour authentifier le serveur auprès du KDC maître.
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM 3 host/server1.example.com@EXAMPLE.COM
# cat /etc/pam.conf . . # # gdm service # gdm auth requisite pam_authtok_get.so.1 gdm auth required pam_dhkeys.so.1 gdm auth required pam_unix_cred.so.1 gdm auth sufficient pam_krb5.so.1 gdm auth requisite pam_unix_auth.so.1 gdm auth optional pam_krb5_migrate.so.1
Il est possible de définir le délai d'expiration du mot de passe des nouveaux comptes Kerberos sur l'heure actuelle (maintenant), afin de forcer la modification immédiate du mot de passe Kerberos. Pour définir l'heure d'expiration sur l'heure actuelle, ajoutez l'option expire_pw aux lignes utilisant le module pam_krb5_migrate. Pour plus d'informations, reportez-vous à la page de manuel pam_krb5_migrate(5).
# cat /etc/pam.conf . . gdm auth optional pam_krb5_migrate.so.1 expire_pw
Cet ajout prévoit l'expiration du mot de passe de Kerberos afin de bloquer l'accès.
# cat /etc/pam.conf . . # # Default definition for Account management # Used when service name is not explicitly mentioned for account management # other account requisite pam_roles.so.1 other account required pam_krb5.so.1 other account required pam_unix_account.so.1
Cet ajout permet la mise à jour des mots de passe lorsque ceux-ci expirent.
# cat /etc/pam.conf . . # # Default definition for Password management # Used when service name is not explicitly mentioned for password management # other password required pam_dhkeys.so.1 other password requisite pam_authtok_get.so.1 other password requisite pam_authtok_check.so.1 other password sufficient pam_krb5.so.1 other password required pam_authtok_store.so.1
Les entrées suivantes accordent des privilèges de migration et de consultation au principal de service host/server1.example.com pour tous les utilisateurs, excepté l'utilisateur root. Il est important que les utilisateurs qui ne doivent pas être migrés soient répertoriés dans le fichier kadm5.acl à l'aide du privilège U. Ces entrées doivent figurer avant l'entrée "permit all" ou ui. Pour plus d'informations, reportez-vous à la page de manuel kadm5.acl(4).
kdc1 # cat /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM *
Cette étape permet au démon kadmind d'utiliser les nouvelles entrées kadm5.acl.
kdc1 # svcadm restart network/security/kadmin
Les entrées suivantes permettent au démon kadmind d'utiliser le service PAM k5migrate pour valider le mot de passe utilisateur UNIX pour les comptes qui nécessitent une migration.
# grep k5migrate /etc/pam.conf k5migrate auth required pam_unix_auth.so.1 k5migrate account required pam_unix_account.so.1
denver # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin:
Dans l'exemple suivant, la sous-commande add_policy est utilisée pour créer une stratégie nommée default. Trois échecs d'authentification en l'espace de 300 secondes déclenchera un verrouillage de compte de 900 secondes.
kadmin: add_policy -maxfailure 3 -failurecountinterval "300 seconds"\ -lockoutduration "900 seconds" default
kadmin: quit
Exemple 21-15 Déverrouillage d'un principal verrouillé
Dans l'exemple suivant, un principal d'utilisateur est déverrouillé :
# kadmin kadmin: add_policy -unlock principal