X

Datenschutz & Cookies

Diese Website verwendet cookies. Indem Sie fortfahren, stimmen Sie ihrer Verwendung zu. Erfahren Sie mehr, einschließlich der Kontrolle von Cookies.

Verstanden!

UPDATE: Ich habe heute festgestellt, dass ich dasselbe Thema zweimal in zwei verschiedenen Beiträgen geschrieben habe., Dieser sollte die kombinierte Anstrengung betrachtet werden, kann aber ein bisschen wie ein Blog Frankenstein lesen. Das Original des anderen bleibt hier oben:

Dieser Beitrag ist Teil 5 der neuen LDAP-Serie, mit der ich begonnen habe, Menschen dabei zu helfen, sich dessen bewusst zu werden, was LDAP ist und wie es funktioniert.

Teil eins hier gepostet wurde:

Was zum Teufel ist LDAP überhaupt?

Dieser Beitrag konzentriert sich auf LDAP-Server und-Clients.,

Server vs Clients

Im Tierreich sehen Sie oft symbotische Beziehungen, wie die angebliche Beziehung zwischen Krokodilen und dem Pflugvogel, der totes Zeug von den Zähnen des Krokodils frisst.

Die LDAP-Client/Server-Beziehung ist ebenfalls symbiotisch. Der Server benötigt den Client, um ihm Fragen zu stellen, und der Client benötigt den Server, um ihm Informationen zuzuführen.,

Wenn die Natur nicht Ihr Ding ist, gibt es immer die symbiotische Beziehung zwischen Spider-Man und Venom:

Bei LDAP fragt ein Client nach Benutzernamen, Home-Verzeichnisstandorten, Gruppenmitgliedschaften usw. Der Server wäre für die Bereitstellung dieser Informationen verantwortlich.

LDAP unterscheidet sich nicht von anderen Protokollen wie HTTP,NFS usw. Es ist eine client-und server-Beziehung. Und genau wie jede erfolgreiche Beziehung, es muss jemand reden und jemand zuhören.

Ich habe einen zweijährigen Sohn. Er redet, aber das meiste ist nur Übung für ihn., Er sagt Dinge wie “ Dada, Vogelwagen.“Und ich sage“ Vogel? LKW? Cool!“Es ist meist ein einseitiges Gespräch, wo ich im Wesentlichen ACK seine SYNs. (Ich muss raus mehr)

Manchmal, es ist „dada Lesen Buch.“Und ich stimme zu.

LDAP-Client/Server-Konversationen unterscheiden sich nicht wesentlich. Der Kunde ist mein zweijähriger. Der LDAP-Server bin ich.

„LDAP, Benutzerinformationen suchen“

“ Benutzerinformationen? Cool! Hier ya go!“

LDAP-Konversationen sind an ihrer Basis nichts anderes als TCP-SYNs und-ACKs. Daher sollten sie bei der Konfiguration oder Fehlerbehebung als solche behandelt werden.,

Wo die Dinge durcheinander geraten, ist, wenn Sie anfangen zu überlegen, was es braucht, damit eine Client/Server-Beziehung erfolgreich ist. Es ist keine gute Idee, die Kommunikationskanäle für alle auf der Welt weit offen zu lassen, daher müssen wir einige Regeln befolgen, wenn Clients mit Servern sprechen möchten.

Client/Server-Konfigurations –

LDAP-clients nichts ausführen von software, die LDAP-Abfrage über RFC-2307-standards. Windows, Linux, Speichersystem-Betriebssysteme usw. können alle als Clients fungieren., Einige Betriebssysteme enthalten integrierte LDAP-Funktionen (z. B. Windows), für die Sie nichts Besonderes installieren müssen. Einige Speichersysteme, wie z. B. NetApp ‚ s Clustered Data ONTAP, unterstützen LDAP vollständig, das dem RFC-2307-Standard entspricht. Weitere Informationen finden Sie unter TR-4073: Sichere und Einheitliche Authentifizierung.

Grundlegende Netzwerkinformationen.

Denken Sie daran, an seiner Basis ist es eine einfache TCP-Konversation.

  • LDAP-Servernamen, URI – oder IP-Adressen (ist der Server in DNS? Gibt es SRV-Datensätze für LDAP?,)
  • LDAP-Port (Standardports sind 389 für LDAP, 636 für LDAP über SSL, 3268 für Global Catalog; Haben Sie den Serverport geändert?)
  • Kann der client mit dem server (routing?)

Bevor ein Client eine Konversation mit einem Server initiieren kann, muss er mit Informationen zu diesem Server konfiguriert werden. Die Konfiguration folgt den Grundlagen des OSI-Modells, beginnend mit den ersten Schichten des Stapels, um eine TCP-Konversation mit dem Server zu initiieren.

Gemeinsame LDAP-Clients

LDAP-Clients neigen auch dazu, die gleichen Standards wie die Server einzuhalten. Warum?, Weil es Sinn macht. Clients können sich von einem Betriebssystem abheben, aber einige Betriebssysteme integrieren LDAP standardmäßig in ihre Konfiguration. Windows ist ein Beispiel dafür, wie integral LDAP in Active Directory ist.

