RHEL6/OL6 et Oracle Unified Directory (1/2) : Authentification LDAP

Si vous centralisez la gestion de vos utilisateurs dans un LDAP comme Oracle Unified Directory pour vos bases de données Oracle, il est naturel que vous en fassiez de même de vos utilisateurs Linux/Unix. En fait, cette configuration vient même probablement bien avant parmi les étapes qui améliorent la gestion de vos utilisateurs/administrateurs.

La bonne nouvelle c’est que, ici encore, la configuration n’est qu’une question de minutes. C’est le sujet de ce premier article consacré à l’utilisation de l’authentification LDAP via le « PAM LDAP » de RHEL6 et Oracle Linux 6 avec Oracle Unified Directory. Vous n’aurez aucun mal à l’adapter à d’autres versions et à d’autres annuaires.

Un prochain article présentera comment déléguer l’accès à des comptes et des commandes tels que root via la configuration de sudo dans l’annuaire. Mais c’est déjà une autre histoire…

Installer et configurer le PAM LDAP

Pour installer le module d’authentification LDAP sur Oracle Linux 6 ou Redhat Enterprise Linux 6, vous installerez le rpm nss-pam-ldapd. Si vous avez un référentiel YUM, lancez simplement la commande ci-dessous:

yum install nss-pam-ldapd

Note:
Sinon, installez un référentiel YUM ! Tout ce dont vous avez besoin, à peu de chose prêt c’est un serveur Apache…

La configuration de votre serveur Linux n’est guère plus complexe. Il suffit d’utiliser la commande authconfig comme ci-dessous, ou, si vous préférez la configuration à l’aide d’un assistant, authconfig-tui :

authconfig 
--enablemkhomedir --enableldap
--enableldapauth --ldapserver=blue:1389
--ldapbasedn="dc=arkzoyd,dc=com" --updateall

Les éléments que vous utiliserez sont :

  • --enableldap pour indiquer que vous acceptez que la gestion des utilisateurs s’appuie sur un LDAP
  • --enableldapauth pour indiquer que vous acceptez que l’authentification des utilisateurs s’appuie sur un LDAP
  • --ldapserver pour indiquer l’adresse de votre LDAP
  • --enableldaptls et --enableldapstarttls pour indiquer que vous voulez utiliser TLS pour sécuriser le lien avec le LDAP. Notez que vous devrez, pour une utilisation en production, non seulement activer cette sécurité; mais également enregistrer le certificat du serveur LDAP en éditant /etc/pam_ldap.conf et en activant les paramètres tls_checkpeer yes et tls_cacertfile
  • --ldapbasedn définit le DN de base de votre configuration
  • --updateall indique que vous voulez que la configuration soit mise à jour
  • --enablecache et --enablecachecreds pour assurer l’accès à vos serveurs, même si le LDAP est indisponible. On préfèrera ne pas utiliser ces deux dernières options. Si vous n’avez plus de LDAP, vous aurez des sérieux problèmes plus sérieux que vos applications ou vos serveurs Oracle.

Mettre à jour les entrées dans le LDAP

Vous pourrez alors définir des groupes et des utilisateurs Linux/Unix dans votre annuaires. Par exemple, un groupe qui possède la classe auxiliaire posixGroup et a un attribut gidNumber est un groupe Posix. Voici un exemple de fichier LDIF qui fonctionne dans la configuration décrite précédemment et définit un groupe « SA » :

dn: cn=SA,ou=Groups,dc=arkzoyd,dc=com
objectClass: top
objectClass: groupOfUniqueNames
objectClass: posixGroup
cn: SA
gidNumber: 3000

Voici un autre exemple de groupe secondaire dans lequel vous listez les utilisateurs avec l’attribut uniqueMember :

dn: cn=MailUsers,ou=Groups,dc=arkzoyd,dc=com
objectClass: groupOfUniqueNames
objectClass: posixGroup
objectClass: top
cn: MailUsers
gidNumber: 3001
uniqueMember: cn=Gregory,ou=People,dc=arkzoyd,dc=com

Par ailleurs, vous modifierez les classes auxiliaires et les attributs des utilisateurs existant pour leur permettre de se connecter. Voici un exemple avec l’utilisateur Gregory auquel vous ajouterez les classes shadowAccount et posixAccount et les attributs gidNumber, uidNumber et homeDirectory :

dn: cn=Gregory,ou=People,dc=arkzoyd,dc=com
changetype: modify
add: objectClass
objectClass: shadowAccount

dn: cn=Gregory,ou=People,dc=arkzoyd,dc=com
changetype: modify
add: objectClass
objectClass: posixAccount
-
add: gidNumber
gidNumber: 3000
-
add: uidNumber
uidNumber: 3001
-
add: homeDirectory
homeDirectory: /home/Gregory

Tester la configuration

Il ne reste plus qu’à tester la configuration :

ssh Gregory@yellow
Gregory@yellow's password:

$ id
uid=3001(Gregory) gid=3000(SA) groups=3000(SA),3001(MailUsers)

Et l’enrichir en fonction de vos besoins. Pour avoir une description des éléments de configuration de votre LDAP, reportez-vous à la RFC 2307.  C’est expérimental mais ça fait un moment que ça dure…

2 réflexions sur “RHEL6/OL6 et Oracle Unified Directory (1/2) : Authentification LDAP”

Les commentaires sont fermés.