# Kerberos v5 et Mac os X ???



## claw59 (3 Août 2006)

bonjour, j'aurai besoin d'utiliser kerberos dans xcode pour valider l'utilisation d'une librairie MPI.

je possède les outils adéquat: kinit, krb5_util, etc... mais je n'arrive pas ç les utiliser correctement.

Le problème c'est que je n'arrive pas à démarrer et configurer efficacement Kerberos.

j'ai récupéré MAC OSX Kerberos Extra.dmg sur le site du mit, c'est à dire à cet endroit, 
mais même en me référant à la documentation du site mère, je n'arrive pas à configurer kerberos.

mon problème:
impossible de réussir à créer un principal et un mot de passe associé
impossible de réussir à créer un KDC (forcément pas de principal)

mais le problème de base : les royaumes ??
comment spécifier une valeur par défaut de la variable realm pour un ordinateur en local ??

cela fait beaucoup de question, mais là vous me seriez très utile !

merci à l'avance de votre aide.


----------



## molgow (3 Août 2006)

Je ne suis pas s&#251;r mais dans l'id&#233;e :

- modifier ton fichier /etc/hosts et y ajouter une ligne du type :
    127.0.0.1 localhost mycomputer

- &#233;diter ton fichier /etc/krb5.conf de cette mani&#232;re :
[libdefaults]
  default_realm = MY_REALM
  dns_lookup_realm = false
  dns_lookup_kdc = false

[domain_realm]
        mycomputer = MY_REALM
[realms]
     MY_REALM = {
                      admin_server = mycomputer
                      kdc          = mycomputer
                    }


J'ai d&#251; monter r&#233;cemment un syst&#232;me avec Kerberos en local (avec des sp&#233;cialit&#233;s en plus) et il me semble qu'on avait &#233;t&#233; oblig&#233; d'utiliser le truc de la modification du fichier "hosts" mais j'avoue que je ne suis pas s&#251;r.


----------



## tatouille (3 Août 2006)

kerberos OSX part 1


kerberos OSX part 2


kerberos OSX part 3


----------



## claw59 (3 Août 2006)

merci pour tout ces liens, je vais les essayer et je vous dirai le résultat.


----------



## tatouille (3 Août 2006)

claw59 a dit:
			
		

> merci pour tout ces liens, je vais les essayer et je vous dirai le résultat.


ce tuto est très bien fait


----------



## claw59 (3 Août 2006)

oui il est complet un peu trop peut être orienté mac os x server j'ai l'impression.

Après les paramètres spécifiés par .... dans le fichier /etc/kdb5.conf
et les infos ...
j'obtiens le résultat suivant pour la création de la base de données kerberos:

j'ai réussi à créer le fichier .kerberos pour spécifier une utilisation locale qui s'est placé dans /Library/Préférences/emit.edu.kerberos

c'est déjà cela, par contre je n'arrive pas à trouver la commande en ligne:
kdcsetup sur mon ordinateur.

aucune trace, apparemment il existerai seulement sur Mac os x server

j'ai donc essayé de créer une base avec 'kdb5_util' mais là ça coince !


Mac-mini:~ Admin1$sudo kdb5_util create
Loading random data
Initializing database '/var/db/krb5kdc/principal' for realm 'MY_REALM',
master key name 'K/M@MY_REALM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: 
Re-enter KDC database master key to verify: 
create: No such file or directory while creating database '/var/db/krb5kdc/principal

vous n'auriez pas un petit indice par hasard ???


----------



## tatouille (4 Août 2006)

sudo mkdir -p /private/var/db/krb5kdc


----------



## claw59 (4 Août 2006)

déjà essayé mais cela ne marche pas non plus,

apparemment, ce serait plus à cause de l'absence d'un fichier de configuration nommé:
kdc.conf qui doit fonctionner de pair avec krb5.conf par exemple regarder ici


----------



## claw59 (4 Août 2006)

sudo kdb5_util create -r MY_REALM -s

Loading random data
Initializing database '/var/db/krb5kdc/principal' for realm 'MY_REALM',
master key name 'K/M@MY_REALM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: 
Re-enter KDC database master key to verify: 
gethostbyname: Invalid argument

en tout cas je suis certain d'être tout proche de la solution

détail de mon fichier /etc/hosts
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost mycomputer
255.255.255.255 broadcasthost
::1             localhost


----------



## claw59 (4 Août 2006)

j'ai l'impression qu'il existe une erreur dans mon fichier krb5.conf

[realms]
MY_REALM={
kdc=kdcserver.mycomputer:88
admin_server=kdcserver.mycomputer:749
default_domain=mycomputer
}

kdcserver ou autre chose ??


----------



## molgow (4 Août 2006)

"kdcserver.mycomputer" : tu as d&#233;fini &#231;a quelque part ?


----------



## claw59 (4 Août 2006)

non, mais je crois que cela veut dire que le serveur kdc doit se servir du domaine nommé ici mycomputer

sinon comment ferait tu pour le déclarer ? dans le fichier /etc/hosts surement ??

127.0.0.1 localhost kdcserver.mycomputer 

peut être ou je me trompe ??
en tout cas cela donne toujours le même genre d'erreur.

le pire c'est que si je fais : ping -c 110 mycomputer
je ping correctement sur localhost

d'après des recherches sur le web, il existerai un conflit potentiel entre ipv4 et ipv6
voir par ici

