Aufrufe
vor 3 Jahren

LinuxUser Fotos bearbeiten (Vorschau)

Netz&System OpenLDAP

Netz&System OpenLDAP Hier zeigt sich ein Nachteil der dynamischen Konfiguration: Sie gestaltet sich ganz offensichtlich etwas schwieriger als das Editieren einfacher Textdateien. Die Nutzerauthentifizierung sollte jedoch mit allen Distributionen von Haus aus funktionieren. Clients einrichten Um von der zentralen Nutzerverwaltung zu profitieren, benötigen Sie nur wenige zusätzliche Schritte. Linux nutzt für die Authentifizierung PAM und den Name Service Switch (NSS), um Benutzerdaten aus Datenbanken zu lesen, sodass Sie die entsprechenden Pakete einspielen müssen. Unter Debian benötigen Sie dafür libnss-ldapd, libpamldapd und – wenn Sie Nutzern ein Abfragen des LDAP-Verzeichnisses gestatten möchten – auch die ldap-utils. Die Installationsroutine fragt alle relevanten Informationen ab, sodass Sie nur darauf achten müssen, dass sie mit denen des Servers übereinstimmen. Anschließend weisen Sie den NSS an, von nun an auch LDAP-Server abzufragen, wenn sich ein Nutzer anmeldet. Zu diesem Zweck ergänzen Sie in der /etc/ nsswitch.conf die mit passwd, group und shadow beginnenden Zeilen um ldap 4 . Um Abfragen mit Ldapsearch und Konsorten an den Server zu senden, müssen Sie eventuell auch noch die Parameter für TLS_CACERT und URI in der / etc/ldap/ldap.conf anpassen. Jetzt können Sie sich anmelden. Falls das nicht gelingt, beobachten Sie beispielsweise mithilfr des Kommandos tail ‐f /var/log/auth.log die für Authentifizierungen zuständige Protokolldatei. Es kommt vor, dass auf dem LDAP- Client noch kein Home-Verzeichnis für den User existiert, der sich anmelden möchte. Um dieses automatisch anzulegen, fügen Sie in der /etc/pam.d/common‐session die folgende Zeile hinzu: Listing 5 # tls.ldif dn: cn=config add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ ldap/certs/ca.crt ‐ add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ldap/ certs/server.crt ‐ add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ ldap/certs/server.key ‐ # tls erzwingen add: add: olcSecurity olcSecurity: tls=1 ‐ add: olcSecurity olcSecurity: ssf=256 Listing 6 $ ldapsearch ‐ZZ ‐x ‐LLL "uid=karl" $ ldapsearch ‐DD ‐x ‐LLL objectClass=posixAccount Listing 7 session required pam_mkhomedir.soU skel=/etc/skel/ umask=0027 Arbeiten Ihre Nutzer mit verschiedenen Rechnern und möchten Sie deren Daten synchron halten, dann denken Sie am besten darüber nach, einen NFS-Server ins Netz zu stellen, der die Heimatverzeichnisse bereitstellt. Sichere Verbindung Um zu verhindern, dass jemand die im Klartext übermittelten Nutzerdaten im Netz abgreift, gilt es, die Verbindung mittels TLS abzusichern. Dazu erzeugen Sie Schlüssel und Zertifikate für den Server (Listing 4) und machen OpenLDAP mittels einer LDIF-Datei (Listing 5) mit ihnen bekannt: $ ldapmodify ‐Y EXTERNAL ‐H ldapU i:// ‐f tls.ldif Hinterlegen Sie danach auf den Clients das CA-Zertifikat und geben Sie ihnen vor, TLS zu nutzen. Dazu passen Sie die Datei / etc/nslcd.conf an, indem Sie dort die Option ssl auskommentieren, auf start_tls setzen und hinter tls_ cacertfile den Pfad zum CA-Zertifikat eintragen. Danach starten Sie Nslcd neu. Bevor der LDAP-Verkehr auch verschlüsselt reibungslos läuft, erfordern die Einträge URI und TLS_CACERT in / etc/ldap/ldap.conf eventuell etwas Aufmerksamkeit. $ ldappasswd ‐ZZ ‐D "cn=admin,dc=hochdrei,dc=local" "uid=karl, ou=vorstand,dc=hochdrei,dc=local" ‐W ‐S $ ldappasswd ‐ZZ ‐D "uid=karl,ou=vorstand,dc=hochdrei,dc=local" ‐W ‐S 82 www.linux-user.de 09.2014

