RHCSA -Serien Einrichten der LDAP -basierten Authentifizierung in RHEL 7 - Teil 14

RHCSA -Serien Einrichten der LDAP -basierten Authentifizierung in RHEL 7 - Teil 14

Wir werden diesen Artikel beginnen, indem wir einige skizzieren LDAP Grundlagen (was es ist, wo es verwendet wird und warum) und zeigen, wie ein LDAP -Server eingerichtet wird und einen Client so konfiguriert Red Hat Enterprise Linux 7 Systeme.

RHCSA -Serie: Setup LDAP -Server und Client -Authentifizierung - Teil 14

Wie wir sehen werden, gibt es einige andere mögliche Anwendungsszenarien, aber in diesem Leitfaden werden wir uns ganz auf ganz konzentrieren LDAP-basiert Authentifizierung. Beachten Sie außerdem, dass wir aufgrund der Weite des Themas nur die Grundlagen hier behandeln werden, aber Sie können sich auf die in der Zusammenfassung beschriebenen Dokumentation beziehen, um mehr detailliertere Details zu erhalten.

Aus dem gleichen Grund werden Sie feststellen, dass ich beschlossen habe, mehrere Hinweise auf Menschenseiten von LDAP -Tools auszuschalten, um der Kürze willen, aber die entsprechenden Erklärungen befinden sich in der Ferne eines FingerspitzenMann ldapadd, Zum Beispiel).

Trotzdem fangen wir an.

Unsere Testumgebung

Unser Testumfeld besteht aus zwei Rhel 7 Kisten:

Server: 192.168.0.18. Fqdn: rhel7.Mydomain.com Klient: 192.168.0.20. Fqdn: ldapclient.Mydomain.com 

Wenn Sie möchten, können Sie den in Teil 12 installierten Maschine verwenden: Automatisieren Sie RHEL 7 -Installationen mit Kickstart als Client.

Was ist LDAP?

