OpenLDAP
Überblick Allgemein Informationsmodell Namensmodell Funktionelles Modell Sicherheitsmodell OpenLDAP slapd.conf
LDAP allgemein LDAP = Lightweight Directory Access Protocol “Nur” ein Protokoll Verzeichnisdienst für Desktop, „leichter“, nicht so umfangreich wie X.500 Nachrichten haben kleineren Overhead es gibt nur 9 Kernfunktionen einfaches Modell für Programmierer und Administratoren
LDAP Informationsmodell DIT = Directory Information Tree Baumstruktur, in der Daten gespeichert werden Jeder Eintrag besteht aus einer oder mehrerer Instanzen einer Objektklasse Jede Objektklasse hat mehrere Attribute, nach denen gesucht werden kann
LDAP Namensmodell Jeder Eintrag im DIT hat ein Attribut, welches diesen eindeutig referenziert Dieser Eintrag heißt RDN (relative distinguished name) Der DN (distinguished name) ist der Absolute Pfad vom root aus gesehen
LDAP Funktionelles Modell Das Protokoll an sich Z.B.: Authentifizierungsoperationen Abfrageoperationen Aktualisierungsoperationen
LDAP Sicherheitsmodell Das Authentifizierungsverfahren Ab LDAPv3 neue Sicherheitsmechanismen: z.B.: Kerberos SSL
LDAP Schema Schemas sind Datendefinitionen für ein Verzeichnis. Jedes Item, das zu diesem Verzeichnis hinzugefügt oder dort geändert wird, wird gegen dieses Schema auf Richtigkeit geprüft Eine “schema violation” tritt auf, wenn die Daten nicht den Regeln genügen.
OID‘s für Schema Attribute Syntax vergeben durch IANA (www.iana.org)
Beispielattribute Attribute und die Objektklassen sind in verschiedenen RFC´s definiert, können aber auch selbstdefiniert werden Bsp.: CN = Gesamte Name ON = Organisation Name OU = Organisational Unit Name C = Country UID = Anmeldename für einen Benutzer-Account SN = Familienname DC = Domain Component
OpenLDAP Baut auf mehreren anderen Komponenten auf: OpenSSL Heimdal or MIT Kerberos Cyrus's SASL (bindet OpenSSL und Kerberos ein) Sleepycat Software Berkeley DB, version 4
OpenLDAP Beinhaltet mehrere Server und Clients/Tools slapd Der LDAP Server slurp Der LDAP Replikationshelfer ldapmodify, ldapadd, ldapdelete für Operationen auf dem Verzeichnis Bibliotheken des OpenLDAP SDK‘s
OpenLDAP Konfiguration Wird über eine ASCII Datei konfiguriert Je nach Installation/Distribution liegen die Dateien Standardmäßig in /usr/local/etc/openldap/ (selbstkompiliert) oder /etc/openldap/ (z.B. RedHat)
slapd.conf Konfigurationsdatei des slapd (OpenLDAP Server) includes für Schema Dateien referral (einbinden von unterschiedlichen Servern) verschiedene interne Steuerungsmechanismen (Ort der pid- logdateien, loglevel usw.) Einbinden dynamischer Module ACL‘s (Access Control Lists) Definition der Datenbank Definition der Verzeichniswurzel (eventuell) Definition eines root DN als Superuser argsfile = Datei mit Argumenten für den slapd
ACL‘s Wer hat welchen Zugriff auf Was ? ----------------------------------------------------------- Wer * = jeder Benutzer, inclusive anonymer self = ein erfolgreich authent. Benutzer (ich) anonymous = nicht authentifizierter Benutzer users = alle erfolgreich authent. Benutzer ------------------------------------------------------------ welchen Zugriff write, read, search, compare, auth auf was dn oder * oder einzelne Attribute
Beispielkommandos slapd = startet den Server kill -INT 'cat /var/run/slapd.pid' = Server stoppen
ldap.conf generelle Einstellungen für den ldap Client bzw. die Tools wie ldapadd
LDAP Clients Softera LDAP Clients (http://www.ldapbrowser.com) JAVA LDAP Browser/Editor (http://www.iit.edu/~gawojar/ldap/) web500gw (http://web500gw.sourceforge.net/) LDAP Navigator (http://sourceforge.net/projects/ldapnavigator)