Andere Clients umfassen (sind aber sicherlich nicht darauf beschränkt):

  • SSSD
  • OpenLDAP

Hoffentlich haben die Informationen in diesem Beitrag dazu beigetragen, Verwirrung auf LDAP-Clients und-Servern zu beseitigen.

Auf einigen LDAP-Servern können Sie sogar Änderungen an dem Port vornehmen, den sie für die LDAP-Kommunikation überwacht., Dies soll dazu beitragen, LDAP-Server zu sichern, indem bekannte Ports nicht genutzt werden. Bei gängigen LDAP-Servern wie Active Directory ist es jedoch schwierig, andere Ports als die gängigen zu verwenden. Bei der Konfiguration der Clients muss immer die LDAP-Serverkonfiguration überprüft werden.

Nachdem wir die TCP-Verbindung überwunden haben, verbringen wir unsere Zeit in der Anwendungsschicht des OSI-Modells.

Bind/Login-Daten.

Zuerst müssen wir uns um die Authentifizierung beim LDAP-Server kümmern. Dies wird auch als Bindung bezeichnet., Die Authentifizierungsebene hängt davon ab, was der Server zulassen soll. Die niedrigstmögliche Authentifizierungsstufe ist „anonym“, aber kein moderner LDAP-Server erlaubt standardmäßig anonyme Bindungen. Im Allgemeinen ist ein schreibgeschütztes Konto auf dem LDAP-Server erforderlich, um sich bei einem Server zu authentifizieren, um LDAP-Abfragen auszugeben.

Die erforderlichen Bind-Informationen sind in der Client-Konfiguration enthalten. Für die sicherste Konfiguration wird die Verwendung eines Ticket-oder schlüsselbasierten Authentifizierungssystems gegenüber der Verwendung von Kennwörtern bevorzugt.,

LDAP-Suchinformationen

Nachdem eine Bindung erfolgt ist, werden die Abfragen ausgeführt. Die Art der Abfragen hängt von der Clientkonfiguration ab. Welches Schema verwenden wir? Welche Informationen brauchen wir? Haben wir den Client so konfiguriert, dass er jederzeit LDAP nach Informationen sucht (über nsswitch.conf-Konfiguration)? Haben wir dem Client mit der Bereitstellung des Basis-DN mitgeteilt, wo er nach Informationen auf dem LDAP-Server suchen soll?

Dies teilt dem Client mit, wo er nach Informationen auf dem LDAP-Server suchen soll.,Das Format für diese Informationen sind Distinguished Names (DNs), die ich in Teil 4 behandle. Sie können einen Basis-DN und dann einen bestimmten DNs für Benutzer, Gruppen, Netzgruppen usw. festlegen. Sie können sogar mehrere Standorte für die Suche angeben. Die Idee hier ist, unsere Suche zu filtern, um die Dinge für die Kunden zu beschleunigen.

Fun fact: Apple korrigiert DNs automatisch auf DNS. Nicht cool, Apple. Nicht cool.

Sobald der LDAP-Client über die erforderlichen Informationen verfügt, sollte die Verbindung abgebrochen werden – wir möchten nicht unbegrenzt angemeldet bleiben. Das ist ein Ressourcenfresser.

LDAP-Schemainformationen

Ich behandle Schemas im Detail in Teil 3., Viele Clients kennen die von LDAP verwendeten Standardschemata wie RFC-2307, RFC-2307bis usw. In den meisten Fällen weichen die Schemas auf dem Server nicht davon ab. In einigen Fällen, z. B. durch manuelle Eingriffe oder Tools von Drittanbietern wie Dell Vintela (auch als Centrify, Quest usw. bezeichnet), müssen möglicherweise Anpassungen vorgenommen werden. Dies kann auf dem client ausgeführt. Dadurch kann der Client vom Server nach den richtigen Informationen fragen, wodurch der Server die Informationen finden und auf den Client antworten kann.,

Clientspezifische Optionen

Viele Clients bieten spezifische Optionen wie Caching von Benutzern / Gruppen, Anmeldeinformationen, Kerberos-Konfiguration usw. Diese sind im Allgemeinen optional, sollten jedoch pro Client-Anbieter untersucht werden.

Beispielclientkonfiguration

Das folgende Beispiel zeigt, wie ein Clustered Data ONTAP LDAP-Client aussehen würde:

So sieht meine Clientkonfiguration aus, auf der SSSD ausgeführt wird:

Server

Wenn Sie möchten, dass die Clients nach Informationen fragen, benötigen Sie einen Server., Der Server muss über ein gültiges RFC-2307-Schema verfügen, um die erforderlichen LDAP-Objekte enthalten zu können. Wenn Sie UNIX-basiertes LDAP ausführen und Microsoft Active Directory zur Bereitstellung der UNIX-basierten Authentifizierung verwenden möchten, müssen Sie sicherstellen, dass der Server über UNIX-Attribute im Schema verfügt. Während Microsoft Active Directory auf einem LDAP-Backend ausgeführt wird, ist es kein UNIX-basierter LDAP-Server, bis Sie das Schema erweitern. Ich spreche ein wenig darüber in meinem Blogbeitrag auf IDMU.

