Directory Services für Heterogene IT Landschaften Directory Services für Heterogene IT Landschaften. Basierend auf LDAP und OSS Bernd@Eckenfels.net Linuxtag 2001, Stuttgart http://eckenfels.net/LDAP/
Agenda LDAP – Eine Begriffsbestimmung OSS Keyplayer Typische Anwendungsfälle Das Protokoll und das Datenmodell Software (Server, Clients, Tools) Linux in Heterogene IT Landschaft Ausblick und Fazit
LDAP – Eine Begriffsbestimmung L eightweight - leichtgewichtiges D irectory - Verzeichnis A ccess - zugriffs- P rotocol - Protokoll
Und mehr? Ja natürlich: Client Implementierungen und SDKs Schemas Exportformate (LDIF, DSML) Server (OpenLDAP, Java LDAP, U-M LDAP)
Agenda LDAP – Eine Begriffsbestimmung OSS Keyplayer Typische Anwendungsfälle Das Protokoll und das Datenmodell Software (Server, Clients, Tools) Linux in Heterogene IT Landschaft Ausblick und Fazit
Open Source Key Players Historisch University of Michigan & Netscape / iPlanet OpenLDAP Project Mozilla Directory Project PADL.com
Agenda LDAP – Eine Begriffsbestimmung OSS Keyplayer Typische Anwendungsfälle Das Protokoll und das Datenmodell Software (Server, Clients, Tools) Linux in Heterogene IT Landschaft Ausblick und Fazit
Typische Anwendungsfälle Debian - die Developer Database Boxed Penguin – Plug and Play & SSO Web Portale – Modulschnittstelle LDAP PKI – Abfrageschnittstelle LDAP AD – das Active Directory von MS
Agenda LDAP – Eine Begriffsbestimmung OSS Keyplayer Typische Anwendungsfälle Das Protokoll und das Datenmodell Software (Server, Clients, Tools) Linux in Heterogene IT Landschaft Ausblick und Fazit
Das LDAP Datenmodell root objectClass: person objectClass: person RDN dc: net ou: Computers root dc: Eckenfels Das LDAP Datenmodell ou: Users objectClass: person cn: mela Sn: Eckenfels email: mela@mela.de objectClass: person RDN cn: ecki Sn: Eckenfels email: ecki@lina.inka.de Bernd@eckenfels.net Attribute Entry DN: cn=ecki,ou=Users,dc=Eckenfels,dc=net
LDAP Attribute, Einträge, Schemas Directory Einträge RDN Objectklassen (in Schemas) Attribute Typen (Text, Binär, Telefonnummer) Oid (eindeutige ASN.1 ID) Schema Definieren Pflicht und Optionale Attribute Können durch Vererbung erweitert werden
Das LDAPv3 Protokoll TCP oder TLS/SSL Sockets (auch Unix Domain) Austausch von Nachrichten in ASN.1 Folgende Requests sendet der Client Bind/UnBind – An-/Abmelden Search – Einträge mit Filter suchen Modify – Attribute für einen Eintrag ändern/erweitern Delete – Eintrag löschen ModifyDN – Eintrag umbenennen oder verschieben Compare – Eintrag vergleichen
OSS Software Server: SDKs Language Bindings Mail Clients LDAP Enabled OpenLDAP, Java LDAP Server, U-M LDAP SDKs Netscape Directory SDK, Open LDAP Libs Language Bindings Perl, Python, PHP, C, Java (JNDI), ... Mail Clients LDAP Enabled (UMS, Web ...)
LDAP Software – Server Evolution LDAP Server als Gateway zu X.500 DS Stand Alone slapd Backend Module bei OpenLDAP Files, DBM, ODBC, Scripts, DNS, Whois, LDAP Vom Gateway hin zum Meta Directory
Software – LDAP Clients Neben LDAP enabled Clients gibt es auch generische LDAP Tools zur Verwaltung Gq GNOME LDAP Web2ldap.de kldap
Software – LDAP Admin Tools Unix Account Administration Directory Administrator Likken Enterprise Directory System Ganymed Java Client / Server System Verwaltung von LDAP, NT –Domains, sendmail Routing
Software – Internet Server LDAP Enabled MTAs Qmail, exim, sendmail, ... LDAP Gateways Radius, NIS, ... Web Server Module Roxxen, Apache, IIS, ...
Agenda LDAP – Eine Begriffsbestimmung OSS Keyplayer Typische Anwendungsfälle Das Protokoll und das Datenmodell Software (Server, Clients, Tools) Linux in Heterogene IT Landschaft Ausblick und Fazit
Linux in IT Landschaft Grundsätzlich gemischte Landschaft Integration? Linux als File Server Linux als Internet Server (Web, MTA, Cache) Windows Desktops NDS/AD als zentrales Directory Integration?
LDAP Network Information Service NIS auf Basis LDAP: RFC2307bis Hooks für LDAP? Name Service Switch NSS für Lookup Methoden Plugable Authentication Modules – PAM
nss_ldap Ermöglicht Linux (Solaris, BSD, ..) Systemen Name Service Lookups per LDAP durchzuführen (insbesondere Accounts) Performance Steigerung durch nscd Zugriff auf NDS, AD, Netscape Directory, OpenLDAP Unterstützt TLS/SSL, DNS SRV RR Filter konfigurierbar
pam_ldap Authorisierung von Usern mittels zentralem LDAP Verzeichnis Account Informationen (home, uid, shell) können entweder lokal (z.B. /etc/passwd) oder mittels NIS oder libnss_ldap bezogen werden Unterstützt das ändern von Passwörtern auf gängigen Systemen: AD, NDS, OpenLDAP, Netscape
Linux als Verzeichnisserver OpenLDAP hat beste Voraussetzungen Bereits geeignet für: Portale (Web Server mit LDAP Module) Kommerzielle Module (UMS, Call Center) PKI (OpenCA, ...) Aber? Verzeichnis für Desktop Systeme? ... Es bleibt spannend
Fazit und Ausblick LDAP besitzt eine breite Unterstützung Im Detail ist die Zusammenarbeit schwer Eventuell liegt die geringe Verbreitung im komplexen Protokoll, die Anzahl der Implementierungen spricht dagegen Boxedpenguin könnt interessant werden Das Zusammenspiel mit AD klappt erstaunlich gut -> PUSH
Fragen und Diskussion? Vielen Dank für Eure Aufmerksamkeit http://eckenfels.net/LDAP/ Bernd Eckenfels <bernd@eckenfels.net>