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