Pour l'instant cela coince et c'est dommage. j'ai l'impression d'être réelllement à deux petits cheveux de réussir et ça te file entre les doigts.....


----------



## tatouille (8 Août 2006)

_ d'apr&#232;s des recherches sur le web, il existerai un conflit potentiel entre ipv4 et ipv6_

 gethostbyname: Invalid argument 

l'argument que tu envoies &#224; gethostbyname 
donc j'imagine *gethostbyname(*MY_REALM*)

*MY_REALM doit avoir une forme non acceptable ? n'est pas bon ou n'est pas "r&#233;solver"
tape hostname et d&#233;clare ca en realm 
ou declare localhost en realm pour tester*

sinon
*
*gethostbyname* renvoie une IPV4

*gethostbyname*(_const_ _char_ _*name_);


essaye de configurer d'abord ipv4 pour que 
*gethostbyname renvoie 127.0.0.1* 

inet 127.0.0.1 netmask 0xff000000 
inet6 ::1 prefixlen 128 
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

et non

inet6 ::1 prefixlen 128 
 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000 

c'est archaic mais l'ordre a son importance


[libdefaults]
         default_realm = ATHENA.MIT.EDU

     [realms]
         ATHENA.MIT.EDU = {
             kdc = kerberos.mit.edu
             kdc = kerberos-1.mit.edu
             kdc = kerberos-2.mit.edu
             admin_server = kerberos.mit.edu
         }

     [logging]
         kdc = FILE:/var/log/krb5kdc.log
         admin_server = FILE:/var/log/kadmin.log
         default = FILE:/var/log/krb5lib.log

ca devrait fonctionner ... le probleme est peu etre ailleurs


----------



## claw59 (9 Août 2006)

je te remercie beaucoup de perdre ton temps à essayer de résoudre mon petit problème, .... c'est vachement sympa de ta part.


----------



## claw59 (9 Août 2006)

l'outil 'ifconfig' me fournit le renseignement suivant:

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000 
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 

je me demande si c'est pas le fait plutôt d'utiliser directement le localhost comme adresse qui empêche de créer une base de donnée  KDC et donc de pouvoir activer des tickets pour utiliser kerberos.

je me demande s'il faudrait pas plutôt passer par un serveur ftp stocké en local ce qui devrait permettre de conserver une adresse serveur virtuelle alors qu'il reste en local, car si je ne me trompe pas...en local il se branche sur l'adresse, identifie la connexion puis la coupe automatiquement, puisqu'à la base 127.0.0.1 est une simple adresse de test.

juste une réflection en passant à la lecture de site web concernant l'utilisation d'un réseau.


----------



## claw59 (10 Août 2006)

je viens de trouver un site web très intéressant sur :
Kerberos et Tiger 
voir sur cette page

finalement j'ai cherché un peu midi à 14h....


----------



## tatouille (10 Août 2006)

claw59 a dit:
			
		

> l'outil 'ifconfig' me fournit le renseignement suivant:
> 
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
> inet 127.0.0.1 netmask 0xff000000
> ...


sur ta premiere inteface en0
rien ne t'inderdit d'ajouter

sudo ifconfig add en0 192.168.0.42

et de proteger avec ip forward "192.168.0.42"

puis de monter ton server dessus mais bon ce n'est pas le probleme

" La configuration de Kerberos (/etc/krb5.conf) n"est pas n&#233;cessaire, si les enregistrements du service DNS sont correctement configur&#233;s pour Kerberos."

donc je pense que c'est bien un probleme de "resolver" ton domain DNS n'est pas trouv&#233;

essaye d'ajouter MY_REALM dans netinfo &#224; 127.0.0.1 DNS localhost ajoute un alias MY_REALM


----------



## claw59 (10 Août 2006)

bon voici ma démarche:

creation de la base :
sudo kdb5_util create ATHENA.MIT.EDU

base crée avec demande de mot de passe

ajout des principaux:
sudo kadmin.local add_principal -pw motdepasse prince/admin@ATHENA.MIT.EDU

sudo kadmin ktadd -k /etc/krb5.keytab prince/admin@ATHENA.MIT.EDU
création d'un fichier keytab 

sudo krb5kdc &
lancement du daemon

sudo kinit prince/admin
et là ça coince:
Kerberos Login Failed: Client not found in Kerberos database

sudo klist -k me donne:
 2 prince/admin@ATHENA.MIT.EDU
 2 prince/admin@ATHENA.MIT.EDU

et je précise que mon pare-feu est désactivé

j'ai regardé les fichiers existent !! (principal pour la base , fichier keytab...)

mystère, mystère....


----------



## claw59 (10 Août 2006)

ps: je viens de découvrir que la gestion des 'resolver' sous Tiger s'effectue grâce à l'outil de commande:

scutil --dns //pour afficher tout les DNS résolus.

je vais essayer d'y inclure athena.mit.edu en localhost.
on verra bien.


----------



## claw59 (10 Août 2006)

eh bien en faisant:
scutil --set HostName athena.mit.edu

ma machine résoud le dns vers localhost en effet, mais je reste pour l'instant au même point.

impossible de se logger sur les principaux inscrit dans la base de donnée.
mystère, mystère ......

est-il possible que ce soit un problème de clef inscrit dans le fichier Keytab ???
genre : il utilise le cryptage rsa au lieu de rsa1 ou dsa..

quel est le bon type de clef pour keytab ????


----------

