[Kerberos] Mise en place

8. Sécuriser les commandes LDAP avec Kerberos

8.1. Installation de Iplanet Directory Server 5.1

PB rencontré :

Le package Iplanet contenu dans les CD solaris 9 m’a posé un problème de taille. Lors de l’installation, celui-ci me demandait un nom d’administrateur et un mot de passe que je ne connaissais pas, c’est pourquoi, j’ai téléchargé et utilisé la version fourni par le site de Sun, l’installation de celle-ci fonctionne correctement.

Finalement, après de longue recherche, il est apparu que les authentifications LDAP kerberizés sont non supportées par ce logiciel, à moins d’acheter un patch payant. C’est d’ailleurs une grave erreur de la part de SUN qui prône les mérites de Kerberos. Donc, il faut installer d’Openldap, celui-ci est d’ailleurs le seul annuaire LDAP qui supporte des authentifications Kerberos sans à payer.

8.2. Installation d’Open LDAP

Pour commencer, installer de BerkeleyBD qui est un logiciel de gestion de donnée, il fournit au système des bibliothèques qui seront utilisées par Open LDAP.

Attention, /usr/local est un point d’automontage au laas, il faut donc installer ailleurs :

./configure -prefix=/local/BerbeleyDB
make
make install

Pour Installer Open Ldap avec l’option Kerberos, il faut utiliser GSSAPI et SASL :

Il faut donc télécharger les sources les plus récentes du MIT Kerberos qui se trouve a l’adresse suivante : http://www.mirrors.wiretapped.net/security/cryptography/apps/kerberos/krb5-mit/unix/

Important : Avant d’installer, il faut préciser l’endroit où vont se trouver les fichiers kr5.keytab et krb5.conf (ceux-ci se trouvent avec la version Solaris, dans /etc/krb5). Pour cela, il faut modifier le fichier krb5-1.2.8/src/include/krb5/stock/osconf.h :

#define DEFAULT_PROFILE_PATH "/etc/krb5/krb5.conf"
#endif
#define DEFAULT_KEYTAB_NAME "FILE:/etc/krb5/krb5.keytab"

Puis les compiler et les installer en précisant l’endroit d’installation pour ne pas écraser la version Kerberos fournie par Solaris :

./configure -prefix=/local/Kerberos -enable-shared
make
make install

Cela va générer les bibliothèques Kerberos et les fichiers include qu’il nous manquées.

Télécharger la dernière version de OpenSSL et l’installer :

./configure
make
make install

Maintenant, on peut télécharger la dernière version de SASL (ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/) puis l’installer :

setenv CPPFLAGS "-I/local/BerkeleyDB4.1/include -I/local/kerberos/include"
setenv LDFLAGS "-L/local/BerkeleyDB4.1/lib -L/local/kerberos/lib"

./configure --prefix=/local/SASL --enable-gssapi=/local/kerberos/include/gssapi --enable-krb4=no --enable-digest=no --enable-cram=no --enable-plain=no --enable-login=no
make
make install
ln -s /local/SASL/lib/sasl2 /usr/lib/sasl2

Ensuite tester SASL :

Aller dans la repertoire le repertoire sample :

make sample-server
make sample-client

Vérifiez que vous possédez un TGT (Klist).

Puis lancer les commandes suivantes et :

stty -icanon min 1 time 0 ; ./sample-server -s host -p ../plugins/.libs/
./sample-client -s host -n kerb.laas.fr -u jfressar -p ../plugins/.libs/

Vérifier que le mécanisme choisi est GSSAPI. Copier/coller les résultats de chacun jusqu’à obtention de ce message :

Negociation completed
Username : jfressar
SSF :56

Pour commencer, spécifier l’emplacement de vos installations ultérieurs :

setenv CPPFLAGS "-I/local/kerberos/include -I/local/BerkeleyDB4.1/include -I/local/SASL/include -I /local/SSL/include"
setenv LDFLAGS ""-I/local/kerberos/include -L/local/BerkeleyDB4.1/lib -L/local/SASL/lib -L/local/SSL/lib"

Ensuite, installer :

./configure --prefix=/local/LDAP --enable-kpasswd=yes --with-kerberos=yes --with-cyrus-sasl=yes
setenv LD_LIBRARY_PATH /local/SSL/lib:/local/kerberos/lib

Pour finir configurer votre fichier slapd.conf de la façon suivantes : … … …

access to attr=userPassword
by self write
by anonymous auth
by dn.base="cn=Manager,dc=laas,dc=fr" write
by * none
access to *
by self write
by dn.base="cn=Manager,dc=laas,dc=fr" write
by dn.base="uid=jfressar2,dc=laas,dc=fr" read
by * read

sasl-realm     LAAS.fr
sasl-host      kerb.laas.fr
sasl-regexp
uid=(.*),cn=.*,cn=.*,cn=auth
uid=$1,dc=laas,dc=fr

database        bdb
suffix          "dc=laas,dc=fr"
rootdn          "cn=Manager,dc=laas,dc=fr"
...
...

Lancer le serveur slapd puis tester :

Sans ticket cela ne fonctionne pas et avec un ticket Kerberos aucun mot de passe ne vous est demandée, mais les informations de la base ne vous sont fourni que si vous possédez un TGT. ldapsearch -b « dc=laas,dc=fr »

Pages: 1 2 3 4 5 6 7

Si vous avez apprécié cet article, s'il vous plait, prenez le temps de laisser un commentaire ou de souscrire au flux afin de recevoir les futurs articles directement dans votre lecteur de flux.

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)