Service Desk <[email protected]

1. Préambule

Configuration d’un hôte en liaison avec les services d’annuaire pour permettre l’identification et l’authentification avec un certificat installé et configuré à travers un transport SSL/TLS sécurisant les transactions LDAP. Grossièrement, établir une liaison de confiance entre un hôte et un service d’annuaire.

Toutes les plateformes Unix (Solaris, GNU/Linux ou BSD) qui nécessitent une liaison sécurisée conjointe avec un annuaire peuvent reprendre quasiment intégralement cette méthode.

2. Ubuntu 16.04, 10.04 & 11.xx

2.1. Installation des packages

% sudo apt-get install libpam-ldapd libnss-ldapd nss-updatedb libnss-db nscd nslcd ldap-utils

L’installation des packages implique de répondre aux questions suivantes:

LDAP server Uniform Resource Identifier:

ldap://ldap.epfl.ch

Distinguished name of the search base:

o=epfl,c=ch

Name services to configure:

[ ] aliases
[ ] ethers
[*] group
[ ] hosts
[ ] netgroup
[ ] networks
[*] passwd
[ ] protocols
[ ] rpc
[ ] services
[*] shadow

2.2. Certificats

Récupération des certificats EPFL (facultatif) et Quovadis avant d’appliquer la configuration.

% sudo mkdir -p /etc/openldap/cacerts

#- Le certificat EPFL n'est pas obligatoire, mais peut être utile.
% sudo wget -O /etc/openldap/cacerts/epflca.pem http://certauth.epfl.ch/epflca.pem
% sudo wget -O /etc/openldap/cacerts/Quovadis_Root_CA_2.pem http://rauth.epfl.ch/Quovadis_Root_CA_2.pem
% cd /etc/openldap/cacerts

#- Dans le cas où les deux certificats, EPFL et Quovadis, sont utilisés:
% sudo sh -c 'cat epflca.pem Quovadis_Root_CA_2.pem > epfl.pem'
% sudo sh -c 'echo "tls_cacertfile /etc/openldap/cacerts/epfl.pem" >> /etc/nslcd.conf'

#- Seul le certificat Quovadis est utilisé:
% sudo sh -c 'echo "tls_cacertfile /etc/openldap/cacerts/Quovadis_Root_CA_2.pem" >> /etc/nslcd.conf'

2.3. Mise à jour du fichier nslcd.conf

% sudo sh -c 'echo "ssl start_tls" >> /etc/nslcd.conf'
% sudo /etc/init.d/nslcd restart

2.4. Vérification

Vérifier que l’auhtentification LDAP est bien active avec:

% sudo pam-auth-update

2.5. Test

% getent passwd

Après il faut redémarrer l’interface graphique, et comme Ubuntu est en runlevel 2: reboot

2.6. Sécurité

Ajouter une ligne du style dans le fichier /etc/nslcd.conf:

filter passwd |(uidNumber=1216)(gidNumber=10072)(memberOf=Impressions)

avec | = OU, les autres champs sont ceux de ldap.

Relire la nouvelle configuration:

% sudo /etc/init.d/nslcd restart

Vous pouvez également utiliser le fichier /etc/security/access.conf pour restreindre vos accès.

3. RHEL 6.x & Fedora 16

3.1. Installation des packages

# yum install pam_ldap nss-pam-ldapd

3.2. Backup de la configuration actuelle

# authconfig  --savebackup=myConfiguration

3.3. Certificats

Récupération des certificats EPFL (facultatif) et Quovadis avant d’appliquer la configuration.

% sudo mkdir -p /etc/openldap/cacerts

#- Le certificat EPFL n'est pas obligatoire, mais peut être utile.
% sudo wget -O /etc/openldap/cacerts/epflca.pem http://certauth.epfl.ch/epflca.pem
% sudo wget -O /etc/openldap/cacerts/Quovadis_Root_CA_2.pem http://rauth.epfl.ch/Quovadis_Root_CA_2.pem
% sudo cacertdir_rehash /etc/openldap/cacerts

3.4. Configuration LDAP

# authconfig --kickstart --enableshadow --enablemd5 --passalgo=sha512 --enableldap --ldapserver=ldap.epfl.ch --ldapbasedn=o=epfl,c=ch --enableldapauth --enableforcelegacy --enableldaptls --disablefingerprint --updateall

3.5. Test

% getent passwd

Après il faut redémarrer l’interface graphique: init 3; init 5

3.6. Sécurité

Ajouter une ligne du style dans le fichier /etc/pam_ldap.conf:

pam_filter |(uidNumber=1216)(gidNumber=10075)

avec | = OU, les autres champs sont ceux de ldap.

Relire la nouvelle configuration:

% sudo /etc/init.d/nslcd restart

Vous pouvez également utiliser le fichier /etc/security/access.conf pour restreindre vos accès, à condition d’activer l’option --enablepamaccess avec authconfig.

4. RHEL 5.x

4.1. Installation des packages

Aucun package supplémentaire est nécessaire.

4.2. Certificats

Récupération des certificats EPFL (facultatif) et Quovadis avant d’appliquer la configuration.

% sudo mkdir -p /etc/openldap/cacerts

#- Le certificat EPFL n'est pas obligatoire, mais peut être utile.
% sudo wget -O /etc/openldap/cacerts/epflca.pem http://certauth.epfl.ch/epflca.pem
% sudo wget -O /etc/openldap/cacerts/Quovadis_Root_CA_2.pem http://rauth.epfl.ch/Quovadis_Root_CA_2.pem
% sudo cacertdir_rehash /etc/openldap/cacerts

4.3. Configuration LDAP

# authconfig --kickstart --enableshadow --enablemd5 --passalgo=sha512 --enableldap --ldapserver=ldap.epfl.ch --ldapbasedn=o=epfl,c=ch --enableldapauth --disablesssd --disablesssdauth --enableldaptls --disablekrb5

4.4. Test

% getent passwd

Après il faut redémarrer l’interface graphique: init 3; init 5

4.5. Sécurité

Ajouter une ligne du style dans le fichier /etc/ldap.conf:

pam_filter |(uidNumber=1216)(gidNumber=10075)

avec | = OU, les autres champs sont ceux de ldap.

Vous pouvez également utiliser le fichier /etc/security/access.conf pour restreindre vos accès, à condition d’activer l’option --enablepamaccess avec authconfig.