Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


11.10.19 Services LDAP

Authentification LDAP avec nslcd

Le module (gnu services authentication) fournit le type de service nslcd-service-type, qui peut être utilisé pour l’authentification par LDAP. En plus de configurer le service lui-même, vous pouvez ajouter ldap comme service de noms au Name Service Switch. Voir Name Service Switch pour des informations détaillées.

Voici une déclaration de système d’exploitation simple avec une configuration par défaut pour nslcd-service-type et une configuration du Name Service Switch qui consulte le service de noms ldap en dernier :

(use-service-modules authentication)
(use-modules (gnu system nss))
...
(operating-system
  ...
  (services
    (cons*
      (service nslcd-service-type)
      (service dhcp-client-service-type)
      %base-services))
  (name-service-switch
   (let ((services (list (name-service (name "db"))
                         (name-service (name "files"))
                         (name-service (name "ldap")))))
     (name-service-switch
      (inherit %mdns-host-lookup-nss)
      (password services)
      (shadow   services)
      (group    services)
      (netgroup services)
      (gshadow  services)))))

Les champs de nslcd-configuration disponibles sont :

paramètre de nslcd-configuration :package nss-pam-ldapd

Le paquet nss-pam-ldapd à utiliser.

paramètre de nslcd-configuration :peut-être-nombre threads

Le nombre de threads à démarrer qui peuvent gérer les requête et effectuer des requêtes LDAP. Chaque thread ouvre une connexion séparée au serveur LDAP. La valeur par défaut est de 5 threads.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :string uid

Cela spécifie l’id de l’utilisateur sous lequel le démon devrait tourner.

La valeur par défaut est ‘"nslcd"’.

paramètre de nslcd-configuration :string gid

Cela spécifie l’id du groupe sous lequel le démon devrait tourner.

La valeur par défaut est ‘"nslcd"’.

paramètre de nslcd-configuration :log-option log

Cette option contrôle la journalisation via une liste contenant le schéma et le niveau. Le schéma peut être soit un symbole ‘none’, ‘syslog’, soit un nom de fichier absolu. Le niveau est facultatif et spécifie le niveau de journalisation. Le niveau de journalisation peut être l’un des symboles suivants :‘crit’, ‘error’, ‘warning’, ‘notice’, ‘info’ ou ‘debug’. Tous les messages avec le niveau spécifié ou supérieurs sont enregistrés.

La valeur par défaut est ‘'("/var/log/nslcd" info)’.

paramètre de nslcd-configuration :list uri

La liste des URI des serveurs LDAP. Normalement, seul le premier serveur sera utilisé avec les serveurs suivants comme secours.

La valeur par défaut est ‘'("ldap://localhost:389/")’.

paramètre de nslcd-configuration :peut-être-chaine ldap-version

La version du protocole LDAP à utiliser. La valeur par défaut est d’utiliser la version maximum supportée par la bibliothèque LDAP.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine binddn

Spécifie le nom distingué avec lequel se lier au serveur de répertoire pour les recherches. La valeur par défaut est de se lier anonymement.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine bindpw

Spécifie le mot de passe avec lequel se lier. Cette option n’est valable que lorsqu’elle est utilisée avec binddn.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine rootpwmoddn

Spécifie le nom distingué à utiliser lorsque l’utilisateur root essaye de modifier le mot de passe d’un utilisateur avec le module PAM.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine rootpwmodpw

Spécifie le mot de passe à utiliser pour se lier si l’utilisateur root essaye de modifier un mot de passe utilisateur. Cette option n’est valable que si elle est utilisée avec rootpwmoddn

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine sasl-mech

Spécifie le mécanisme SASL à utiliser lors de l’authentification SASL.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine sasl-realm

Spécifie le royaume SASL à utiliser pour effectuer une authentification SASL.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine sasl-authcid

Spécifie l’identité d’authentification à utiliser pour effectuer une authentification SASL.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine sasl-authzid

Spécifie l’identité d’autorisation à utiliser lors d’une authentification SASL.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen sasl-canonicalize?

Détermine si le nom d’hôte du serveur LDAP devrait être canonalisé. Si c’est activé la bibliothèque LDAP effectuera une recherche de nom d’hôte inversée. Par défaut, il est laissé à la bibliothèque LDAP le soin de savoir si la vérification doit être effectuée ou non.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine krb5-ccname

Indique le nom du cache d’informations de connexion de GSS-API Kerberos.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :string base

La base de recherche de répertoires.

La valeur par défaut est ‘"dc=example,dc=com"’.

paramètre de nslcd-configuration :scope-option scope

Spécifie la portée de la recherche (subtree, onelevel, base ou children). La portée par défaut est subtree ; la portée base n’est presque jamais utile pour les recherches de service de noms ; la portée children n’est pas prise en charge par tous les serveurs.