OpenLDAP Netz&System LDAP nutzen Haben Sie das erledigt, dann suchen Sie etwa Nutzer mit dem Aufruf aus der ersten Zeile von Listing 6. Der Parameter ‐ZZ sorgt für Verschlüsselung, mit ‐x entfällt die SASL-Bindung an einen bestimmten Nutzer, und der Schalter ‐LLL unterdrückt Kommentare. Das Kommando aus der zweiten Zeile gibt sämtliche Objekte aus, die die Klasse posixAccount geerbt haben. Der Schalter + fördert, an den Ldapsearch-Befehl angehängt, Interessantes zutage. Mit der Eingabe aus der ersten Zeile von Listing 7 setzen Sie beispielsweise für den Nutzer karl aus der Abteilung vorstand ein neues Passwort. Möchte Karl sein Passwort lieber selbst ändern, erledigt er das mit dem Befehl aus der zweiten Zeile. Änderungen erfolgen entweder interaktiv oder mittels der bereits vorgestellten LDIF-Dateien. Möchten Sie beispielsweise lediglich ein Attribut ändern, dann könnte das wie in Listing 8 dargestellt erfolgen: Es ergänzt die Organisation um die Attribute für Ort, Postanschrift und Postleitzahl. Bei mehreren Attributen und Objekten kommt wohl niemand am Einsatz einer entsprechenden LDIF-Datei vorbei, zumal sich damit auch Fehler leichter ausbügeln lassen. Mit Ldapdelete befördern Sie nicht mehr benötigte Einträge ins Nirvana. Den entsprechenden Aufruf für den Beispielnutzer karl sehen Sie in Listing 9. Listing 8 ldapmodify ‐ZZ ‐D "cn=admin, dc=hochdrei,dc=local" ‐W dn: dc=hochdrei,dc=local changetype: modify add: l l: Potsdam ‐ add: postalcode postalcode: 14482 ‐ add: postalAddress postalAddress: Schulstraße 9 [...übernehmen mit [Strg]+[D]...] 4 In der /etc/nsswitch.conf teilen Sie dem System mit, dass es Nutzerdaten auch in einem LDAP-Verzeichnis suchen soll. Möchten Sie OpenLDAP-Verzeichnisse per grafischer Oberfläche verwalten, bieten sich dazu der LDAP Account Manager û, Gosa û oder Jxplorer û an. Fazit Geht es darum, zentrale Strukturen zu verwalten, bietet OpenLDAP erhebliches Potenzial. Vor allem in der zentralen Nutzerverwaltung spielt der Verzeichnisdienst seine Stärken aus: Es gibt kaum eine Anwendung oder Programmiersprache ohne LDAP-Schnittstelle. Ob Mailserver, CMS, Blog oder ERP-Systeme: LDAP- Verzeichnisse übernehmen auf Wunsch fast überall die Authentifizierung. Daneben eignet sich LDAP aber auch, um Geräte, Adressen, Inventar und alle möglichen anderen Dinge zu verwalten. Zwar erklärt sich der komplexe Verzeichnisdienst nicht von selbst, sodass Sie mehr als ein Wochenende brauchen, um sich in die Materie einzuarbeiten. Es zu wagen, lohnt sich vor allem dann, wenn Sie Netzwerke mit mehr als fünf Rechnern administrieren. (tle) n Listing 9 Weitere Infos und interessante Links www. linux‐user. de/ qr/ 31449 $ ldapdelete ‐ZZ ‐D "cn=admin,dc=hochdrei,dc=local" "uid=karl, ou=vorstand,dc=hochdrei,dc=local" ‐W" 09.2014 www.linux-user.de 83