LDAP steht für Leichtes Verzeichniszugriffsprotokoll und besteht in einer Reihe von Protokollen, die es einem Client ermöglichen, über ein Netzwerk, zentral gespeicherte Informationen (z. von verschiedenen Orten oder einer großen Anzahl von Endnutzern zur Verfügung (ein weiteres Beispiel wäre ein Verzeichnis von Hausadressen und Telefonnummern aller Mitarbeiter in einem Unternehmen).

Wenn Sie solche (und mehr) Information zentral behalten, können Sie von allen, denen die Berechtigungen zur Verwendung erteilt werden, leichter gewartet und zugänglich werden.

Das folgende Diagramm bietet ein vereinfachtes Diagramm von LDAP, und wird unten ausführlicher beschrieben:

LDAP -Diagramm

Erläuterung des obigen Diagramms im Detail.

  1. Ein Eintrag In einem LDAP.
  2. Ein Attribut ist eine Informationen, die mit einem Eintrag verknüpft ist (z. B. Adressen, verfügbare Kontakt -Telefonnummern und E -Mail -Adressen).
  3. Jedes Attribut wird ein oder mehrere zugewiesen Werte bestehend in einer platz getrennten Liste. Ein Wert, der pro Eintrag eindeutig ist.

Gehen wir mit den Server- und Client -Installationen fort.

Installieren und Konfigurieren eines LDAP -Servers und des Clients

In Rhel 7, LDAP wird durch implementiert von OpenLDAP. Verwenden Sie zum Installieren des Servers und des Clients die folgenden Befehle:

# yum update && yum Installieren Sie OpenLdap OpenLdap-Clients OpenLdap-Servers # yum update && yum Installieren 

Sobald die Installation abgeschlossen ist, gibt es einige Dinge, die wir uns ansehen. Die folgenden Schritte sollten allein auf dem Server durchgeführt werden, sofern nicht ausdrücklich festgestellt wird:

1. Stellen Sie sicher Selinux stellt sich nicht in die Quere, indem er Folgendes aktiviert Booleschen anhaltend sowohl auf dem Server als auch auf dem Client:

# setsbool -p degly_ypbind = 0 authlogin_nsswitch_use_ldap = 0 

Wo ALLGESTELLTE_YPBIND ist für LDAP-basierte Authentifizierung erforderlich und authlogin_nsswitch_use_ldap kann von einigen Anwendungen benötigt werden.

2. Aktivieren und beginnen Sie den Service:

# Systemctl aktivieren Slapd.Service # SystemCtl Start Slapd.Service 

Denken Sie daran, dass Sie den Service auch mit SystemCTL deaktivieren, neu starten oder stoppen können:

# Systemctl Deaktivieren Sie Slapd.Service # SystemCtl Neustart Slapd.Service # SystemCtl Stopp Slapd.Service 

3. Seit der Slapd Der Service wird als LDAP -Benutzer ausgeführt (mit dem Sie überprüfen können ps -e -o pid, uname, comm | Grep Slapd), ein solcher Benutzer sollte die besitzen /var/lib/ldap Verzeichnis, damit der Server Einträge ändern können, die durch Verwaltungswerkzeuge erstellt werden, die nur als Root ausgeführt werden können (mehr dazu in einer Minute).

Kopieren Sie die Beispieldatenbankkonfigurationsdatei für den Eigentümer dieses Verzeichnisses rekursiv Slapd hinein:

# cp/usr/share/openldap-servers/db_config.Beispiel/var/lib/ldap/db_config # chown -r ldap: ldap/var/lib/ldap 

4. Richten Sie einen OpenLDAP -administrativen Benutzer ein und weisen Sie ein Kennwort zu:

# slappasswd 

Wie im nächsten Bild gezeigt:

LDAP Admin -Passwort festlegen

und erstellen eine Ldif Datei (ldaprootpasswd.ldif) mit dem folgenden Inhalt:

DN: olcdatabase = 0 config, cn = config Changetype: Ändern Sie hinzufügen: olcrootpw olcrootpw: ssha Passwort 

Wo:

  1. PASSWORT ist die zuvor erhaltene Hashed -Zeichenfolge.
  2. cn = config Zeigt globale Konfigurationsoptionen an.
  3. olcdatabase Zeigt einen bestimmten Datenbankinstanznamen an und kann normalerweise darin gefunden werden /etc/openldap/slapd.d/cn = config.

In Bezug auf den zuvor bereitgestellten theoretischen Hintergrund die ldaprootpasswd.ldif Die Datei fügt dem LDAP -Verzeichnis einen Eintrag hinzu. In diesem Eintrag stellt jede Zeile ein Attribut dar: Wertpaar (wobei DN, Changetyp, Add und Olcrootpw die Attribute und die Zeichenfolgen rechts von jedem Dickdarm sind, sind ihre entsprechenden Werte).

Möglicherweise möchten Sie dies berücksichtigen, während wir weiter vorgehen, und bitte beachten Sie, dass wir dieselben gebräuchlichen Namen verwenden (cn =) Während des Restes dieses Artikels hängt jeder Schritt von der vorherigen ab.

5. Fügen Sie nun den entsprechenden LDAP -Eintrag hinzu, indem Sie die angeben Uri In Bezug auf den LDAP -Server, auf dem nur die Felder Protokoll/Host/Port zulässig sind.

# ldapadd -h ldapi: /// -f ldaprootpasswd.ldif 

Die Ausgabe sollte ähnlich sein wie mit:

LDAP -Konfiguration

und importieren einige grundlegende LDAP -Definitionen aus dem /etc/openldap/Schema Verzeichnis:

# für Def im Cosinus.ldif nis.ldif inetorgperson.ldif; do ldapadd -h ldapi: /// -f/etc/openldap/schema/$ def; Erledigt 
LDAP -Definitionen

6. Lassen Sie LDAP Ihre Domain in seiner Datenbank verwenden.

Ein anderes erstellen Ldif Datei, die wir anrufen werden ldapdomain.ldif, Ersetzen Sie mit dem folgenden Inhalt Ihre Domäne (in der Domänenkomponente dc =) und das Passwort, je nach Bedarf:

DN: olcdatabase = 1 Monitor, cn = config Changetype: Modify Ersetzen Sie: olcaccess olcaccess: 0 bis * von DN.Base = "gidNumber = 0+uidNumber = 0, cn = Peercred, CN = extern, cn = auth" von DN gelesen.Base = "CN = Manager,DC = MyDomain,dc = com "Lesen von * None DN: olcdatabase = 2 HDB, CN = CONFIG -Changetyp: Modify Ersetzen Sie: olcsuffix olcsuffix: DC = MyDomain,dc = com dn: olcdatabase = 2 hdb, cn = config Changetype: modifizieren Sie ersetzen Sie: olcrootdn olcrootdn: cn = Manager,DC = MyDomain,dc = com dn: olcdatabase = 2 hdb, cn = config Changetype: modifizieren Sie hinzufügen: olcrootpw olcrootpw: ssha password dn: olcdatabase = 2 hdb, cn = config Changetyp: add: olcaccess olcacess: 0 0 0 0 0 0 0 0 an attrs = userpassword, Shadowlastchange von dn = "cn = Manager,DC = MyDomain,dc = com "Schreiben von anonymem Auth von Self Schreiben von * None olcaccess: 1 bis DN.Base = "" von * lesen olcaccess: 2 to * von dn = "cn = Manager, dc = mydomain, dc = com" Schreiben von * read 

Laden Sie es dann wie folgt: wie folgt:

# ldapmodify -h ldapi: /// -f ldapdomain.ldif 
LDAP -Domänenkonfiguration

7. Jetzt ist es Zeit, unserem LDAP -Verzeichnis einige Einträge hinzuzufügen. Attribute und Werte werden durch einen Dickdarm getrennt (:) :) In der folgenden Datei werden wir nennen Baseldapdomain.ldif:

