Kerberos est différent des autres méthodes d'authentification. Plutôt que de laisser l'authentification avoir lieu entre chaque machine cliente et chaque serveur, Kerberos utilise un cryptage symétrique et un programme fiable — connu sous le nom de Centre distributeur de tickets (KDC, Key Distribution Center) — afin d'authentifier les utilisateurs sur un réseau. Une fois l'authentification effectuée, Kerberos stocke un ticket spécifique à cette session sur l'ordinateur de l'utilisateur et les services 'kerberisés' rechercheront ce ticket au lieu de demander à l'utilisateur de s'authentifier à l'aide d'un mot de passe.
Lorsqu'un utilisateur d'un réseau "kerberisé" se connecte sur son poste de travail, son principal est envoyé au KDC comme une demande de TGT. Cette demande peut être émise par le programme de connexion (de sorte qu'elle est transparente pour l'utilisateur) ou peut être émise par le programme kinit une fois l'utilisateur connecté.
Le KDC vérifie la présence du principal dans sa base de données. Si le principal y figure, le KDC crée un TGT, le crypte à l'aide de la clé de l'utilisateur, puis le renvoie à ce dernier.
Le programme de connexion ou le progamme kinit présent sur l'ordinateur client décrypte ensuite le TGT à l'aide de la clé de l'utilisateur (qu'il recompose à partir du mot de passe). La clé de l'utilisateur est utilisée seulement sur l'ordinateur client et n'est pas envoyée sur le réseau.
Le TGT, établi pour expirer après un certain laps de temps (généralement dix heures), est stocké dans un cache de certificats d'identité de l'ordinateur client. Un délai d'expiration est défini de manière à ce qu'un TGT compromis ne puisse être utilisé par un pirate que pendant une courte durée. Une fois que le TGT est émis, l'utilisateur n'a pas à redonner son mot de passe au KDC tant que le TGT n'a pas expiré ou tant qu'il ne se déconnecte pas pour se reconnecte ensuite.
Chaque fois que l'utilisateur doit accéder à un service réseau, le logiciel client utilise le TGT pour demander au TGS un nouveau ticket pour ce service spécifique. Le ticket pour le service souhaité est alors émis et utilisé pour authentifier l'utilisateur auprès de ce service de façon transparente.
![]() | Avertissement |
---|---|
Le système Kerberos peut être compromis à chaque fois qu'un utilisateur présent sur le réseau s'authentifie auprès d'un service non "kerberisé" en envoyant un mot de passe en texte en clair. Pour cette raison, l'utilisation d'un service non "kerberisé" est fortement déconseillée. Parmi de tels services figurent Telnet et FTP. L'utilisation d'autres protocoles sûrs, tels que les services sécurisés OpenSSH ou SSL, est certes acceptable mais pas idéale. |
Ceci est bien sûr un aperçu général du fonctionnement typique de l'authentification de Kerberos sur un réseau. Pour obtenir des informations plus détaillées sur ce sujet, reportez-vous à la Section 17.7 Ressources supplémentaires.
![]() | Remarque |
---|---|
Le bon fonctionnement de Kerberos dépend de certains services réseau. Il a tout d'abord besoin d'une synchronisation approximative de l'horloge entre les différents ordinateurs du réseau. Par conséquent, un programme de synchronisation de l'horloge devrait être installé pour le réseau, comme par exemple, ntpd. Pour de plus amples informations sur la configuration de ntpd, consultez /usr/share/doc/ntp-<version-number>/index.htm et examinez les renseignements concernant la configuration des serveur 'Network Time Protocol'. En outre, étant donné que certains aspects de Kerberos reposent sur le DNS ('Domain Name Service'), assurez-vous que les entrées DNS et les hôtes sur le réseau soient tous correctement configurés. Pour plus d'informations, reportez-vous au Guide de l'administrateur système Kerberos V5 disponible en formats PostScript et HTML dans /usr/share/doc/krb5-server-<version-number>. |