[Kerberos] Mise en place
3. Configurer les machines clientes Solaris 9 et 8
3.1. kerberization de rlogin, telnet, ftp, rsh, rcp
- Copier/coller le fichier krb5.conf du serveur.
- Installer le package SEAM 1.0.2 (vu précédement)
- Remplacer les fichiers binaires de rlogin, telnet, ftp, rsh, rcp non kerbérisé par ceux de SEAM se trouvant dans /usr/krb5/bin.
- Créer les principaux des services et les ajouter dans les fichiers keytab des machines clientes. Noter que ftp a besoin du ticket ftp/nom_machine.laas.fr alors que les autres services cités dans ce paragraphe reposent sur host/nom_machine.laas.fr.
- Se re-loguer (par le biais de pam.conf le système demande un ticket au KDC pour l’utilisateur valable 8 heures, en utilisant le mot de passe de celui-ci pour chiffrer les informations). Par exemple faire un rlogin -l login nom_machine, la machine cliente ayant le ticket de l’utilisateur, ne lui demande plus son mot de passe et peut communiquer avec KDC par le biais du TGT.
3.2. Kerberization du login
Après avoir installé SEAM, vous pouvez modifier le fichier /etc/pam.conf de la façon suivante pour permettre l’authentification Kerberos après l’authentification unix lors de la phase de login, celle-ci permettra d’obtenir un ticket dès lors que l’on se connecte sur une machine.
login auth required pam_krb5.so.1 try_first_pass
#try_first_pass permet de tester l’authentification kerberos en même temps que celle du système.
rlogin auth optional pam_krb5.so.1 try_first_pass other auth optional pam_krb5.so.1 try_first_pass
Les lignes suivantes quant à elles permettent pour aux différents services, d’accepter la connexion si vous êtes en possession de votre TGT :
kftp auth required pam_krb5.so.1 acceptor ktelnet auth required pam_krb5.so.1 acceptor krlogin auth required pam_krb5.so.1 acceptor krsh auth required pam_krb5.so.1 acceptor
3.3. Kerberization d’openSSH
- Commencer par installer kerberos du MIT :
Les bibliothèques GSSAPI et ses fichiers include sont normalement compris dans Kerberos. Mais les packages Kerberos fournis par les CD de Solaris 9 ne mettent pas en place tous les fichiers nécessaires à la compilation de LDAP avec Kerberos.
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 (qui se trouve 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 installer en précisant l’endroit d’installation pour ne pas écraser la version Kerberos fourni par Solaris :
./configure -prefix=/local/Kerberos -enable-shared
Make
Make install
Cela va générer les bibliothèques Kerberos et les fichiers includes manquants.
- Télécharger la dernière version d’openssh sur www.openssh.org (openssh-3.6p1.tar.gz)
- Télécharger ensuite un patch spéciale GSSAPI pour openssh à l’adresse :
http://www.sxw.org.uk/computing/patches/openssh.html
Installer ce patch :
Pour éviter une erreur copier les lignes suivantes dans le fichier conpat.h d’openssh :
#define SSH_BUG_FIRSTKEX 0x01000000
#define SSH_OLD_GSSAPI 0x02000000
#define SSH_BUG_GSSAPI_BER 0x04000000
Ensuite :
% tar -xvzf openssh-3.4p1.tar.gz
_ % mv openssh-3.4p1-gssapi-20020627.diff openssh-3.4p1
_ % cd openssh-3.4p1
_ % patch < openssh-3.4p1-gssapi-20020627.diff
_ % autoreconf
- Télécharger la dernière version de OpenSSL (www.openssl.org) et l’installer :
./configure
make
make install
Celle-ci est nécessaire pour avoir les bibliothèques de cryptographie nécessaire à SSH.
- Maintenant compiler et installer :
%setenv CPPFLAGS "-I/local/kerberos/include -I/local/SSL/include -I/local/kerberos/include/gssapi"
%setenv LDFLAGS "-L/local/kerberos/lib -L/local/SSL/lib"
%./configure --with-kerberos5=/local/kerberos/ --prefix=/local/SSH --with-ssl-dir=/local/SSL
%make
%setenv LD_LIBRARY_PATH /local/kerberos/lib
%make install
Grâce au patch cela installera les binaires openssh kerberizés.
Pour finir :
- Copier les binaires ssh et les bibliothèques kerberos sur tous vos clients Solaris en spécifiant le chemin de ceux ci dans leur .login.
- Ajouter les principaux host/machine.laas.fr de toutes les machines ayant un démon ssh kerberizé dans le KDC et dans les fichiers keytab.
- Lancer vos serveurs sshd.
- Faire un kinit d’un utilisateur pour qu’il obtienne un TGT.
- Faire votre commande ssh kerb, celle-ci, utilisera votre ticket pour communiquer avec le KDC et vous identifiera sans que vous ailliez à vous authentifier une nouvelle fois.
PS : Attention à la résolution des noms que fait NIS (il renvoie kerb au lieu de kerb.laas.fr). Il faut donc modifier le fichier nsswitch.conf en inversant l’ordre NIS+ DNS par DNS NIS+. Car le DNS fourni le nom de la machine suivi du domaine. Ce que ne fait pas NIS+.
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