dn: dc = mydomain, dc = com ObjectClass: Top -Objektklasse: DCObject ObjectClass: Organisation O: Mydomain com DC: MyDomain DN: CN = Manager, DC = MyDomain, DC = Com ObjectClass: OrganizationalRole Cn: Manager Beschreibung: Verzeichnismanager DN: ou = people, dc = mydomain, dc = com ObjectClass: organisationUnit ou: people dn: ou = gruppe, dc = mydomain, dc = com ObjectClass: organisationUnit ou: gruppe 

Fügen Sie die Einträge zum LDAP -Verzeichnis hinzu:

# ldapadd -x -d cn = Manager, dc = mydomain, dc = com -w -f Baselddomain.ldif 
Fügen Sie LDAP -Domänenattribute und -werte hinzu

8. Erstellen Sie einen LDAP -Benutzer angerufen ldapuser (Adduser ldapuser) und erstellen Sie die Definitionen für eine LDAP -Gruppe in ldapgroup.ldif.

# Adduser ldapuser # vi ldapgroup.ldif 

Fügen Sie den folgenden Inhalt hinzu.

DN: CN = Manager, OU = Group, DC = MyDomain, DC = Com ObjectClass: Top -Objektklasse: Possixgroup GidNumber: 1004 

Wo Gidnumber ist die gid in /etc/Gruppe für ldapuser) und laden Sie es:

# ldapadd -x -w -d "CN = Manager, DC = MyDomain, DC = com" -f ldapGroup.ldif 

9. Fügen Sie eine LDIF -Datei mit den Definitionen für den Benutzer LDAPUSER hinzu (ldapuser.ldif):

dn: uid = ldapuser, ou = people, dc = mydomain, dc = com ObjectClass: Top -Objektklasse: Account ObjectClass: Possixaccount Objektklasse: Shadowaccount CN: ldapuser uid: ldapuser uidnumber: 1004 gidnumber: 1004 homedirectory: /home /ldapus enderword:  SSHA Fin0YQZBDUDI0FPPQQQ9UUDWMJZQY28S3M LOGINSHELL: /BIN /BASH GECOS: LDAPUSER SHADowlastchange: 0 ShadowMax: 0 ShadowWarning: 0 

und laden Sie es:

# ldapadd -x -d cn = Manager, dc = mydomain, dc = com -w -f ldapuser.ldif 
LDAP -Benutzerkonfiguration

Ebenso können Sie den gerade erstellten Benutzereintrag löschen:

# ldapdelete -x -w -d Cn = Manager, DC = MyDomain, dc = com "uid = ldapuser, ou = people, dc = mydomain, dc = com" 

10. Kommunikation durch die Firewall zulassen:

# Firewall-CMD --add-Service = LDAP 

11. Last, aber nicht zuletzt ermöglichen es dem Client, sich mit LDAP zu authentifizieren.

Um uns in diesem letzten Schritt zu helfen, werden wir die verwenden Authconfig Dienstprogramm (eine Schnittstelle zur Konfiguration der Systemauthentifizierungsressourcen).

Unter Verwendung des folgenden Befehls wird das Home -Verzeichnis für den angeforderten Benutzer erstellt, wenn es nach der Authentifizierung gegen den LDAP -Server nicht vorhanden ist, ist erfolgreich:

# authconfig --enableldap --enableldapAuth -LdapServer = rhel7.Mydomain.com -ldapbasedn = "dc = mydomain, dc = com" -enablemkhomedir - -update 
LDAP -Client -Konfiguration

Zusammenfassung

In diesem Artikel haben wir erklärt, wie die grundlegende Authentifizierung mit einem LDAP -Server eingerichtet werden kann. Um das im vorliegende Handbuch beschriebene Setup weiter zu konfigurieren, finden Sie in Kapitel 13 - LDAP.

Fühlen Sie sich frei, Fragen zu hinterlassen, die Sie möglicherweise im folgenden Kommentarformular verwenden.