Ignorer les liens de navigation | |
Quitter l'aperu | |
Utilisation des services de noms et d'annuaire dans Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
Partie I A propos des services d'annuaire et de noms
1. Services d'annuaire et de noms (présentation)
2. Commutateur du service de noms (présentation)
4. Configuration des clients Active Directory Oracle Solaris (tâches)
Partie II Configuration et administration NIS
5. Service d'information réseau (présentation)
6. Définition et configuration du service NIS (tâches)
7. Administration de NIS (tâches)
Partie III Service de noms LDAP
9. Introduction aux services de noms LDAP (présentation)
10. Exigences de planification pour les services de noms LDAP (tâches)
11. Configuration de Oracle Directory Server Enterprise Edition avec les clients LDAP (tâches)
12. Configuration des clients LDAP (tâches)
Conditions préalables à la configuration du client LDAP
LDAP et SMF (Service Management Facility, utilitaire de gestion des services)
Initialisation d'un client LDAP
Initialisation d'un client LDAP à l'aide de profils
Initialisation d'un client LDAP à l'aide d'identifications par utilisateur
Initialisation d'un client LDAP à l'aide d'identifications du proxy
Initialisation d'un client LDAP afin d'activer la mise à jour des données shadow
Initialisation manuelle d'un client LDAP
Modification d'une configuration client LDAP manuelle
Annulation de l'initialisation d'un client LDAP
Configuration de la sécurité TLS
Configuration PAM pour une utilisation de UNIX policy
Configuration PAM pour une utilisation de LDAP server_policy
Récupération des informations de services de noms LDAP
Etablissement de la liste de tous les conteneurs LDAP
Etablissement de la liste de tous les attributs entrée utilisateur
Personnalisation de l'environnement client LDAP
Modification du commutateur du service de noms pour LDAP
13. Dépannage LDAP (référence)
14. Service de noms LDAP (référence)
La commande ldapclient permet de configurer des clients LDAP sur un système Oracle Solaris. La commande considère que le serveur a déjà été configuré avec les profils client adéquats. Vous devez installer et configurer le serveur avec les profils qui conviennent avant de pouvoir configurer les clients.
Remarque - Etant donné que LDAP et NIS utilisent le même composant de nom de domaine, défini dans le service network/nis/domain, le SE Oracle Solaris ne prend pas en charge une configuration où un client NIS et un client LDAP coexistent sur le même système client.
La commande ldapclient offre deux méthodes principales de configuration de client.
Profil
Vous devez au moins indiquer l'adresse du serveur contenant le profil et le domaine que vous souhaitez utiliser. Si aucun profil n'est spécifié, celui "par défaut" est utilisé. Le serveur fournit le reste des informations nécessaires, à l'exception de celles relatives à la base de données de certificats et au proxy. Si le niveau d'identification du client est proxy ou proxy anonymous, vous devez fournir le mot de passe et le DN de liaison du proxy. Pour plus d'informations, reportez-vous à la section Affectation de niveaux d'identification client.
Pour activer les mises à jour des données en double, vous devez fournir les informations d'identification administrateur (adminDN et adminPassword ).
Manuelle
Vous pouvez configurer le profil sur le client lui-même, ce qui implique que vous définissez tous les paramètres à partir de la ligne de commande. Par conséquent, les informations de profil sont stockées dans des fichiers en mémoire cache et ne sont jamais actualisées par le serveur.
Remarque - Dans les environnements d'entreprise, un profil de configuration LDAP permet de réduire la complexité si le profil est partagé entre plusieurs machines.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient init -a profileName=new \ -a domainName=west.example.com 192.168.0.1 System successfully configured
Avant de commencer
Avant de configurer un client LDAP à l'aide des informations par utilisateur, les éléments suivants doivent également être configurés :
Un ou plusieurs serveurs KDC (Key Distribution Center, centre de distribution de clés) Kerberos doivent être configurés et exécutés.
DNS, l'accès client à un serveur DNS et au moins un serveur DNS doivent être configurés et en cours d'exécution.
Kerberos doit être configuré et activé sur la machine client.
Un profil d'installation client Kerberos comme suit doit exister :
# cat /usr/tmp/krb5.profile REALM EXAMPLE.COM KDC kdc.example.com ADMIN super/admin FILEPATH /usr/tmp/krb5.conf NFS 1 DNSLOOKUP none
Le serveur LDAP doit être installé et configuré pour prendre en charge sasl/GSSAPI.
Les configurations appropriées de mappage d'identité doivent exister.
Les hôtes principaux Kerberos pour le serveur d'annuaire et le KDC doivent être configurés dans le KDC.
La commande idsconfig doit avoir été exécutée sur le DIT du serveur d'annuaire à utiliser.
Un profil adéquat gssapi par utilisateur (gssapi_EXAMPLE.COM, par exemple) doit avoir été créé.
L'illustration d'un profil par utilisateur dans la commande idsconfig figure dans l'exemple partiel ci-dessous.
# /usr/lib/ldap/idsconfig Do you wish to continue with server setup (y/n/h)? [n] y Enter the Directory Server's hostname to setup: kdc.example.com Enter the port number for DSEE (h=help): [389] <Enter your port> Enter the directory manager DN: [cn=Directory Manager] <Enter your DN> Enter passwd for cn=Directory Manager : <Enter your password> Enter the domainname to be served (h=help): [example.com] <Enter your domain> Enter LDAP Base DN (h=help): [dc=example,dc=com] <Enter your DN> GSSAPI is supported. Do you want to set up gssapi:(y/n) [n] y Enter Kerberos Realm: [EXAMPLE.COM] EXAMPLE.COM
Remarque - De plus, pour un profil gssapi, vous devez fournir un niveau d'identification 4 self et la méthode d'authentification 6 sasl/GSSAPI.
Les principaux utilisateurs requis doivent se trouver dans le KDC.
Sur la machine client, Kerberos doit être initialisé en utilisant le profil client à l'aide d'une commande telle que :
# /usr/sbin/kclient -p /usr/tmp/krb5.profile
Le commutateur du service de noms doit être configuré pour utiliser dns pour hosts. La commande suivante vérifie les valeurs de référentiel actuelles :
% svcprop -p config/host system/name-service/switch files\ dns\ nis
DNS doit être configuré et le service DNS doit être en cours d'exécution. Pour plus d'informations, reportez-vous aux chapitres relatifs au DNS dans le présent document.
Le DIT du serveur d'annuaire doit être préchargé avec (au minimum) les utilisateurs de cette machine client, l'hôte client et les entrées LDAP auto_home requises. Pour plus d'informations sur l'ajout d'entrées à l'aide de la commande ldapaddent, reportez-vous aux autres sections du présent manuel.
Remarque - Ne modifiez aucun des fichiers de configuration client directement. Exécutez la commande ldapclient pour créer ou modifier le contenu de ces fichiers.
# /usr/sbin/ldapclient init -a profilename=gssapi_EXAMPLE.COM -a \ domainname=example.com 9.9.9.50
Si le fichier syslog contient le message suivant : libsldap: Status: 7 Mesg: openConnection: GSSAPI bind failed - 82 Local error, il est probable que Kerberos ne soit pas initialisé ou que son ticket ait expiré. Exécutez la commande klist pour le parcourir. Par exemple, exécutez kinit -p foo ou kinit -R -p foo puis réessayez.
Si vous le souhaitez, vous pouvez ajouter pam_krb5.so.1 à /etc/pam.conf afin que la commande kinit soit exécutée automatiquement lorsque vous vous connectez.
Par exemple :
login auth optional pam_krb5.so.1 rlogin auth optional pam_krb5.so.1 other auth optional pam_krb5.so.1
Si la commande kinit est appliquée à un utilisateur et que le message syslog indique Invalid credential, le problème est peut-être que l'entrée de l'hôte root ou l'entrée utilisateur ne figure pas dans l'annuaire LDAP ou que les règles de mappage ne sont pas correctes.
Lorsque la commande ldapclient init est exécutée, elle vérifie si le profil LDAP contient une configuration self/ sasl/GSSAPI. Si elle échoue lors de la vérification du commutateur, la raison courante est que DNS n'était pas le critère de recherche pour la base de données des hôtes.
Si la vérification échoue car le client DNS est désactivé, exécutez svcs -l dns/client afin de déterminer si le service est activé ou non. Exécutez svcadm enable dns/client pour activer le service.
Si la vérification échoue en raison d'une liaison sasl/GSSAPI, vérifiez syslog pour déterminer le problème.
Pour plus d'informations, consultez d'autres références dans Administration d’Oracle Solaris 11.1 : Services de sécurité et le présent guide.
Remarque - Ne modifiez aucun des fichiers de configuration client directement. Exécutez la commande ldapclient pour créer ou modifier le contenu de ces fichiers.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient init \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a domainName=west.example.com \ -a profileName=pit1 \ -a proxyPassword=test1234 192.168.0.1 System successfully configured
-a proxyDN et -a proxyPassword sont requis si le profil à utiliser est configuré pour proxy. Dans la mesure où les informations d'identification ne sont pas stockées dans le profil enregistré sur le serveur, vous devez les fournir lorsque vous initialisez le client. Cette méthode est plus sûre que l'ancienne qui consistait à stocker les informations d'identification proxy sur le serveur.
Les informations de proxy sont stockées dans le service svc:/network/ldap/client au sein des groupes de propriété config et cred.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient mod -a enableShadowUpdate=TRUE \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password System successfully configured
# ldapclient init \ -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \ -a adminPassword=admin-password -a domainName=west.example.com \ -a profileName=WestUserProfile \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=<proxy_password> \ 192.168.0.1 System successfully configured
La sortie se présente de la manière suivante :
# svcprop -p cred svc:/network/ldap/client cred/read_authorization astring solaris.smf.value.name-service.ldap.client cred/value_authorization astring solaris.smf.value.name-service.ldap.client cred/bind_dn astring cn=proxyagent,ou=profile,dc=west,dc=example,dc=com cred/bind_passwd astring {NS1}4a3788f8eb85de11 cred/enable_shadow_update boolean true cred/admin_bind_dn astring cn=admin,ou=profile,dc=west,dc=example,dc=com cred/admin_bind_passwd astring {NS1}4a3788f8c053434f
Les utilisateurs ou les administrateurs root avec un rôle équivalent peuvent effectuer des configurations client LDAP manuelles. Toutefois, un grand nombre de ces vérifications sont ignorées pendant le processus, de telle sorte qu'il est relativement facile de configurer incorrectement le système. En outre, vous devez modifier les paramètres sur chaque machine, plutôt qu'à un emplacement central, comme c'est le cas lorsque vous utilisez des profils.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient manual \ -a domainName=dc=west.example.com -a credentialLevel=proxy \ -a defaultSearchBase=dc=west,dc=example,dc=com \ -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ -a proxyPassword=testtest 192.168.0.1
# ldapclient list NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_CREDENTIAL_LEVEL= proxy
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient mod -a authenticationMethod=simple
# ldapclient list NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f NS_LDAP_SERVERS= 192.168.0.1 NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com NS_LDAP_AUTH= simple NS_LDAP_CREDENTIAL_LEVEL= proxy
Erreurs fréquentes
Vous ne pouvez pas changer certains attributs d'une configuration client LDAP à l'aide de la sous-commande mod. Par exemple, vous ne pouvez pas modifier les attributs profileName et profileTTL. Pour modifier ces attributs, créez un profil à l'aide de la commande ldapclient init, comme décrit à la section Initialisation d'un client LDAP à l'aide de profils. Vous pouvez également exécuter la commandeldapclient manual, comme indiqué à la section Initialisation manuelle d'un client LDAP.
La commande ldapclient uninit rétablit l'état dans lequel se trouvait le service de noms client avant la dernière opération init, modify ou manual. En d'autres termes, elle annule la dernière étape réalisée. Par exemple, si le client était configuré pour utiliser profile1, puis a été modifié pour utiliser profile2, il utilisera à nouveau profile1 si vous exécutez ldapclient uninit.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
# ldapclient uninit System successfully recovered
Remarque - Les fichiers de la base de données de sécurité doivent être lisibles par tous. N'incluez pas de clés privées dans le fichier key3.db.
Si vous utilisez TLS (Transport Layer Security), il faut installer les bases de données de sécurité requises. Sont nécessaires, en particulier, les fichiers des bases de données des clés et des certificats. Par exemple, si vous utilisez un format de base de données plus récent de Mozilla Firefox, trois fichiers cert8.db, key3.db et secmod.db sont nécessaires. Le fichier cert8.db contient des certificats de confiance. Le fichier key3.db contient les clés du client. Même si le client de service de noms LDAP n'utilise pas de clés client, ce fichier doit être présent. Le fichier secmod.db contient les modules de sécurité comme PKCS#11. Ce fichier n'est pas requis si l'ancien format est utilisé.
Remarque - Avant d'exécuter ldapclient, vous devez configurer et installer les fichiers de base de données de sécurité décrits dans cette section.
Reportez-vous à la section relative à la configuration de clients LDAP pour l'utilisation du protocole SSL au chapitre "Gestion SSL" du Guide de l'administrateur pour la version de Oracle Directory Server Enterprise Edition que vous utilisez, pour plus d'informations sur la procédure à suivre pour créer et gérer ces fichiers. Une fois configurés, ces fichiers doivent être stockés à l'emplacement prévu par le client des services de noms LDAP. L'attribut certificatePath permet de déterminer cet emplacement. Il s'agit par défaut de /var/ldap.
Par exemple, après avoir configuré les fichiers cert8.db, key3.db et secmod.db requis à l'aide de Mozilla Firefox, copiez-les à l'emplacement par défaut de la manière suivante :
# cp $HOME/.mozilla/firefox/*.default/cert8.db /var/ldap # cp $HOME/.mozilla/firefox/*.default/key3.db /var/ldap # cp $HOME/.mozilla/firefox/*.default/secmod.db /var/ldap
Ensuite, donnez à chacun les droits d'accès en lecture.
# chmod 444 /var/ldap/cert8.db # chmod 444 /var/ldap/key3.db # chmod 444 /var/ldap/secmod.db
Remarque - Les fichiers cert8.db, key3.db et secmod.db de Mozilla Firefox sont gérés dans un sous-répertoire sous $HOME/.mozilla. Il faut stocker des copies de ces bases de données de sécurité sur un système de fichiers local si vous les utilisez pour un client de services de noms LDAP.
Le module pam_ldap est une option de module PAM de gestion de compte et d'authentification pour LDAP. Reportez-vous à la page de manuel pam_ldap(5) pour plus d'informations sur les fonctionnalités prises en charge avec pam_ldap.
Si vous avez sélectionné le mode par utilisateur et l'option d'identification automatique, il faut également activer le module PAM Kerberos pam_krb5. Reportez-vous à la page de manuel pam_krb5(5) et à la documentation Administration d’Oracle Solaris 11.1 : Services de sécurité pour plus d'informations.
Pour configurer PAM en vue de d'appliquer la stratégie (policy) UNIX, utilisez le fichier /etc/pam.conf par défaut. Aucune modification n'est nécessaire. Pour plus d'informations, reportez-vous à la page de manuel pam.conf(4).
Toutefois, si la durée de vie des mots de passe et la stratégie correspondante contrôlées par les données shadow sont requises, le client doit être configuré et exécuté à l'aide d'un commutateur enableShadowUpdate. Reportez-vous à la section Initialisation d'un client LDAP afin d'activer la mise à jour des données shadow pour plus d'informations.
Pour configurer PAM en vue de l'utilisation de server_policy, suivez les exemples de la section Exemple de fichier pam_conf utilisant le module pam_ldap pour la gestion des comptes. Ajoutez les lignes qui contiennent pam_ldap.so.1 dans le fichier /etc/pam.conf du client. En outre, si un module PAM dans le fichier échantillon pam.conf spécifie l'indicateur binding et l'option server_policy, utilisez le même indicateur et la même option pour le module correspondant dans le fichier /etc/pam.conf du client. En outre, ajoutez l'option server_policy à la ligne qui contient le module de service pam_authtok_store.so.1.
Remarque - Auparavant, si vous activiez la gestion des comptes pam_ldap, tous les utilisateurs devaient fournir un mot de passe de connexion pour s'authentifier à chaque fois qu'ils se connectaient au système. Par conséquent, les connexions qui ne reposent pas sur des mots de passe à l'aide des outils tels que ssh échoueraient.
Effectuez la gestion des comptes et récupérez le statut du compte des utilisateurs sans authentification au serveur d'annuaire au moment de la connexion. Le nouveau contrôle sur le serveur d'annuaire est 1.3.6.1.4.1.42.2.27.9.5.8 ; il est activé par défaut.
Pour définir ce contrôle sur une autre valeur que celle par défaut, ajoutez des instructions de contrôle d'accès (ACI) sur le serveur d'annuaire :
dn: oid=1.3.6.1.4.1.42.2.27.9.5.8,cn=features,cn=config objectClass: top objectClass: directoryServerFeature oid:1.3.6.1.4.1.42.2.27.9.5.8 cn:Password Policy Account Usable Request Control aci: (targetattr != "aci")(version 3.0; acl "Account Usable"; allow (read, search, compare, proxy) (groupdn = "ldap:///cn=Administrators,cn=config");) creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config
Indicateur de contrôle binding
L'indicateur de contrôle binding permet à un mot de passe local de remplacer un mot de passe (LDAP) distant. Par exemple, si un compte utilisateur est détecté à la fois sur les fichiers locaux et l'espace de noms LDAP, le mot de passe associé au compte local est prioritaire sur le mot de passe distant. Par conséquent, si le mot de passe local arrive à expiration, l'authentification échoue même si le mot de passe LDAP distant est toujours valide.
Option server_policy
L'option server_policy ordonne à pam_unix_auth, pam_unix_account et pam_passwd_auth d'ignorer un utilisateur trouvé dans l'espace de noms LDAP et d'autoriser pam_ldap à réaliser des opérations d'authentification ou de validation de compte. Dans le cas de pam_authtok_store , un nouveau mot de passe est transmis au serveur LDAP sans chiffrement. Le mot de passe est donc stocké dans le répertoire en fonction du schéma de chiffrement de mot de passe configuré sur le serveur. Pour plus d'informations, reportez-vous aux pages de manuel pam.conf(4) et pam_ldap(5).