[Kerberos 5] Compréhension
4.1. Les composants d’un KDC
Dans Kerberos, l’un des composants majeurs est le centre de distribution des clefs, le KDC (« Key Distribution Center ») qui permet par le biais de ses deux démons :
- De faire l’administration d’une base de donnée : kadmind.
- De gérer les tickets : krb5kdc.
Dans la base de donnée du KDC, se trouvent les principaux :
Ceux-ci sont des utilisateurs ou services pouvant effectuer une authentification à l’aide de Kerberos. Un nom de principal a la forme “root[/instance]@REALM”. Pour un utilisateur ordinaire, root correspond à l’ID de connexion. L’instance est facultative. Si le principal a une instance, il est séparé du root par une barre oblique (”/”). La chaîne vide (”") est une instance valide (qui diffère de l’instance NULL par défaut) mais son utilisation peut être source de confusion. Tous les principaux ont leur propre clé sauvegardé dans cette base, dérivée de leur mot de passe (pour les utilisateurs) ou définie de façon aléatoire (pour les services).
Exemple :
- jfressar@LAAS.FR est un utilisateur, jfressar est son nom de login et LAAS est le REALM dans lequel il se trouve.
- ftp/kerb.laas.fr@LAAS.FR, ftp est le nom d’un service, en instance kerb.laas.fr indique sur quel machine est ce service (nom machine kerb, et domaine laas.fr) suivie du REALM LAAS dans lequel il se trouve.
Le REALM est un réseau utilisant Kerberos (équivalent à un domaine), composé d’un ou plusieurs KDC et un nombre potentiel de clients et de services très élevé.
4.2. Les fichiers keytab
Le KDC possède toutes les clés et chaque utilisateurs connaît sa clé (mot de passe), ici pas de problème, chaque participant humain partage un secret avec le KDC.
Par contre, comment font les services distants pour déchiffrer les messages envoyé par le KDC, car ces messages sont chiffré avec leur clé. Ces services distants utilisent les fichiers keytab pour extraire leur clé, ces fichier on été crée et copié ultérieurement sur chaque machine distantes ayant un service Kerberizé. Ceux-ci contiennent une liste cryptée de “principaux de service” et de leurs clés respectives. Ils permettent aux serveurs et aux services de pouvoir décrypter les messages envoyés par le KDC ou le client en utilisant leur clé (password) qui est contenue dans ce fichier keytab. On peut dire que le fichier keytab d’une machine cliente et le KDC partagent le secret des services.
Le fichier keytab par défaut est /etc/krb5.keytab.
4.3. Les commandes du KDC
Les programmes permettant l’administration de la base sont : kadmin (commande à distance) et kadmin.local.
La commande pour la création de la base de donnée est : kdb5_util.
La commande pour l’administration du fichier keytab est : kutil.
Un utilitaire graphique d’administration de la base de donnée du KDC existe, celui-ci s’appelle SEAM Administration Tool et se lance par la commande gkadmin. Basé sur JAVA, il permet de faciliter les tâches d’administration.
En récapitulant, le TGT est donc un ticket qui permet à un client de faire des demandes de ticket de service au TGS (KDC) afin d’avoir accès à un service et le TGS permet lui, de fournir des tickets pour accéder à des services.
La commande qui permet à un utilisateur de faire une demande de TGT au serveur Kerberos est Kinit, celle-ci demande le nom de login et le mot de passe de l’utilisateur :
- Le login sert à faire la demande de TGT au KDC, si le KDC connaît cet utilisateur parmi ses principaux, il crée un TGT et le chiffre avec la clé (mot de passe) de celui-ci.
- Le mot de passe sert à déchiffrer le TGT, car, comme expliqué précédemment, le KDC renvoie le TGT chiffré avec la clé utilisateur.
Avec son TGT valable 8 heures, l’utilisateur n’aura plus à s’authentifier pour utiliser des services distants.
5. Les services Kerberizés
Les Services kerberizables :
Lorsque le serveur Kerberos est en ordre de fonctionnement, il faut kerberizer les différents services demandant une authentification ou même ajouter cette authentification à certains services qui n’en ont pas.
Ainsi, dès lors que vous serez authentifié (1 fois et une seule) au KDC, vous pourrez utiliser tous les services Kerberizés (ftp, telnet, ssh, ldap, rlogin…) sans avoir à fournir aucune information (login, mot de passe).
Si vous avez apprécié cet article, s'il vous plait, prenez le temps de laisser un commentaire ou de souscrire au flux afin de recevoir les futurs articles directement dans votre lecteur de flux.

Commentaires
Pas encore de commentaire.
Laisser un commentaire