La valeur par défaut est ‘'(subtree)’.

paramètre de nslcd-configuration :peut-être-deref-option deref

Spécifie la politique de déréférencement des alias. La politique par défaut est de ne jamais déréférencer d’alias.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen referrals

Spécifie s’il faut activer le suivi de référence. Le comportement par défaut est de suivre les références.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :list-of-map-entries maps

Cette option permet d’ajouter des attributs personnalisés à rechercher à la place des attributs par défaut de la RFC 2307. C’est une liste de correspondances, consistant chacune en un nom, en l’attribut RFC 2307 à utiliser et l’expression de la requête pour l’attribut tel qu’il sera disponible dans le répertoire.

La valeur par défaut est ‘'()’.

paramètre de nslcd-configuration :list-of-filter-entries filters

Une liste de filtres consistant en le nom d’une correspondance à laquelle applique le filtre et en une expression de filtre de recherche LDAP.

La valeur par défaut est ‘'()’.

paramètre de nslcd-configuration :peut-être-nombre bind-timelimit

Spécifie la limite de temps en seconds à utiliser lors de la connexion au serveur de répertoire. La valeur par défaut est de 10 secondes.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre timelimit

Spécifie la limite de temps (en secondes) à attendre une réponse d’un serveur LDAP. La valeur de zéro, par défaut, permet d’attendre indéfiniment la fin des recherches.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre idle-timelimit

Spécifie la période d’inactivité (en seconde) après laquelle la connexion au serveur LDAP sera fermée. La valeur par défaut est de ne jamais la fermer.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre reconnect-sleeptime

Spécifie le nombre de secondes pendant laquelle attendre lorsque la connexion à tous les serveurs LDAP a échouée. Par défaut, il y a une seconde d’attente entre le premier échec et la tentative suivante.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre reconnect-retrytime

Spécifie la durée après laquelle le serveur LDAP est considéré comme définitivement inatteignable. Une fois cette durée atteinte, les tentatives de connexions n’auront plus lieu qu’une fois par cet intervalle de temps. La valeur par défaut est de 10 secondes.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-ssl-option ssl

Spécifie s’il faut utiliser SSL/TLS ou non (la valeur par défaut est non). Si ’start-tls est spécifié alors StartTLS est utilisé à la place de LDAP sur SSL.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-tls-reqcert-option tls-reqcert

Spécifie quelles vérifications effectuer sur les certificats donnés par les serveurs. La signification des valeurs est décrite dans la page de manuel de ldap.conf(5).

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-cacertdir

Spécifie le répertoire contenant les certificats X.509 pour l’authentification des pairs. Ce paramètre est ignoré quand il est utilisé avec GnuTLS.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-cacertfile

Spécifie le chemin des certificats X.509 pour l’authentification des pairs.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-randfile

Spécifie le chemin d’une source d’entropie. Ce paramètre est ignoré quand il est utilisé avec GnuTLS.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-ciphers

Spécifie les suites de chiffrements à utiliser pour TLS en tant que chaîne de caractères.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-cert

Spécifie le chemin vers le fichier contenant le certificat local pour l’authentification TLS du client.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine tls-key

Spécifie le chemin du fichier contenant la clef privée pour l’authentification TLS du client.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre pagesize

Indiquez un nombre plus grand que 0 pour demander des résultats paginés au serveur LDAP en accord avec la RFC 2696. La valeur par défaut (0) est de ne pas demander de pagination des résultats.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-ignore-users-option nss-initgroups-ignoreusers

Cette option évite les recherches d’appartenance au groupe à travers le LDAP pour les utilisateurs spécifiés. Autrement, la valeur ’all-local peut être utilisée. Avec cette valeur nslcd construit une liste complète des utilisateurs non-LDAP au démarrage.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre nss-min-uid

Cette option s’assure que les utilisateurs LDAP avec un id utilisateur numérique plus petit que la valeur spécifiée sont ignorés.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre nss-uid-offset

Cette option spécifie un décalage à ajouter à tous les id utilisateurs numériques LDAP. Cela peut être utile pour éviter des collisions d’id utilisateurs avec des utilisateurs locaux.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-nombre nss-gid-offset

Cette option spécifie un décalage à ajouter à tous les id de groupe numériques LDAP. Cela peut être utile pour éviter des collisions d’id utilisateurs avec des groupes locaux.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen nss-nested-groups

Si cette option est indiquée, l’attribut de membre de groupe peut pointer vers un autre groupe. Les membres de groupes imbriqués sont aussi renvoyés dans le groupe de haut-niveau et les groupes parents sont renvoyés lorsqu’on recherche un utilisateur spécifique. La valeur par défaut est de ne pas effectuer de recherche supplémentaire sur les groupes imbriqués.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen nss-getgrent-skipmembers

