Chapter 17. Kerberos

Kerberos est un protocole d'authentification réseau créé par MIT et utilisant une cryptographie à clés secrètes pour authentifier les utilisateurs de services d'un réseau — éliminant par là-même, le besoin de transmettre des mots de passe sur le réseau. L'utilisation de Kerberos pour authentifier des utilisateurs avant qu'ils ne puissent utiliser les services du réseau, permet d'éviter que des utilisateurs non autorisés essaient d'intercepter des mots de passe sur le réseau en surveillant le trafic.

17.1. Les avantages de Kerberos

La plupart des systèmes de réseau conventionnels utilisent des procédures d'authentification par mot de passe. Dans le cadre des telles procédures, un utilisateur doit s'authentifier auprès d'un certain serveur réseau précis en fournissant son nom d'utilisateur et son mot de passe. Regrettablement, la transmission des informations d'authentification pour de nombreux services s'effectue de façon non cryptée. Pour qu'une telle procédure soit sécurisée, le réseau doit être inaccessible aux utilisateurs externes, et il est essentiel de pouvoir faire confiance à tous les ordinateurs et utilisateurs sur le réseau.

Même si tel est le cas, une fois qu'un réseau est connecté à l'Internet, on ne peut plus supposer que le réseau demeure sécurisé. Il suffit à un pirate qui obtient l'accès au réseau d'utiliser un simple analyseur de paquets, aussi connu sous le nom de renifleur de paquets, pour intercepter des noms d'utilisateur et des mots de passes envoyés en texte clair. De ce fait, les comptes utilisateurs et l'intégrité de toute l'infrastructure de sécurité sont remis en cause.

Le but essentiel de Korberos est d'éviter la transmission de mots de passe non cryptés à travers le réseau. Lorsque Korberos est utilisé correctement, il élimine de façon efficace la menace que posent sur un système les renifleurs de paquets.

17.1.1. Désavantages de Kerberos

Kerberos permet certes d'éliminer une menace commune pour la sécurité, mais son implémentation peut être difficile pour de multiples raisons:

  • La migration de mots de passe utilisateur d'une base de données de mots de passe UNIX standard, comme /etc/passwd ou /etc/shadow, vers une base de données de mots de passe Kerberos peut être relativement longue car il n'existe aucun mécanisme automatique permettant d'effectuer cette tâche. Pour de plus amples informations sur le sujet, consultez le point numéro 2.23 dans le FAQ de Kerberos qui se trouve à l'URL suivante:

    http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html.

  • Kerberos n'est que partiellement compatible avec le système PAM ('Pluggable Authentication Module', module d'authentification enfichable) utilisé par la plupart des serveurs exécutant Red Hat Linux. Pour plus d'informations, reportez-vous à la Section 17.4 Kerberos et PAM (modules d'authentification enfichables).

  • Pour qu'une application utilise Kerberos, ses sources doivent être modifiées afin de faire les appels appropriés dans les bibliothèques Kerberos. Pour certaines applications, ceci peut poser de nombreux problèmes en raison de la taille et de la conception de l'application. Pour d'autres applications qui ne sont pas compatibles, des modifications doivent être apportées à la manière dont les serveurs et les clients communiquent entre eux. Là encore, il se peut que des modifications importantes au niveau de la programmation soient nécessaires. Les applications dont les sources ne sont pas accessibles et dont le support pour Kerberos n'est pas disponible sont celles posant généralement le plus de problèmes.

  • Kerberos suppose que vous êtes des utilisateurs sécurisés utilisant un hôte non sécurisé sur un réseau non sécurisé. Son but primaire est d'empêcher que des mots de passe en texte clair ne soient envoyés à travers ce réseau. Toutefois, si quelqu'un d'autre que l'utilisateur normal a physiquement accès à l'hôte qui émet les tickets utilisés pour l'authentification — nommé centre de distribution de clés ('key distribution center' KDC) — tout le système d'authentification Kerberos est menacé d'être compromis.

  • Avec un solution Kerberos, c'est tout ou rien. Si vous décidez d'utiliser Kerberos sur votre réseau, rappelez-vous bien que tout mot de passe transmis à un service qui n'utilise pas Kerberos pour l'authentification risque d'être intercepté par des renifleurs de paquets. Dans de telles conditions, votre système ne tirera aucun avantage de l'utilisation de Korberos. Afin de sécuriser votre réseau avec Korberos, vous devez soit utiliser des versions 'kerberisées' de toutes les applications client/serveur qui envoient des mots de passe en texte clair, soit ne pas utiliser du tout ces applications client/serveur sur votre réseau.