Installation d'un serveur Kerberos sur Red Hat Linux 7.1

Si vous installez Kerberos, commencez par installer le(s) serveur(s). Si vous devez installer des serveurs esclaves, vous trouverez des détails relatifs à la configuration des relations entre les serveurs maître et esclaves dans le Guide d'Installation de Kerberos 5 (dans le répertoire /usr/share/doc/krb5-server-<version-number>).

Pour installer un serveur Kerberos :

  1. Assurez-vous que votre serveur est synchronisé est que le DNS est activé, puis installez Kerberos 5. Portez une attention particulière à la synchronisation entre le serveur Kerberos et ses clients. Si les montres du serveur et des clients diffèrent de plus de 5 minutes (vous pouvez configurer ce montant de défaut dans Kerberos 5), les clients Kerberos ne pourront pas authentifier leur serveur. Cette synchronisation de l'heure est nécessaire pour empêcher un attaquant d'utiliser un vieil authentificateur pour se masquer en utilisateur autorisé.

    Vous devriez installer un Protocole de temps de réseau (NTP) compatible avec le réseau client/serveur fonctionnant avec Red Hat Linux même si vous n'utilisez pas Kerberos. Red Hat Linux 7.1 contient le paquetage ntp qui fournit une installation facile. Pour plus d'informations sur NTP, reportez-vous à l'adresse http://www.eecis.udel.edu/~ntp.

  2. Installez les paquetages krb5-libs, krb5-server, et krb5-workstation sur l'ordinateur dédié qui exécutera votre KDC. Cet ordinateur doit être sécurisé — idéalement, il ne devrait rien exécuter d'autre que le KDC.

    Pour disposer d'un utilitaire graphique permettant d'administrer Kerberos, installez également le paquetage gnome-kerberos. gnome-kerberos contient krb5, un outil pour la gestion de tickets doté d'une interface graphique, et gkadmin, un outil pour la gestion de zones Kerberos également doté d'une interface graphique.

  3. Modifiez les fichiers de configuration /etc/krb5.conf et /var/kerberos/krb5kdc/kdc.conf afin qu'ils reflètent le nom de votre zone (realm) et les mappages domaine-zone. Il est possible de créer une zone simple en remplaçant des instances de EXAMPLE.COM et example.com par votre nom de domaine (en respectant la casse) et en remplaçant le nom du KDC, kerberos.example.com, par celui de votre serveur Kerberos. Par convention, tous les noms de zone sont en majuscules et tous les noms d'hôte DNS et noms de domaine sont en minuscules. Pour plus de détails sur les formats de ces fichiers, reportez-vous aux pages du manuel les concernant.

  4. Créez la base de données à l'aide de l'utilitaire kdb5_util à l'invite du shell :

    /usr/kerberos/sbin/kdb5_util create -s

    La commande create crée la base de données qui servira à stocker des clés pour votre zone Kerberos. Le commutateur -s force la création d'un fichier stash dans lequel est stockée la clé du serveur maître. A défaut de fichier stash dans lequel lire la clé, le serveur Kerberos (krb5kdc) invite l'utilisateur à entrer le mot de passe du serveur maître (permettant de regénérer la clé) à chaque démarrage.

  5. Modifiez le fichier /var/kerberos/krb5kdc/kadm5.acl . kadmind utilise ce fichier pour déterminer les principaux ayant accès à la base de données Kerberos, ainsi que leur type d'accès. La plupart des organisations s'en tireront avec une seule ligne :

    */admin@EXAMPLE.COM  *

    La plupart des utilisateurs seront représentés dans la base de données par un seul principal (avec une instance NULL, c'est-à-dire joe@EXAMPLE.COM). Avec cette configuration, les utilisateurs disposant d'un second principal avec une instance de admin (par exemple, joe/admin@EXAMPLE.COM) pourront contrôler totalement la base de données Kerberos de la zone.

    Une fois kadmind démarré sur le serveur, n'importe quel utilisateur sera en mesure d'accéder à ses services en exécutant kadmin ou gkadmin sur n'importe quel client ou serveur de la zone. Toutefois, seuls les utilisateurs figurant dans le fichier kadm5.acl pourront modifier la base de données à leur guise, à l'exception de leur propre mot de passe.

    NoteRemarque
     

    Les utilitaires kadmin et gkadmin communiquent avec le serveur kadmind via le réseau. Bien entendu, vous devez créer un principal avant de vous connecter au serveur sur le réseau pour l'administrer ; pour ce faire, utilisez la commande kadmin.local : elle est conçue spécialement pour être utilisée sur le même hôte que KDC et n'utilise pas Kerberos pour l'authentification.

    Tapez la commande kadmin.local dans le terminal KDC pour créer le premier principal.

    /usr/kerberos/sbin/kadmin.local -q "addprinc username/admin"
  6. Démarrez Kerberos à l'aide des commandes suivantes :

    /sbin/service krb5kdc start
    /sbin/service kadmin start
    /sbin/service krb524 start
  7. Ajoutez des principaux pour les utilisateurs utilisant la commande addprinc de kadmin ou Principal de gkadmin =>option de menu Add. kadmin (et kadmin.local sur le maître KDC) est une interface de ligne de commande du système d'administration Kerberos. En tant que telle, de nombreuses commandes sont disponibles après le lancement du programme kadmin. Pour plus d'informations sur ce sujet, consultez la page kadmin du manuel.

  8. Vérifiez si votre serveur émet des tickets. Commencez par exécuter kinit pour obtenir un ticket et stockez-le dans un fichier de cache de certificat d'identité. Utilisez ensuite klist pour afficher la liste des certificats d'identité dans votre cache et kdestroy pour supprimer le cache et les certificats d'identité qu'il contient.

    NoteRemarque
     

    Par défaut, kinit essaie de vous authentifier à l'aide du nom de connexion sous lequel vous vous êtes connecté à votre système. Si cet utilisateur ne correspond pas à un principal figurant dans la base de données Kerberos, vous obtiendrez un message d'erreur. Dans ce cas, donnez simplement à kinit le nom de votre principal comme argument dans la ligne de commande. (kinit principal).

Une fois les étapes ci-dessus accomplies, votre serveur Kerberos doit être opérationnel. Il vous reste à présent à installer vos clients Kerberos.