Si cette option est indiqée, la liste de membres du groupe n’est pas récupérée lorsqu’on cherche un groupe. Les recherches pour trouver les groupes auxquels un utilisateur appartient resteront fonctionnelles donc l’utilisateur obtiendra probablement les bons groupes à la connexion.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen nss-disable-enumeration

Si cette option est indiquée, les fonctions qui causent le chargement de toutes les entrées d’utilisateur et de groupe depuis le répertoire ne pourront pas le faire. Cela peut grandement diminuer la charge du serveur LDAP dans des situations où il y a beaucoup d’utilisateurs et de groupes. Cette option n’est pas recommandées pour la plupart des configurations.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine validnames

Cette option peut être utilisée pour spécifier comment les noms d’utilisateurs et de groupes sont vérifiés sur le système. Ce motif est utilisé pour vérifier tous les noms d’utilisateurs et de groupes qui sont demandés et renvoyés par le LDAP.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen ignorecase

Cela spécifie s’il faut ou non effectuer des recherches avec une correspondance sensible à la casse. Activer cela pourrait mener à des vulnérabilités de type contournement d’authentification sur le système et introduire des vulnérabilité d’empoisonnement de cache nscd qui permettent un déni de service.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-booléen pam-authc-ppolicy

Cette option spécifie si des contrôles de la politique de mots de passe sont demandés et gérés par le serveur LDAP à l’authentification de l’utilisateur.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine pam-authc-search

Par défaut nslcd effectue une recherche LDAP avec le mot de passe de l’utilisateur après BIND (authentification) pour s’assurer que l’opération BIND a bien réussi. La recherche par défaut est une simple vérification que le DN de l’utilisateur existe. Un filtre de recherche peut être spécifié pour l’utiliser à la place. Il devrait renvoyer au moins une entrée.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine pam-authz-search

Cette option permet la configuration fine et flexible de la vérification d’autorisation qui devrait être effectuée. Le filtre de recherche est exécuté et si une entrée correspond, l’accès est autorisé, sinon il est refusé.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :peut-être-chaine pam-password-prohibit-message

Si cette option est indiquée, la modification de mot de passe par pam_ldap sera refusée et le message spécifié sera présenté à l’utilisateur à la place. Le message peut être utilisé pour rediriger les utilisateurs vers une autre méthode pour changer leur mot de passe.

La valeur par défaut est ‘disabled’.

paramètre de nslcd-configuration :list pam-services

Liste de noms de service pam pour lesquels l’authentification LDAP devrait suffire.

La valeur par défaut est ‘'()’.

Serveur de répertoire LDAP

Le module (gnu services ldap) fournit le directory-server-service-type, qui peut être utilisé pour créer et lancer une instance du serveur LDAP.

Voici un exemple de configuration du directory-server-service-type :

(use-service-modules ldap)

...
(operating-system
  ...
  (services
    (cons
      (service directory-server-service-type
               (directory-server-instance-configuration
                (slapd
                 (slapd-configuration
                  (root-password "{PBKDF2_SHA256}AAAgAG…ABSOLUTELYSECRET")))))
      %base-services)))

Le mot de passe root devrait être généré avec l’utilitaire pwdhash fourni par le paquet 389-ds-base.

Remarquez que les changements de configuration du serveur de répertoire ne seront pas appliqués aux instances existantes. Vous devrez sauvegarder et restaurer les données du serveur manuellement. Seules les nouvelles instances du serveur de répertoire seront créées à la reconfiguration du système.

Type de données :directory-server-instance-configuration

Les champs de directory-server-configuration disponibles sont :

package (par défaut : 389-ds-base) (type : simili-fichier)

Le paquet 389-ds-base.

config-version (par défaut : 2) (type : entier)

Indique la version du format du fichier de configuration. Pour utiliser le fichier INF avec dscreate, ce paramètre doit être 2.

full-machine-name (par défaut : "localhost") (type : chaine)

Indique le nom d’hôte pleinement qualifié (FQDN) de ce système.