Wie im Abschnitt Client erwähnt, benötigen Sie eine Reihe von Informationen zum Konfigurieren von Clients. Der Server ist, woher diese Informationen kommen., Hier sind die Dinge, die Sie auf dem Server überprüfen müssen, um sicherzustellen, dass Sie Ihre Clients korrekt konfigurieren:

  • Servernetzwerkinformationen (IP-Adresse, Hostname, DNS-Einträge, SRV-Datensätze, LDAP-Serverports usw.)
  • Unterstützte Bindeebene (verwenden Sie möglichst die stärkste verfügbare)
  • Gültiger Bind-Benutzer oder SPN
  • DN-Informationen
  • Schematyp / Attribute

LDAP-Server können Tonnen von Informationen hosten. UNIX-Benutzer-creds, Windows creds, netgroups, IP-Adressen, SPNs, name mapping-Regeln…. Es hängt nur davon ab, was die Kunden unterstützen und was Sie verwenden können.,

Gemeinsame LDAP-Server

LDAP-Server alle neigen dazu, einen gemeinsamen Satz von Standards zu halten, wie von IETF definiert. Dies soll eine breite Palette von Support für Kunden gewährleisten., Einige der gängigeren LDAP-Server umfassen (sind aber nicht darauf beschränkt):

  • Active Directory
  • OpenLDAP
  • RedHat Directory Server/389 Directory Server
  • Apple Open Directory
  • Oracle Internet Directory
  • ApacheDS

LDAP-Verweise

Wenn Sie mehrere LDAP-Server verwenden und ein Client kein Objekt auf dem angegebenen LDAP-Server finden kann in der Domäne kann versucht werden, einen LDAP-Verweis zu verwenden, um auf den anderen Servern zu suchen., Im Wesentlichen nimmt es Informationen auf dem LDAP-Server über andere Server auf, die wir kennen, und versucht, über LDAP-URI eine Verbindung zu ihnen herzustellen, bis entweder a) das Objekt gefunden wird oder b) die Server zum Ausprobieren leer sind. Dies kann sowohl auf Windows-als auch auf Nicht-Windows-LDAP-Servern geschehen. Einige LDAP-Clients unterstützen „Referral Chasing“ nicht, daher ist es wichtig zu wissen, ob dies in Ihrer Umgebung geschieht und ob Ihr Client in der Lage ist, Empfehlungen zu verfolgen.,

Globale Katalogsuche

In Active Directory ist es möglich, eine Kopie von Attributen aus mehreren Domänen in einer Gesamtstruktur auf lokalen Domänencontrollern zu speichern, die als globale Katalogserver fungieren. Standardmäßig werden UNIX-Attribute nicht in den globalen Katalog repliziert, Sie können dieses Verhalten jedoch nach Bedarf ändern. Ich behandle, wie dies in TR-4073 zu tun. Wenn Sie mehrere Domänen in derselben Gesamtstruktur abfragen müssen und LDAP-Verweise vermeiden möchten, können Sie einfach die erforderlichen Attribute replizieren und den LDAP-Port in 3268 ändern, damit die Server wissen, dass stattdessen der globale Katalog verwendet wird!,

Meine Umgebung

In meiner Umgebung verwende ich Active Directory LDAP mit Identity Management. Es ist jedoch bekannt, dass ich OpenLDAP-und RedHat-Verzeichnisdienste verwende. Beide sind vollkommen gültig zu verwenden. Wenn Sie jedoch Multiprotocol NAS (CIFS/SMB und NFS) ausführen möchten, empfehle ich dringend, Microsoft Active Directory für die Authentifizierung für UNIX-und Windows-Benutzer zu verwenden. Macht das Leben unendlich einfacher.

Wenn Sie bereits Linux-basiertes LDAP verwenden, ist das in Ordnung. Versuchen Sie nach Möglichkeit sicherzustellen, dass die UNIX-Benutzernamen (UID-LDAP-Attribut) mit den Windows-Benutzernamen (sAMAccount-Attribut) übereinstimmen., Auf diese Weise müssen Sie sich bei Verwendung von Multiprotocol NAS keine Gedanken über die Namenszuordnung machen.

Wenn Sie möchten, um zu sehen, nichts Hinzugefügt, um diesen Beitrag zu LDAP-Server und-clients, fühlen Sie sich frei zu kommentieren oder Folgen Sie mir auf Twitter @NFSDudeAbides!

Wrap-up

Weitere Informationen zur LDAP-Konfiguration (insbesondere mit NetApp Clustered Data ONTAP) finden Sie unter TR-4073: Secure Unified Authentication.

Bleiben Sie auch in der Reihe der LDAP-Grundlagen in diesem Blog auf dem Laufenden!,

Links zu anderen Abschnitten finden Sie im ersten Beitrag dieser Serie:

Was zum Teufel ist überhaupt ein LDAP?

<

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.