Comment installer le serveur OpenLDAP pour une authentification centralisée

Comment installer le serveur OpenLDAP pour une authentification centralisée

Protocole d'accès au répertoire léger (Ldap En bref) est un ensemble de protocoles standard, léger et largement utilisé pour accéder aux services d'annuaire. Un service d'annuaire est une infrastructure d'information partagée pour accéder, gérer, organiser et mettre à jour les éléments quotidiens et les ressources réseau, telles que les utilisateurs, les groupes, les appareils, les adresses d'e-mails, les numéros de téléphone, les volumes et de nombreux autres objets.

Le Ldap Le modèle d'information est basé sur les entrées. Une entrée dans un répertoire LDAP représente une seule unité ou une seule information et est identifié de manière unique par ce qu'on appelle un Nom distingué (DN). Chacun des attributs de l'entrée a un type et une ou plusieurs valeurs.

Un attribut est une information associée à une entrée. Les types sont généralement des cordes mnémoniques, comme «CN«Pour le nom commun, ou«poster»Pour l'adresse e-mail. Chaque attribut se voit attribuer une ou plusieurs valeurs composées d'une liste séparée dans l'espace.

Ce qui suit est une illustration de la façon dont les informations sont organisées dans le Ldap annuaire.

Modèle d'information LDAP

Dans cet article, nous montrerons comment installer et configurer Openldap serveur pour l'authentification centralisée dans Ubuntu 16.04/18.04 et Centos 7.

Étape 1: Installation du serveur LDAP

1. Premier démarrage par installation Openldap, une implémentation open source de Ldap et certains utilitaires de gestion LDAP traditionnels en utilisant les commandes suivantes.

# yum install openldap openldap-servers #centos 7 $ sudo apt install slapd ldap-utils #ubuntu 16.04/18.04 

Sur Ubuntu, Lors de l'installation du package, vous serez invité à saisir le mot de passe de l'entrée d'administration dans votre répertoire LDAP, à définir un mot de passe sécurisé et à le confirmer.

Configurer le mot de passe de l'administrateur SLAPD

Une fois l'installation terminée, vous pouvez démarrer le service comme expliqué ensuite.

2. Sur Centos 7, Exécutez les commandes suivantes pour démarrer le openldap Daemon du serveur, permettez-lui de démarrer automatiquement à l'heure du démarrage et de vérifier si c'est opérationnel (sur Ubuntu Le service doit être déclenché automatiquement sous SystemD, vous pouvez simplement vérifier son statut):

$ sudo systemctl start slapd $ sudo systemctl activer slapd $ sudo systemctl status slapd 

3. Ensuite, autorisez les demandes au Ldap Das du serveur à travers le pare-feu comme indiqué.

# Firewall-CMD --Add-Service = LDAP #CENTOS 7 $ sudo ufw Autoriser LDAP #UBUNTU 16.04/18.04 

Étape 2: Configuration du serveur LDAP

Note: Il n'est pas recommandé de modifier manuellement la configuration LDAP, vous devez ajouter les configurations dans un fichier et utiliser le ldapadd ou ldapmodify commande pour les charger dans le répertoire LDAP comme indiqué ci-dessous.

4. Créez maintenant un utilisateur administratif OpenLDAP et attribuez un mot de passe à cet utilisateur. Dans la commande ci-dessous, une valeur hachée est créée pour le mot de passe donné, notez-le, vous l'utiliserez dans le fichier de configuration LDAP.

$ slappasswd 
Créer l'utilisateur de l'administrateur LDAP

5. Créez ensuite un Ldif déposer (ldaprootpasswd.ldif) qui est utilisé pour ajouter une entrée au répertoire LDAP.

$ sudo vim ldaprootpasswd.ldif 

Ajoutez le contenu suivant dedans:

dn: olcdatabase = 0 config, cn = config changetype: modifier add: olcrootpw olcrootpw: ssha password_created 

Expliquer les paires d'attribut-valeur ci-dessus:

  • olcdatabase: indique un nom d'instance de base de données spécifique et peut être généralement trouvé à l'intérieur / etc / openldap / slapd.d / cn = config.
  • cn = config: indique des options de configuration globale.
  • MOT DE PASSE: La chaîne hachée est-elle obtenue lors de la création de l'utilisateur administratif.

6. Ensuite, ajoutez l'entrée LDAP correspondante en spécifiant l'URI se référant au serveur LDAP et au fichier ci-dessus.

$ sudo ldapadd -y external -h ldapi: /// -f ldaprootpasswd.ldif 
Ajouter des paramètres du fichier de mot de passe racine

Étape 3: Configuration de la base de données LDAP

7. Copiez maintenant l'exemple de fichier de configuration de la base de données pour claquer dans le / var / lib / ldap répertoire et définir les autorisations correctes sur le fichier.

$ sudo cp / usr / share / openldap-servers / db_config.Exemple / var / lib / ldap / db_config $ sudo chown -r ldap: ldap / var / lib / ldap / db_config $ sudo systemctl redémarrage slapd 

8. Ensuite, importez des schémas LDAP de base à partir du / etc / openldap / schéma Répertoire comme suit.

