Chaque hôte fournissant un service doit posséder un fichier local, appelé table de clés, contenant le principal du service correspondant, c'est-à-dire la clé de service. Le service utilise la clé de service pour s'authentifier auprès du KDC ; cette clé n'est connue que de Kerberos et du service lui-même. Dans le cas d'un serveur NFS compatible Kerberos, on doit y retrouver une table de clés contenant son principal de service nfs.
Pour ajouter une clé de service à la table de clés, vous ajoutez le principal de service approprié à une table de clés de l'hôte avec la commande ktadd de kadmin. De plus, étant donné que vous ajoutez un principal de service à la table de clés, le principal doit déjà exister dans la base de données Kerberos pour que kadmin puisse en vérifier l'existence. Le chemin d'accès par défaut du fichier de table de clés sur le KDC maître est /etc/krb5/kadm5.keytab. Dans le cas des serveurs fournissant des services compatibles Kerberos, le chemin d'accès par défaut de ce même fichier est /etc/krb5/krb5.keytab.
Une table de clés est semblable à un mot de passe de l'utilisateur. Il est aussi important pour les utilisateurs de protéger leurs mots de passe que pour les serveurs d'applications de protéger leurs tables de clés. Vous devez toujours stocker les tables de clés sur disque local, n'autoriser leur lecture que par un superutilisateur, et ne jamais envoyer de tables de clés sur un réseau non sécurisé.
Il existe également un autre cas particulier où l'ajout d'un principal root à la table de clés d'un hôte s'avère nécessaire. Essentiellement, si vous voulez qu'un utilisateur du client SEAM puisse monter des systèmes de fichiers NSF compatibles Kerberos avec l'authentification automatique Kerberos, vous devez ajouter le principal root du client à sa table de clés. Autrement, les utilisateurs doit employer la commande kinit en tant que superutilisateur pour obtenir les justificatifs d'identité du principal root du client, chaque fois qu'ils veulent monter un système de fichiers NFS compatibles Kerberos, même à l'aide de l'agent de montage automatique. Voir "Configuration de l'authentification de superutilisateur pour le montage des systèmes de fichiers NFS" pour de plus amples renseignements.
Lorsque vous définissez un KDC maître, vous devez ajouter les principaux kadmind et changepw au fichier kadm5.keytab , de sorte que le KDC puisse déchiffrer les tickets Kerberos de l'administrateur et déterminer s'il doit ou non leur donner accès à la base de données.
La commande ktutil peut servir également à l'administration des tables de clés. ktutil est une interface interactive à ligne de commande vous permettant de gérer la table de clés d'un hôte local sans détenir de privilèges d'administration Kerberos, étant donné que ktutil n'intervient pas au niveau de la base de données Kerberos comme le fait kadmin. Donc, lorsqu'un principal a été ajouté à la table de clés, vous pouvez utiliser ktutil pour afficher la liste des clés d'une table ou pour désactiver temporairement l'authentification requise par un service.
|
Tâche |
Description |
Pour des directives, consulter... |
|---|---|---|
|
Ajouter un principal de service à une table de clés |
La commande ktadd de kadmin permet d'ajouter un principal de service à une table de clés. |
"Comment ajouter un principal de service à une table de clés" |
|
Supprimer un principal de service d'une table de clés |
La commande ktremove de kadmin permet de supprimer un principal de service d'une table de clés. |
"Comment supprimer un principal de service d'une table de clés" |
|
Afficher la liste de clés (principaux) d'une table de clés |
La commande ktutil permet d'afficher la liste de clés d'une table de clés. |
"Comment afficher la liste de clés (principaux) d'une table de clés" |
|
Désactiver temporairement l'authentification pour un service d'un hôte |
Cette procédure constitue un moyen rapide de désactiver temporairement l'authentification requise par un service sur un hôte sans détenir de privilèges kadmin. Avant de supprimer le principal de service de la table de clés du serveur avec ktutil, faites une copie de la table de clés originale et placez-la dans un répertoire temporaire. Pour réactiver le service, vous n'avez qu'à transférer cette copie dans son répertoire d'origine. |
"Comment désactiver temporairement l'authentification pour un service sur un hôte" |
Assurez-vous que le principal existe déjà dans la base de données Kerberos.
Voir "Comment afficher la liste des principaux" pour de plus amples renseignements.
Adoptez l'identité de superutilisateur sur l'hôte requérant l'ajout d'un principal à sa table de clés.
Exécutez la commande kadmin.
# /usr/krb5/sbin/kadmin |
Ajoutez un principal à la table de clés avec la commande ktadd.
kadmin: ktadd [-k table_clés] [-q] [principal | -glob principal_exp] |
|
-k table_clés |
Indique la table de clés. /etc/krb5/krb5.keytab est utilisé par défaut. |
|
-q |
Affiche de l'information moins verbeuse. |
|
principal |
Principal qui doit être ajouté à la table de clés. Vous pouvez ajouter les principaux de service suivants : host, root, nfs et ftp. |
|
-glob principal_exp |
Tous les principaux correspondants à l'expression du principal sont ajoutés à la table de clés. Les règles régissant l'expression du principal sont identiques à celles de la commande list_principals de kadmin. |
Quittez la commande kadmin.
kadmin: quit |
Dans l'exemple suivant, les principaux kadmin/admin et kadmin/changepw sont ajoutés à la table de clés d'un KDC maître. Dans ce cas-ci, le fichier de table de clés doit être celui précisé dans le fichier kdc.conf.
kdc1 # /usr/krb5/bin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/admin kadmin/changepw Entrée du principal kadmin/admin@ACME.COM avec numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab. Entrée du principal kadmin/changepw@ACME.COM avec numéro de version de clé 3 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab. kadmin.local : quit |
Dans l'exemple suivant, le principal host de denver est ajouté à la table de clés de denver afin de permettre l'authentification des services de réseaux de denver par le KDC.
denver # /usr/krb5/bin/kadmin kadmin: ktadd host/denver@acme.com@ACME.COM kadmin: Entrée du principal host/denver@acme.com@ACME.COM avec numéro de version de clé 2 et type de chiffrement DES-CBC-CRC ajoutée à la table de clés WRFILE:/etc/krb5/krb5.keytab. kadmin: quit |
Adoptez l'identité de superutilisateur sur l'hôte requérant la suppression d'un principal dans sa table de clés.
Exécutez la commande kadmin.
# /usr/krb5/bin/kadmin |
Facultatif. Utilisez la commande ktutil pour afficher la liste courante des principaux (clés) de la table de clés.
Voir "Comment afficher la liste de clés (principaux) d'une table de clés" pour de plus amples renseignements.
Supprimez un principal de la table de clés avec la commande ktremove.
kadmin: ktremove [-k table_clés] [-q] principal [kvno | all | old ] |
|
-k table_clés |
Indique la table de clés. /etc/krb5/krb5.keytab est utilisé par défaut. |
|
-q |
Affiche de l'information moins verbeuse. |
|
principal |
Principal qui doit être supprimé de la table de clés. |
|
kvno |
Supprime toutes les entrées du principal précisé, dont le kvno (numéro de version de clé) correspond à kvno. |
|
all |
Supprime toutes les entrées du principal précisé. |
|
old |
Supprime toutes les entrées du principal précisé, à l'exception de celles dont le numéro de version de clé est le plus élevé. |
Quittez la commande kadmin.
kadmin: quit |
Dans l'exemple suivant, le principal host de denver est supprimé du fichier de table de clés de denver.
denver # /usr/krb5/bin/kadmin kadmin: ktremove host/denver.acme.com@ACME.COM kadmin : Entrée du principal host/denver.acme.com@ACME.COM avec numéro de version de clé 3 supprimée de la table de clés WRFILE:/etc/krb5/krb5.keytab. kadmin : quit |
Adoptez l'identité de superutilisateur sur l'hôte contenant la table de clés.
Bien qu'il soit possible de créer des tables de clés détenues par d'autres utilisateurs, seule la propriété root permet de déterminer l'emplacement par défaut de la table de clés.
Exécutez la commande ktutil.
# /usr/krb5/bin/ktutil |
Effectuez la lecture du tampon de liste de clés avec la commande read_kt .
ktutil: read_kt table_clés |
Affichez le tampon de liste de clés avec la commande list.
ktutil : list |
Le tampon de la liste de clés courante apparaît.
Quittez la commande ktutil.
ktutil: quit |
L'exemple suivant affiche la liste de clés du fichier /etc/krb5/krb5.keytab de l'hôte denver.
denver # /usr/krb5/bin/ktutil
ktutil: read_kt /etc/krb5/krb5.keytab
ktutil: list
emplacement no_version_clé Principal
---- ---- ---------------------------------------
1 5 host/denver@ACME.COM
ktutil : quit
|
Certaines situations peuvent vous obliger à désactiver temporairement le mécanisme d'authentification d'un service, comme rlogin ou ftp, sur un serveur d'applications en réseau. Vous pourriez par exemple interdire l'accès à un système pendant sa maintenance. La commande ktutil vous permet d'activer ce blocage en supprimant le principal de service de la table de clés du serveur, sans détenir de privilèges kadmin. Pour réactiver l'authentification, il suffit de transférer la copie de la table de clés originale vers son emplacement d'origine.
La plupart des services sont configurés par défaut de manière à exiger l'authentification. Autrement, le service fonctionnera même si vous désactivez l'authentification du service.
Adoptez l'identité de superutilisateur sur l'hôte contenant la table de clés.
Bien qu'il soit possible de créer des tables de clés détenues par d'autres utilisateurs, l'emplacement par défaut de la table de clés exige des privilèges de superutilisateur.
Enregistrez la table de clés courante dans un fichier temporaire.
Exécutez la commande ktutil.
# /usr/krb5/bin/ktutil |
Effectuez la lecture de la table de clés dans le tampon de liste de clés avec la commande read_kt .
ktutil: read_kt table_clés |
Affichez le tampon de liste de clés avec la commande list.
ktutil: list |
Le tampon de la liste de clés courante apparaît. Prenez note du numéro d'emplacement du service que vous voulez désactiver.
Pour désactiver temporairement le service d'un hôte, supprimez le principal de service dans le tampon de liste de clés avec la commande delete_entry.
ktutil: delete_entry numéro_emplacement |
|
numéro_emplacement |
Numéro d'emplacement du principal de service à supprimer, affiché avec la commande list. |
Enregistrez le tampon de liste de clés dans la table de clés avec la commande write_kt.
ktutil: write_kt table_clés |
Quittez la commande ktutil.
ktutil: quit |
Pour réactiver le service, transférez le fichier temporaire contenant la table de clés originale vers son emplacement d'origine.
Dans l'exemple qui suit, le service host de l'hôte denver est temporairement désactivé. Pour réactiver le service d'hôte de denver, remplacez le fichier /etc/krb5/krb5.keytab par le fichier krb5.keytab.temp.
denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp
denver # /usr/krb5/bin/ktutil
ktutil :read_kt /etc/krb5/krb5.keytab
ktutil :list
emplacement no_version_clé Principal
---- ---- ---------------------------------------
1 8 root/denver@ACME.COM
2 5 host/denver@ACME.COM
ktutil :delete_entry 2
ktutil :list
emplacement no_version_clé Principal
---- ---- --------------------------------------
1 8 root/denver@ACME.COM
ktutil :write_kt /etc/krb5/krb5.keytab
ktutil: quit
|