Bonjour!
J'aimerais savoir s'il est possible avec kerberos de mettre en place une SSO depuis l'ouverture d'une session linux ou windows et qu'il y ait prolifération des identification pour d'autre application neccessitant une authentification.
En fait dans sa configuration de base, tu appelles un programme appelé "kinit", tu fournis ton nom d'utilisateur et un mot de passe, et le "serveur Kerberos", il te donne un "ticket", qui est stocké sous forme d'un petit fichier.
Les noms consacrés pour le nom d'utilisateur sont "principal", et pour ce que j'ai appelé "serveur Kerberos", on parle
de KDC (key distribution center).
Après tu peux théoriquement utiliser le ticket pour te connecter au différents services, sans avoir à te resigner. Mais c'est là que ça devient compliqué. Il faut que les services soient "kerbérisés", ce qui signifie que :
* le code du programme (serveur et client) doit être spécifiquement prévu pour supporter Kerberos. Il existe des versions kerberisées de telnet, ftp, rlogin. openssh, postgresql, samba, openldap, firefox, lynx.... Il existe un module kerberos pour apache. Le futur NFSv4 devrait le supporter.
* le programme (serveur et client) doit être compilé avec le support Kerberos, ce qui n'est pas toujours le cas, ni dans les distributions Linux ni dans les Unix propriétaires. Dans Debian 3.1 (Sarge), la plupart des packages ont l'air d'être systématiquement kerberisés (postgreql, firefox, ssh), mais ce n'était pas le cas de Debian 3.0 (Woody), par exemple. L'adoption de Kerberos a été longue, à cause des restrictions à l'exportation des logiciels de cryptage aux USA.
* le programme (serveur) doit être configuré pour supporter Kerberos. En gros il faut déclarer un utilisateur (principal) pour le service, générer une clef, et l'ajouter dans un fichier de configuration (/etc/krb5.keytab, de mémoire) sur la machine sur laquelle tourne le service.
* l'implémentation entre le client et le serveur doivent être compatibles. Par exemple, la kerberisation d'openssh est encore
considérée par les auteurs du programme comme expérimentale. Entre les version 3.7 et 3.8 elle a changé sans préavis. Ce qui fait que le client openssh kerberisé sous Woody est incompatible avec le serveur sous Sarge (et réciproquement).
Pour ce qui est de Windows, l'infrastructure Active Directory repose sur Kerberos 5. Un serveur Active Directory peut être très facilement utilisé comme KDC par des machines UNIX, mais naturellement l'inverse est plus difficile, car Active Directory est plus que Kerberos 5. A priori le futur Samba 4 devrait pouvoir agir comme un contrôleur de domaine Active Directory.
Pour résumer, la réponse est oui, mais il faut que tu regardes avec attention les services que tu veux déployer et les postes client que tu utilises ...
# RE: Kerberos et SSO.
Posté par tontonflingueur . Évalué à 2.
En fait dans sa configuration de base, tu appelles un programme appelé "kinit", tu fournis ton nom d'utilisateur et un mot de passe, et le "serveur Kerberos", il te donne un "ticket", qui est stocké sous forme d'un petit fichier.
Les noms consacrés pour le nom d'utilisateur sont "principal", et pour ce que j'ai appelé "serveur Kerberos", on parle
de KDC (key distribution center).
Après tu peux théoriquement utiliser le ticket pour te connecter au différents services, sans avoir à te resigner. Mais c'est là que ça devient compliqué. Il faut que les services soient "kerbérisés", ce qui signifie que :
* le code du programme (serveur et client) doit être spécifiquement prévu pour supporter Kerberos. Il existe des versions kerberisées de telnet, ftp, rlogin. openssh, postgresql, samba, openldap, firefox, lynx.... Il existe un module kerberos pour apache. Le futur NFSv4 devrait le supporter.
* le programme (serveur et client) doit être compilé avec le support Kerberos, ce qui n'est pas toujours le cas, ni dans les distributions Linux ni dans les Unix propriétaires. Dans Debian 3.1 (Sarge), la plupart des packages ont l'air d'être systématiquement kerberisés (postgreql, firefox, ssh), mais ce n'était pas le cas de Debian 3.0 (Woody), par exemple. L'adoption de Kerberos a été longue, à cause des restrictions à l'exportation des logiciels de cryptage aux USA.
* le programme (serveur) doit être configuré pour supporter Kerberos. En gros il faut déclarer un utilisateur (principal) pour le service, générer une clef, et l'ajouter dans un fichier de configuration (/etc/krb5.keytab, de mémoire) sur la machine sur laquelle tourne le service.
* l'implémentation entre le client et le serveur doivent être compatibles. Par exemple, la kerberisation d'openssh est encore
considérée par les auteurs du programme comme expérimentale. Entre les version 3.7 et 3.8 elle a changé sans préavis. Ce qui fait que le client openssh kerberisé sous Woody est incompatible avec le serveur sous Sarge (et réciproquement).
Pour ce qui est de Windows, l'infrastructure Active Directory repose sur Kerberos 5. Un serveur Active Directory peut être très facilement utilisé comme KDC par des machines UNIX, mais naturellement l'inverse est plus difficile, car Active Directory est plus que Kerberos 5. A priori le futur Samba 4 devrait pouvoir agir comme un contrôleur de domaine Active Directory.
Pour résumer, la réponse est oui, mais il faut que tu regardes avec attention les services que tu veux déployer et les postes client que tu utilises ...
Voilà
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.