Einführung
Warum OpenLDAP?
Das Projekt soll den Quellcode der LDAP-Referenz kopieren. OpenLDAP ist die Abkürzung für Lightweight Directory Access Protocol.LDAP ist ein anbieterneutrales Anwendungsprotokoll, mit dem Sie verteilte Verzeichnisinformationsdienste über einen ISP bewerten und verwalten können. Es gibt viele verschiedene Möglichkeiten, ein Verzeichnis bereitzustellen. Beispielsweise hilft Ihnen die Verwendung von LDAP dabei bieten einen zentralen Ort zum Speichern von Benutzernamen und Passwörtern.
Daher könnten sich viele verschiedene Anwendungen und Dienste mit dem LDAP-Server verbinden, um Benutzer zu validieren. LDAP-Server werden in Organisationen häufig verwendet, um den Benutzernamen und das Passwort auf einem zentralen Server zu speichern, gegenüber dem sich der Benutzer weiter bei im Netzwerk vorhandenen Programmen und Diensten authentifizieren kann. Darüber hinaus werden wir Symas OpenLDAP-Pakete für die standardmäßigen Softwarewartungsbefehle Ihres Betriebssystems verwenden.Symas OpenLDAP ist der Hauptverantwortliche beim Schreiben von 90 % des OpenLDAP-Codes.
Vorteile von OpenLDAP
Es ist kostenlos. Ähnlich wie Linux ist Open Source. Standardprotokoll. Zweitens ist es außerdem einfach, die Authentifizierung an viele Anwendungen zu binden. Anpassbar und leicht.
Nachteile von OpenLDAP
Es wäre am besten, wenn Sie sich darauf vorbereiten. Zusätzlich zu Ihrer Infrastruktur unterstützen Sie alle Anforderungen. Richtlinien und Sicherheitsregeln sind vorhanden. Daher sollten Datenbanken oder ActiveDirectory immer Daten speichern. Alle Attribute und Richtlinien brechen, wenn die aktuellen Informationen nicht vorhanden sind. Vorausgesetzt, Microsoft in Ihrer Nähe gewährt OpenLDAP mit Active Directory.
Installieren auf Rocky oder Centos 8
Außerdem kann im Tutorial (Rocky Linux/Centos 8) verwendet werden. So behandelt es die Authentifizierung von Datensätzen in Bezug auf Konten. Damit dieses Tutorial besser funktioniert, beachten Sie bitte Folgendes.
Der Firewalld-Dienst. Wir können die Regel in dieser Befehlszeile hinzufügen. Sie fügen die Firewalld-Einschränkung damit in Ihrem Terminal-Port 389 für die nicht sichere Verbindung hinzu. Port 636 ist für die sichere Portverbindung eindeutig.
# firewall-cmd --permanent --add-port=389/TCP
# firewall-cmd --permanent --add-port=636/TCP
# firewall-cmd --reload
Erforderliche Pakete sollten installiert werden. Außerdem sind Sssd, openldap-clients und oddjob-mkhomedir für den Client erforderlich.
# dnf install wget vim cyrus-sasl-devel libtool-ltdl-devel openssl-devel libdb-devel make libtool autoconf tar gcc perl perl-devel -y
Also willkommen bei Symas OpenLDAP für Linux
Anweisungen für unterstützte Plattformen:
RHEL7
RHEL8
Ubuntu16.04 LTS
Ubuntu18.04 LTS
Ubuntu20.04 LTS
Symas OpenLdap für Linux auf RHEL8/Rocky/Centos8 konfigurieren
Nach der Installation der erforderlichen Binärdateien. Kopieren Sie die vorkonfigurierte Repository-Datei von Symas Aufbewahrungsort.
Die folgenden Schritte machen LDAP schnell einsatzbereit:
Installieren Sie das gewünschte Symas OpenLDAP-Paket
• Symas-OpenLDAP-Client enthält nur Client-Bibliotheken und -Befehle. Verwenden Sie dies auf Systemen, auf denen der Zugriff auf Symas OpenLDAP erforderlich ist, die Server-Software jedoch nicht erforderlich ist.
• Symas-OpenLDAP-Nonopt entfernt Optimierungs-Flags aus der Standard-Server/Client-Installation. Verringert die Leistung, erhöht jedoch die Debugging- und Fehlerbehebungsfähigkeiten.
• Symas-OpenLDAP (d. h. Server-Installer) enthält alle Client- und Serverkomponenten, die zum Aufbau eines voll funktionsfähigen LDAP-Verzeichnisses erforderlich sind.
• Symas-OpenLDAP-Devel wird verwendet, wenn der Zweck darin besteht, Software basierend auf Bibliotheken zu entwickeln, die Teil von Syas-OpenLDAP sind.
# wget -q https://repo.symas.com/configs/SOFL/rhel8/sofl.repo -O /etc/yum.repos.d/sofl.repo
- Installieren Sie die Pakete symas-openldap-client und symas-openldap-servers.
# dnf install symas-openldap-clients symas-openldap-servers -y
- Starten Sie den Dienst .
# systemctl start slapd
- Generieren Sie ein LDAP-Passwort aus einem geheimen Schlüssel.
# slappasswd -s rocky -n > /etc/openldap/passwd
- Neues Zertifikat muss generiert werden X509 gültig für 365 Tage.
# openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
- Verschieben Sie außerdem den generierten Inhalt in das Verzeichnis /etc/openldap/certs auf dem Master-LDAP. Kopieren Sie die cert.pem auf den Client, um sich mit der LDAP-Verbindung zu authentifizieren.
# cd /etc/openldap/certs.
# chown ldap:ldap *
# chmod 600 priv.pem
Bereiten Sie die im installierten OpenLDAP enthaltene Datenbankvorlage vor
# cp -r /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- Datenbankdatei generieren.
[root@master ~]#slaptest
config file testing succeeded
[root@master ~]#
- Ändern Sie also den Eigentümer von Datenbankdateien.
# chown ldap:ldap /var/lib/ldap/*
- Aktiviere den slapd-Dienst beim Booten und wird sofort gestartet.
# systemctl enable slapd --now
- Überprüfen Sie also den Dienst, ob er ausgeführt wird.
# 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
- Root-Passwort einrichten.
# 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"
Wir sind so konfiguriert, dass wir das cosine, nis &inetorgperson LDAP hinzufügen Schemas.
# 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”
- Erstellen Sie die Datei changes.ldif im Verzeichnis /etc/openldap/ . Fügen Sie die Ausgabezeilen mit {SSHA } mit {SSHA}xxx generiert von slappasswd. ein
# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
- Der DB-Name lautet also jetzt mdb. Die im mdb-Backend gespeicherten Informationen finden Sie in der Datei /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
- Importieren Sie die Konfiguration auf die Maschine. Dies ist der Haupteintrag im LDAP-Verzeichnis.
# 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”
- Konfiguration überprüfen
# slaptest -u
Die Ausgabe sollte wie die Ausgabe aussehen.
# config file testing succeeded
- Erstellen Sie /etc/openldap/base.ldif mit der folgenden Konfiguration.
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
Erstellen Sie Benutzer, indem Sie die Datei users.ldif erstellen
# 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
- Testen Sie die Konfiguration, wenn der Benutzer jetzt anwesend ist.
# ldapsearch -x cn=user01 -b dc=example,dc=com
- Die Ausgabe sollte so aussehen.
[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
Schlussfolgerung
Die Installation von OpenLDAP ist also recht einfach, wenn Sie die Schritte korrekt befolgen. Wenn die Schritte jedoch nicht folgen würden, würde der Dienst nicht richtig laufen. Symas OpenLDAP ist eine fantastische Alternative zum Kompilieren Ihres openldap-Pakets von openldap.org. Aus meiner Sicht gibt es kein besseres praktisches Lernen als die Theorie. Schließlich war es eine Reise, neue Dinge auswendig zu entdecken und zu lieben, was man tut.