Présentation
Pourquoi OpenLDAP ?
Le projet consiste à copier le code source de référence LDAP. OpenLDAP est l'abréviation de Lightweight Directory Access Protocol.LDAP est un protocole d'application indépendant du fournisseur qui vous permet d'évaluer et de gérer des services d'informations d'annuaire distribués via un FAI.Il existe de nombreuses façons de fournir un annuaire.Par exemple, l'utilisation de LDAP vous aide à fournir un emplacement central pour stocker les noms d'utilisateur et les mots de passe.
Ainsi, de nombreuses applications et services divers pourraient se connecter au serveur LDAP pour valider les utilisateurs. Les serveurs LDAP sont largement utilisés dans les organisations pour stocker le nom d'utilisateur et le mot de passe dans un serveur centralisé auprès duquel l'utilisateur peut s'authentifier auprès des programmes et services présents sur le réseau. De plus, nous utiliserons les packages Symas OpenLDAP pour les commandes de maintenance logicielle standard natives de votre système d'exploitation. Symas OpenLDAP est le principal contributeur à l'écriture de 90 % du code OpenLDAP.
Avantages d'OpenLDAP
C'est gratuit. Semblable à Linux est open source. Protocole standard. Deuxièmement, en outre, il est facile de lier l'authentification à de nombreuses applications. Personnalisable et léger.
Inconvénients d'OpenLDAP
Il serait préférable que vous vous prépariez. En plus, votre infrastructure prend en charge toutes les exigences. Politiques et règles de sécurité en place. Ainsi, les bases de données ou ActiveDirectory doivent toujours stocker des données.Tous les attributs et politiques seront rompus si les informations actuelles ne sont pas en place.En supposant que Microsoft dans votre région, accorde OpenLDAP avec Active Directory.
Installation sur Rocky ou Centos 8
De plus (Rocky Linux/Centos 8) peut être utilisé dans le tutoriel. Il gère donc l'authentification des enregistrements concernant les comptes. Pour que ce tutoriel fonctionne mieux, veuillez considérer ce qui suit.
Le service pare-feu. Nous pouvons ajouter la règle dans cette ligne de commande. Vous ajoutez la limitation firewalld avec ceci dans votre terminal Port 389 pour l'association non sécurisée. Le port 636 sera unique pour la connexion au port sécurisé.
# firewall-cmd --permanent --add-port=389/TCP
# firewall-cmd --permanent --add-port=636/TCP
# firewall-cmd --reload
Les packages requis doivent être installés. De plus, Ssd, openldap-clients et oddjob-mkhomedir sont nécessaires pour le client.
# dnf install wget vim cyrus-sasl-devel libtool-ltdl-devel openssl-devel libdb-devel make libtool autoconf tar gcc perl perl-devel -y
Bienvenue dans Symas OpenLDAP pour Linux
Instructions pour les plates-formes prises en charge :
RHEL7
RHEL8
Ubuntu16.04 LTS
Ubuntu18.04 LTS
Ubuntu20.04 LTS
Configuration de Symas OpenLdap pour Linux sur RHEL8/Rocky/Centos8
Après avoir installé les fichiers binaires requis. Copiez le fichier de référentiel préconfiguré à partir de Symas référentiel.
Les étapes suivantes permettront à ldap d'être opérationnel rapidement :
Installez le package Symas OpenLDAP souhaité
• Symas-OpenLDAP-Client ne contient que des bibliothèques client et des commandes. Utilisez ceci sur les systèmes où l'accès à Symas OpenLDAP est requis mais où le logiciel serveur n'est pas requis.
• Symas-OpenLDAP-Nonopt supprime les indicateurs d'optimisation de l'installation serveur/client standard. Réduit les performances, mais augmente les capacités de débogage et de dépannage.
• Symas-OpenLDAP (c'est-à-dire, le programme d'installation du serveur) contient tous les composants client et serveur nécessaires pour mettre en place un annuaire LDAP entièrement fonctionnel.
• Symas-OpenLDAP-Devel utilisé si le but est de développer des logiciels basés sur des bibliothèques qui font partie de Syas-OpenLDAP.
# wget -q https://repo.symas.com/configs/SOFL/rhel8/sofl.repo -O /etc/yum.repos.d/sofl.repo
- Installez les packages symas-openldap-client et symas-openldap-servers.
# dnf install symas-openldap-clients symas-openldap-servers -y
- Démarrer le service .
# systemctl start slapd
- Générer un mot de passe LDAP à partir d'une clé secrète.
# slappasswd -s rocky -n > /etc/openldap/passwd
- Le nouveau certificat doit générer X509 valide pendant 365 jours.
# openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
- De plus, déplacez le contenu généré vers le répertoire /etc/openldap/certs sur le maître ldap. Copiez le cert.pem sur le client pour vous authentifier avec la connexion ldap.
# cd /etc/openldap/certs.
# chown ldap:ldap *
# chmod 600 priv.pem
Préparer le modèle de base de données inclus dans OpenLDAP installé
# cp -r /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- Générer un fichier de base de données.
[root@master ~]#slaptest
config file testing succeeded
[root@master ~]#
- Donc, changez le propriétaire des fichiers de base de données.
# chown ldap:ldap /var/lib/ldap/*
- Activez le service slapd au démarrage et il démarrera immédiatement.
# systemctl enable slapd --now
- Vérifiez donc le service s'il est en cours d'exécution.
# netstat -lt | grep ldap
tcp 0 0 0.0.0.0:ldaps 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ldap 0.0.0.0:* LISTEN
- Configurer le mot de passe root.
# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
# vi chroot.ldif
# specify the password generated above for "olcRootPW" section
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
# ldapadd -Y EXTERNAL -H ldapi:/// -f chroot.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"
Nous sommes configurés pour ajouter le cosinus, nis &inetorgperson LDAP schémas.
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry “cn=inetorgperson,cn=schema,cn=config”
- Créez le fichier changes.ldif dans le répertoire /etc/openldap/ . Collez les lignes de sortie avec {SSHA} avec {SSHA}xxx généré par slappasswd.
# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
- Ainsi, le nom de la base de données est désormais mdb. Les informations stockées dans le backend mdb se trouvent dans le fichier /etc/openldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif.
# vi /etc/openldap/changes.ldif
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/cert.pem
dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=example,d
c=com” read by * none
- Importez la configuration sur la machine. Ce sera l'entrée principale de l'annuaire LDAP.
# ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “cn=config”
modifying entry “cn=config”
modifying entry “olcDatabase={1}monitor,cn=config”
- Vérifier la configuration
# slaptest -u
La sortie doit ressembler à la sortie.
# config file testing succeeded
- Créez /etc/openldap/base.ldif avec la configuration ci-dessous.
vi /etc/openldap/base.ldif
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
# ldapadd -x -w redhat -D cn=Manager,dc=example,dc=com -f /etc/openldap/base.ldif
Créez des utilisateurs en créant le fichier users.ldif
# vi users.ldif
dn: uid=user01,ou=People,dc=example,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$zz2TKRQVGLyPJoTU$//n.UkHKrrfkeUQUOund2QbSGRMXjU0GV73o.UlprOB3CxBxmQArsESrNUUHC7v3ZhwojszXGh7LowRSnjWhG.
shadowLastChange: 18818
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/user01
- Testez la configuration si l'utilisateur est maintenant présent.
# ldapsearch -x cn=user01 -b dc=example,dc=com
- La sortie devrait ressembler à.
[root@master8 ~]# ldapsearch -x cn=user01 -b dc=example,dc=com
#extended LDIF
#
#LDAPv3
#base with scope subtree
#filter: cn=user01
#requesting: ALL
# user01, People, example.com
dn: uid=user01,ou=People,dc=example,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQ2JHp6MlRLUlFWR0x5UEpvVFUkLy9uLlVrSEtycmZrZVVRVU91bmQ
yUWJTR1JNWGpVMEdWNzNvLlVscHJPQjNDeEJ4bVFBcnNFU3JOVVVIQzd2M1pod29qc3pYR2g3TG93
UlNualdoRy4=
shadowLastChange: 18818
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/user01
user01, Group, example.com
dn: cn=user01,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: user01
userPassword:: e2NyeXB0fXg=
gidNumber: 1001
search result
search: 2
result: 0 Success
numResponses: 3
numEntries: 2
Conclusion
L'installation d'OpenLDAP est donc assez simple si vous suivez correctement les étapes. Cependant, si certaines étapes ne suivaient pas, le service ne fonctionnerait pas correctement. Symas OpenLDAP est une alternative fantastique à la compilation de votre package openldap à partir de openldap.org. À mon avis, il n'y a pas de meilleur apprentissage pratique que la théorie. Enfin, ce fut un voyage explorant de nouvelles choses par cœur et aimant ce que vous faites.