[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 :

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 :

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 :

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).

Pages: 1 2 3 4

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

(requis)

(requis)