La sécurité et l'intégrité d'un système au sein d'un réseau peut représenter une lourde tâche. En effet, elle peut monopoliser le temps de plusieurs administrateurs rien que pour effectuér le suivi des services en cours d'exécution sur un réseau et de la manière dont ils sont utilisés. De plus, l'authentification des utilisateurs aux services réseau peut s'avérer être une opération dangereuse lorsque la méthode utilisée par le protocole est pas essence non sécurisée, comme l'ont démontré les protocoles FTP et telnet qui transmettent les mots de passe de manière non cryptée sur le réseau. Kerberos est un moyen d'éliminer le besoin de protocoles qui utilisent des méthodes d'authentification vulnérables et de renforcer ainsi la sécurité réseau en général.
Kerberos est un protocole d'authentification réseau créé par MIT et utilisant une cryptographie à clés symétriques [1] pour authentifier les utilisateurs aux services 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 auprés des services 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.
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 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, il est essentiel d'une part que le réseau soit inaccessible aux utilisateurs externes et d'autre part, que tous les ordinateurs et utilisateurs sur le réseau soient dignes de confiance.
Même si c'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 à tout pirate obtenant 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'utilisateurs et des mots de passe envoyés en texte clair. Dans de telles circinstances, les comptes utilisateur 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.
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 du FAQ de Kerberos qui se trouve à l'URL suivante :
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 Enterprise Linux. Pour plus d'informations, reportez-vous à la Section 18.4.
Kerberos suppose que tout utilisateur est digne de confiance et utilise 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 — appelé centre de distribution de clés (ou KDC de l'anglais Key Distribution Center) — tout le système d'authentification Kerberos est menacé d'être compromis.
Pour qu'une application utilise Kerberos, ses sources doivent être modifiées afin de faire les appels appropriés dans les bibliothèques Kerberos. Les applications modifiées de la sorte sont considérées comme étant kerberiées.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 par défaut sont celles posant généralement le plus de problèmes.
Avec une solution Kerberos, c'est tout ou rien. Une fois que Kerberos est utilisésur le réseau, tout mot de passe non crypté transmis à un service non kerberisé risque d'être intercepté. Dans de telles circonstancess, le système ne tirera aucun avantage de l'utilisation de Korberos. Afin de sécuriser votre réseau avec Kerberos, vous devez soit utiliser des versions kerberisées de toutes les applications client/serveur qui envoient des mots de passe en texte clair, soit n'utiliser absolument aucune application client/serveur.
[1] | Un système au sein duquel bien le client que le serveur partagent une clé commune qui est utilisée pour crypter ou décrypter les communications réseau |
Précédent | Sommaire | Suivant |
Ressources supplémentaires | Niveau supérieur | Terminologie Kerberos |