selinux (par défaut : #false) (type : booléen)

Active la détection et l’intégration de SELinux pendant l’installation de cette instance. Si la valeur est #true, dscreate détecte automatiquement si SELinux est activé.

strict-host-checking (par défaut : #true) (type : booléen)

Indique si le serveur doit vérifier le champ DNS avant et inverse dans le paramètre full-machine-name. Lorsque vous installez cette instance avec l’authentification GSSAPI derrière un répartiteur de charge, indiquez #false.

systemd (par défaut : #false) (type : booléen)

Active les fonctionnalité de la plateforme systemd. Si la valeur est #true, dscreate détecte automatiquement si systemd est installé.

slapd (type : slapd-configuration)

Configuration de slapd.

Type de données :slapd-configuration

Les champs de slapd-configuration disponibles sont :

instance-name (par défaut : "localhost") (type : chaine)

Indique le nom de cette instance. Vous pouvez utiliser cette valeur dans d’autres paramètres de ce fichier INF avec la variable {instance_name}. Remarquez que ce nom ne peut pas être changé après l’installation !

user (par défaut : "dirsrv") (type : chaine)

Indique le nom d’utilisateur que le processus ns-slapd utilisera après le démarrage du service.

group (par défaut : "dirsrv") (type : chaine)

Indique le nom de groupe que le processus ns-slapd utilisera après le démarrage du service.

port (par défaut : 389) (type : nombre)

Indique le port TCP que l’instance doit utiliser pour les connexions LDAP.

secure-port (par défaut : 636) (type : entier)

Indique le port TCP que l’instance doit utiliser pour les connexions LDAP sécurisés par TLS (LDAPS).

root-dn (par défaut : "cn=Directory Manager") (type : chaine)

Indique le nom distingué (DN) du compte administratif de cette instance.

root-password (par défaut : "{invalid}YOU-SHOULD-CHANGE-THIS") (type : chaine)

Indique le mot de passe du compte spécifié dans le paramètre root-dn. Vous pouvez soit utiliser un mot de passe en texte clair que dscreate hash pendant l’installation ou une chaine de « hash » générée par l’utilitaire pwdhash pour ce paramètre. Remarquez qu’utiliser un mot de passe en clair peut présenter un risque de sécurité si les utilisateurs et utilisatrices peuvent lire ce fichier INF !

self-sign-cert (par défaut : #true) (type : booléen)

Indique si l’installation doit créer un certificat auto-signé et activer le chiffrement TLS pendant l’installation. Ce n’est pas convenable pour la production, mais cela vous permet d’utiliser TLS directement après l’installation. Vous pouvez remplacer le certificat auto-signé par un certificat fournit par une autorité de certification.

self-sign-cert-valid-months (par défaut : 24) (type : nombre)

Indique le nombre de mois pour lequel le certificat auto-signé généré sera valide.

backup-dir (par défaut : "/var/lib/dirsrv/slapd-{instance_name}/bak") (type : chaine)

Indique le répertoire de sauvegarde de cette instance.

cert-dir (par défaut : "/etc/dirsrv/slapd-{instance_name}") (type : chaine)

Indique le répertoire de la base de données Network Security Services (NSS) de cette instance.

config-dir (par défaut : "/etc/dirsrv/slapd-{instance_name}") (type : chaine)

Indique le répertoire de configuration de l’instance.

db-dir (par défaut : "/var/lib/dirsrv/slapd-{instance_name}/db") (type : chaine)

Indique le répertoire de la base de données de l’instance.

initconfig-dir (par défaut : "/etc/dirsrv/registry") (type : chaine)

Indique le répertoire contenant le répertoire de configuration rc du système d’exploitation.

ldif-dir (par défaut : "/var/lib/dirsrv/slapd-{instance_name}/ldif") (type : chaine)

Indique le répertoire d’export et d’import LDIF de l’instance.

lock-dir (par défaut : "/var/lock/dirsrv/slapd-{instance_name}") (type : chaine)

Indique le répertoire de verrouillage de l’instance.

log-dir (par défaut : "/var/log/dirsrv/slapd-{instance_name}") (type : chaine)

Indique le répertoire de journalisation de l’instance.

run-dir (par défaut : "/run/dirsrv") (type : chaine)

Indique le répertoire pour le PID de l’instance.

schema-dir (par défaut : "/etc/dirsrv/slapd-{instance_name}/schema") (type : chaine)

Indique le répertoire des schémas de l’instance.

tmp-dir (par défaut : "/tmp") (type : chaine)

Indique le répertoire temporaire de l’instance.

backend-userroot (type : backend-userroot-configuration)

Configuration du moteur userroot.

Type de données :backend-userroot-configuration

Les champs de backend-userroot-configuration disponibles sont :

create-suffix-entry? (par défaut : #false) (type : booléen)

utilisez la valeur #true pour créer une entrée de nœud racine générique pour le suffixe dans la base.

require-index? (par défaut : #false) (type : booléen)

Utilisez la valeur #true pour refuser les recherches non indexées dans cette base de données.

sumple-entries (par défaut : "no") (type : chaine)

Utilisez la valeur "yes" pour ajouter la dernière version des entrées échantillonnées dans cette base de données. Sinon, utilisez "001003006" pour utiliser la version 1.3.6 des entrées échantillonées. Utilisez cette option par exemple pour créer une base de données de test.

suffix (type : peut-être-chaine)

Indique le suffixe de la racine stocké dans cette base. Si vous n’indiquez pas l’attribut de suffixe le processus d’installation ne créera pas le moteur/suffixe. Vous pouvez également créer plusieurs moteurs/suffixes en dupliquant cette section.


Suivant: Services web, Précédent: Services Kerberos, Monter: Services   [Table des matières][Index]