Unterabschnitte
Dieses Paket wurde auf Basis des LDAPserver-Paketes, welches aus dem
openldap-Paket von Jens Vehlhaber (E-MAIL jvehlhaber@buchenwald.de)
hervor gegangen ist, erstellt und wird von Jürgen Edner (E-MAIL
juergen@eisfair.org) weiter entwickelt. Es enthält einzig
die zugehörigen LDAP-Client-Programme.
In diesem Paket wurden die für den Zugriff auf einen LDAP-Server
(Lightweight Directory Access Protocol) Server benötigten Programme
zusammengefasst.
Das LDAPclient-Paket besteht aus folgenden Komponenten:
Dieses Paket benötigt zur korrekten Funktion zwingende die installierten
Pakete 'Certs' (bei Verwendung von Verschlüsselung), 'Libldap',
'Libsasl', 'Libssl'.
Das LDAPclient-Paket wird über das Setup-Menü installiert. Wird
eine ältere Paketversion vorgefunden, so wird diese deinstalliert
bevor die neuen Programmdateien installiert werden. Nach Beendigung
dieses Schrittes werden die Konfigurationsdateien generiert und
alle benötigten Programme gestartet.
Das Menü im Setup-Programm ist wie folgt aufgebaut:
- OpenLDAP client administration
- View documentation: Anzeigen der Dokumentation
- Edit configuration: Bearbeiten der Konfiguration
- Advanced configuration file handling: Konfigurationen verwalten
- Test LDAP connection: Verbindung zum LDAP-Server prüfen
- Return: Untermenü verlassen
Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei
weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion
nicht weiter eingegangen.
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert
werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-
Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der
Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden
soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend
wirksam gemacht.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will findet sie
unter /etc/config.d/ldapclient.
-
- START_LDAPCLIENT
-
Zur Aktivierung der LDAP-Client-Konfiguration muss diese Variable
lediglich auf den Wert 'yes' gestellt werden. Die Einstellung 'no'
deaktiviert die Konfiguration.
Gültige Werte: yes, no
Standardeinstellung: START_LDAPCLIENT='no'
- LDAPCLIENT_LDAP_HOSTURI
-
Über diesen Parameter legt man den Hostnamen und TCP-Port des
LDAP-Servers fest zu welchem eine Verbindung aufgebaut werden
soll.
Gültige Werte: URI und TCP-Port
Beispiel: LDAPCLIENT_LDAP_HOSTURI='ldap://meinserver.local.lan:389'
- LDAPCLIENT_LDAP_BASEDC
-
Über diesen Parameter legt man die Basisdomain des LDAP-Verzeichnisbaums
fest.
Gültige Werte: Base Domain Component
Standardeinstellung: LDAPCLIENT_LDAP_BASEDC='privatnet'
- LDAPCLIENT_LDAP_BASEDN
-
Über diesen Parameter wird der Base Distinguished Name des
LDAP-Verzeichnisses festgelegt. Dies ist das Wurzelverzeichnis
von welchem Suchanfragen etc. gestartet werden.
Gültige Werte: Base Distinguished Name
Standardeinstellung: LDAPCLIENT_LDAP_BASEDN='dc=privatnet,dc=lan'
- LDAPCLIENT_LDAP_AUTH
-
Über diesen Parameter wird festgelegt, ob der LDAP-Client sich
bei einem Verbindungsaufbau authentifizieren soll oder nicht.
Gültige Werte: yes, no
Standardeinstellung: LDAPCLIENT_LDAP_AUTH='no'
- LDAPCLIENT_LDAP_ADMIN_NAME
-
Über diesen Parameter wird der Name des LDAP-Administrators festgelegt,
welcher zur Authentifizierung am LDAP-Verzeichnisbaum verwendet
werden soll.
Gültige Werte: LDAP-Kontoname
Standardeinstellung: LDAPCLIENT_LDAP_ADMIN_NAME='ldapadmin'
- LDAPCLIENT_LDAP_ADMIN_PASS
-
Über diesen Parameter kann das Kennwort des LDAP-Administratorkontos
festgelegt werden.
Gültige Werte: Kennwort
Standardeinstellung: LDAPCLIENT_LDAP_ADMIN_PASS=”
- LDAPCLIENT_CLIENT_CERT_FILE
-
Optionaler Parameter: Über diesen Parameter legt man den Namen des
Client-Zertifikats fest, welches zur Authentifizierung am LDAP-Server
verwendet werden soll. Eingegeben werden muss der absolute Pfad zur
Datei inklusive des Dateinamens.
Gültige Werte: absoluter Pfad inkl. Dateiname
Standardeinstellung: LDAPCLIENT_CLIENT_CERT_FILE=”
- LDAPCLIENT_CLIENT_KEY_FILE
-
Optionaler Parameter: Über diesen Parameter legt man den Namen der
Zertifikatsschlüsseldatei fest, welches zur Authentifizierung am
LDAP-Server verwendet werden soll. Eingegeben werden muss der absolute
Pfad zur Datei inklusive des Dateinamens.
Gültige Werte: absoluter Pfad inkl. Dateiname
Standardeinstellung: LDAPCLIENT_CLIENT_KEY_FILE=”
- LDAPCLIENT_SERVER_CERT_CHECK
-
Optionaler Parameter: Über diesen Parameter legt man fest, in welcher
Weise ein Serverzertifikat beim Aufbau einer TLS-gesicherten Verbindung
geprüft werden soll. Zur Auswahl stehen folgende Varianten:
- never - Es wird keine Zertifikatsprüfung durch den LDAP-Client durchgeführt.
- allow - Es wird ein Serverzertifikat angefordert, jedoch wird auch dann eine
Verbindung aufgebaut wenn kein oder ein ungültiges Zertifikat vom
Server übermittelt wird.
- try - Es wird ein Serverzertifikat angefordert, jedoch wird auch dann eine
Verbindung aufgebaut wenn kein Zertifikat vom Server übermittelt wird.
Wird ein ungültiges Zertifikat übermittelt, so wird die Verbindung
umgehend beendet.
- hard - Es wird ein Serverzertifikat angefordert und nur wenn ein korrektes
Zertifikat vom Server übermittelt wird, wird auch eine Verbindung
aufgebaut.
Gültige Werte: never, allow, try, hard
Standardeinstellung: LDAPCLIENT_SERVER_CERT_CHECK='never'
- ldapadd - Dieses Programm wird zum Hinzufügen von LDAP-Einträgen verwendet.
- ldapcompare - Diese Programm wird zum Vergleichen von LDAP-Attributen verwendet.
- ldapdelete - Diese Programm wird zum Löschen von LDAP-Einträgen verwendet.
- ldapexop - Dieses Programm wird zum Ausführen von erweiterten LDAP-Operationen verwendet.
- ldapmodify - Diese Programm wird zum Modifizieren von LDAP-Einträgen verwendet.
- ldapmodrdn - Dieses Programm wird zum Umbenennen von RDN-Einträgen verwendet.
- ldappasswd - Diese Programm wird zum Ändern eines Kennwortes eines LDAP-Eintrags verwendet.
- ldapsearch - Diese Programm wird zum Durchsuchen der LDAP-Datenbank verwendet.
- ldapurl - Dieses Programm generiert eine RFC-4516 LDAP-URL mit Erweiterungen.
- ldapwhoami - Dieses Programm führt eine Who-am-I Anfrage beim LDAP-Verzeichnis durch.
-
- Verschlüsselte Verbindung testen
-
Mit Hilfe des openssl-Programms kann man testen, ob eine
verschlüsselte Verbindung zum LDAP-Server aufgebaut werden
kann. Hierzu gibt man z.B. an der Konsole folgenden Befehl
ein (Natürlich sind die Parameter entsprechend der eigenen
Konfiguration anzupassen):
openssl s_client -connect localhost:636 -showcerts -state -CAfile /var/certs/ssl/certs/ca.pem
- Weitere LDAP-Befehle
-
Exportieren des LDAP-Verzeichnisbaums in eine LDIF-Datei:
ldapsearch -x -D cn=ldapadmin,dc=privatnet,dc=lanW > output.ldif
Importieren einer LDIF-Datei in das LDAP-Verzeichnis:
ldapadd -x -D cn=ldapadmin,dc=privatnet,dc=lanW -f input.ldif
- PHP-LDAP-Zugriff
-
Wenn es Probleme gibt sich über einen Webzugriff zu einem LDAP-Server zu verbinden,
so kann es hilfreich sein, dass im Verzeichnis /usr/share/doc/ldapclient
mitgelieferte PHP-Skript 'test-ldap.php' in den Webserverpfad zu kopieren, die
Zugriffsrechte anzupassen und dann über den Webbrowser aufzurufen.
Logeinträge einer TLS-Verbindung (anonymous):
eis slapd[2609]: conn=14 fd=14 ACCEPT from IP=192.168.6.1:47276 (IP=0.0.0.0:636)
eis slapd[2609]: conn=14 fd=14 TLS established tls_ssf=256 ssf=256
eis slapd[2609]: conn=14 op=0 BIND dn="" method=128
eis slapd[2609]: conn=14 op=0 RESULT tag=97 err=0 text=
eis slapd[2609]: conn=14 op=1 UNBIND
eis slapd[2609]: conn=14 fd=14 closed
Logeinträge einer TLS-Verbindung (authentifiziert):
eis slapd[2609]: conn=15 fd=14 ACCEPT from IP=192.168.6.1:47279 (IP=0.0.0.0:636)
eis slapd[2609]: conn=15 fd=14 TLS established tls_ssf=256 ssf=256
eis slapd[2609]: conn=15 op=0 BIND dn="cn=ldapadmin,dc=local,dc=lan" method=128
eis slapd[2609]: conn=15 op=0 BIND dn="cn=ldapadmin,dc=local,dc=lan" mech=SIMPLE ssf=0
eis slapd[2609]: conn=15 op=0 RESULT tag=97 err=0 text=
eis slapd[2609]: conn=15 op=1 UNBIND
eis slapd[2609]: conn=15 fd=14 closed
- BaseDN - Base Distinguished Name
- DN - Distinguished Name
- LDAP - Lightweight Directory Access Protocol
- RDN - Relative Distinguished Name