$ sudo ldapadd -y externe -h ldapi: /// -f / etc / openldap / schema / cosinus.ldif $ sudo ldapadd -y external -h ldapi: /// -f / etc / openldap / schema / nis.ldif $ sudo ldapadd -y externe -h ldapi: /// -f / etc / openldap / schéma / inetorgerson.ldif 

9. Ajoutez maintenant votre domaine dans la base de données LDAP et créez un fichier appelé ldapdomain.ldif pour votre domaine.

$ sudo vim ldapdomain.ldif 

Ajoutez le contenu suivant dedans (remplacez l'exemple par votre domaine et votre mot de passe par la valeur hachée obtenue avant):

DN: OlcDatabase = 1 Monitor, CN = Config ChangeType: Modifier Remplace: OlcAccess OlcAccess: 0 à * par dn.base = "gidnumber = 0 + uidnumber = 0, cn = peercred, cn = externe, cn = auth" Lire par dn.base = "cn = manager,dc = exemple,dc = com "Lire par * Aucun DN: olcdatabase = 2 hdb, cn = config changetype: modifier remplacer: olcsuffix olcsuffix: dc = exemple,dc = com dn: olcdatabase = 2 hdb, cn = config changetype: modifier remplacer: olcrootdn olcrootdn: cn = manager,dc = exemple,dc = com dn: olcdatabase = 2 hdb, cn = config changetype: modifier add: olcrootpw olcrootpw: ssha mot de passe dn: olcdatabase = 2 hdb, cn = config changetype: modifier add: olcaccess olcAccess: 0 à attRrs = userpassword, shadowlastchange par dn = "cn = manager,dc = exemple,dc = com "Écrire par Anonymous Auth par Self Write par * Aucun OlcAccess: 1 à DN.base = "" par * lire olcaccess: 2 à * par dn = "cn = manager, dc = exemple, dc = com" write by * read 

dix. Puis ajoutez la configuration ci-dessus à la base de données LDAP avec la commande suivante.

$ sudo ldapmodify -y external -h ldapi: /// -f ldapdomain.ldif 
Configuration du domaine de chargement

11. Dans cette étape, nous devons ajouter des entrées à notre Ldap annuaire. Créer un autre fichier appelé Bâle.ldif avec le contenu suivant.

DN: DC = Exemple, DC = COM ObjectClass: Top ObjectClass: DCObject ObjectClass: Organisation O: Exemple Com DC: Exemple DN: CN = Manager, DC = Exemple, DC = COM ObjectClass: OrganizationalRole CN: Manager Description: Directory Manager DN: ou = personnes, dc = exemple, dc = com objectClass: organisationalunit ou: les gens dn: ou = groupe, dc = exemple, dc = com objectClass: organisationalunit ou: groupe 

Enregistrez le fichier, puis ajoutez les entrées au répertoire LDAP.

$ sudo ldapadd -y externe -x -d cn = manager, dc = exemple, dc = com -w -f baseldapdomain.ldif 

12. L'étape suivante consiste à créer un utilisateur LDAP pour exemple, Tecmint, et définir un mot de passe pour cet utilisateur comme suit.

$ sudo useradd tecmint $ sudo passwd tecmint 

13. Créez ensuite les définitions d'un groupe LDAP dans un fichier appelé ldapgroup.ldif avec le contenu suivant.

DN: cn = manager, ou = groupe, dc = exemple, dc = com objectClass: top objectClass: posixgroup gidnumber: 1005 

Dans la configuration ci-dessus, gidnumber est le Gid dans / etc / groupe pour Tecmint et ajoutez-le au répertoire OpenLDAP.

$ sudo ldapadd -y externe -x -w -d "cn = manager, dc = exemple, dc = com" -f ldapgroup.ldif 

14. Ensuite, créez un autre Ldif fichier appelé ldapuser.ldif et ajouter les définitions de l'utilisateur Tecmint.

dn: uid = tecmint, ou = personnes, dc = exemple, dc = com objectClass: top objectClass: compte objectClass: posixAccount objectClass: shadowaccount cn: tecmint uid: tecmint uidnumber: 1005 gidnumber: 1005 homeDirectory: / home / tecmint userpassword:  SSHA Password_here Logginshell: / bin / Bash Gecos: Tecmint ShadowlastChange: 0 Shadowmax: 0 Shadowwarning: 0 

puis chargez la configuration du répertoire LDAP.

$ ldapadd -y externe -x -d cn = manager, dc = exemple, dc = com -w -f ldapuser.ldif 

Une fois que vous avez configuré un serveur central pour l'authentification, la partie finale consiste à permettre au client de s'authentifier à l'aide de LDAP comme expliqué dans ce guide:

  1. Comment configurer le client LDAP pour connecter l'authentification externe

Pour plus d'informations, consultez la documentation appropriée du catalogue de documents du logiciel OpenLDAP et les utilisateurs d'Ubuntu peuvent vous référer au Guide du serveur OpenLDAP.

Résumé

Openldap est une implémentation open source de LDAP dans Linux. Dans cet article, nous avons montré comment installer et configurer le serveur OpenLDAP pour l'authentification centralisée, dans Ubuntu 16.04/18.04 et Centos 7. Si vous avez une question ou des pensées à partager, n'hésitez pas à nous joindre via le formulaire de commentaire ci-dessous.