Lors de la configuration de Kerberos, installez tout d'abord le serveur. Si vous devez configurer des serveurs esclaves, les relations de configuration entre les serveurs maîtres et esclaves sont présentées de façon détaillée dans le Guide d'installation Kerberos V5 (dans /usr/share/doc/krb5-server-<numéro-version>).
Pour installer un serveur Kerberos, suivez les étapes suivantes:
Avant d'installer Kerberos 5, assurez-vous que la synchronisation de l'horloge et que le DNS fonctionnent sur votre serveur. Prêtez une attention toute particulière à la synchronisation de l'heure entre le serveur Kerberos et ses différents clients. Si les horloges du serveur et du client diffèrent de plus de cinq minutes (cette durée par défaut est configurable dans Kerberos 5), les clients Kerberos ne pourront pas s'authentifier auprès du serveur. Cette synchronisation de l'horloge est nécessaire pour empêcher un pirate d'utiliser un ancien ticket pour se faire passer pour un utilisateur valide.
Vous devriez configurer un réseau client/serveur compatible NTP (protocole de synchronisation de réseau) même si vous utilisez Kerberos. Afin de faciliter l'installation, Red Hat Linux inclut le paquetage ntp. Consultez /usr/share/doc/ntp-<version-number>/index.htm pour obtenir des informations détaillées sur la configuration des serveurs Network Time Protocol et rendez-vous à l'adresse suivante: http://www.eecis.udel.edu/~ntp pour obtenir des informations supplémentaires sur NTP.
Installez les paquetages krb5-libs, krb5-server et krb5-workstation sur la machine choisie pour l'exécution du KDC. Cette machine doit être absolument sécurisée — dans la mesure du possible, elle ne devrait exécuter aucun service autre que le KDC.
Si vous souhaitez utiliser un utilitaire d'interface utilisateur graphique (GUI) pour l'administration de Kerberos, vous devez également installer le paquetage gnome-kerberos. Celui-ci contient krb5, un outil GUI pour gérer les tickets.
Éditez les fichiers de configuration /etc/krb5.conf et /var/kerberos/krb5kdc/kdc.conf afin qu'ils correspondent à vos mappages nom du realm et domaine-à-realm. Un simple realm peut être construit en remplaçant des instances de EXAMPLE.COM et example.com par votre nom de domaine — en vous assurant de bien respecter le format correct des noms contenant des lettres majuscules et minuscules — et en changeant le KDC dans kerberos.example.com pour le nom de votre serveur Kerberos. Par convention, tous les noms de realm sont en lettres majuscules et tous les noms de d'hôtes et de domaines DNS sont en lettres minuscules. Pour des informations détaillées sur le format de ces fichiers, consultez leur page de manuel respectives.
Créez la base de données en utilisant l'utilitaire kdb5_util à partir de l'invite du shell:
/usr/kerberos/sbin/kdb5_util create -s |
La commande create crée la base de données qui sera utilisée pour stocker les clés pour votre realm dans Kerberos. L'option -s permet la création forcée d'un fichier stash dans lequel la clé du serveurs maître est stockée. En l'absence d'un fichier stash à partir duquel la clé peut être lue, le serveur Korberos (krb5kdc) enverra une invite pour que l'utilisateur entre le mot de passe du serveur maître (qui permet de recréer la clé) à chaque fois qu'il sera lancé.
Éditez le fichier /var/kerberos/krb5kdc/kadm5.acl Ce fichier est utilisé par kadmind afin de déterminer d'une part quels éléments principaux ont un accès administratif à la base de données de Kerberos et d'autre part, afin de définir leur niveau d'accès. Une seule ligne suffira à la plupart des organisations, comme dans l'exemple ci-dessous:
*/admin@EXAMPLE.COM * |
La plupart des utilisateurs seront représentés dans la base de données par un seul élément principal (avec une instance NULL, ou vide, telle que joe@EXAMPLE.COM). Avec cette configuration, les utilisateurs ayant un second élément principal avec comme instance admin (par exemple, joe/admin@EXAMPLE.COM) pourront exercer un pouvoir total sur la base de données Kerberos du realm.
Une fois que kadmind est lancé sur le serveur, tout utilisateur pourra accéder à ses services en exécutant kadmin sur tout client ou serveurs dans le realm. Toutefois, les utilisateurs non spécifiés dans le fichier kadm5.acl ne pourront modifier le contenu de la base de données d'aucune manière, à l'exception de leurs propres mots de passe qu'ils seront à même de changer.
![]() | Remarque |
---|---|
L'utilitaire kadmin communique avec le serveur kadmind sur le réseau et utilise Kerberos pour gérer l'authentification. Bien sûr, vous devez créer le premier élément principal avant de pouvoir vous connecter au serveur sur le réseau afin qu'il puisse le gérer. Pour créer le premier élément principal, utilisez kadmin.local, une commande conçue spécifiquement pour être utilisée sur le même hôte que le KDC et qui n'emploie pas Kerberos pour l'authentification. |
Tapez la commande kadmin.local suivante sur terminal KDC afin de créer le premier élément principal:
/usr/kerberos/sbin/kadmin.local -q "addprinc username/admin" |
Lancez Kerberos à l'aide des commandes suivantes:
/sbin/service krb5kdc start /sbin/service kadmin start /sbin/service krb524 start |
Ajoutez des éléments principaux pour vos utilisateurs à l'aide de la commande addprinc avec kadmin. Les commandes kadmin et kadmin.local sont des interfaces de ligne de commande vers le KDC. En tant que telles, de nombreuses commandes sont disponibles après le lancement du programme kadmin. Veuillez vous référez à la page de manuel relative à kadmin pour plus d'informations.
Vérifiez que votre serveur émettra bien des tickets. Tout d'abord, exécutez kinit afin d'obtenir un ticket et de le stocker dans un fichier de cache de certificats d'identité. Utilisez ensuite klist pour visualiser la liste des certificats d'identité dans votre cache et utilisez kdestroy pour détruire le cache et les certificats qu'il contient.
![]() | Remarque |
---|---|
Par défaut, kinit tente de vous authentifier à l'aide du nom d'utilisateur de connexion associé au compte utilisé lorsque vous vous êtes connecté pour la première fois à votre système (pas au serveur Kerberos). Si le nom d'utilisateur de ce système ne correspond pas à un élément principal dans votre base de données Korberos, un message d'erreur s'affichera. Dans ce cas, indiquez simplement à kinit le nom de votre élément principal en tant qu'argument sur la ligne de commande (kinit élément principal). |
Une fois les étapes ci-dessus réalisées, votre serveur Kerberos devrait être opérationnel. Vous devrez ensuite configurer vos clients Kerberos.