Einführung in LDAP. Inhaltsverzeichnis. Michael Dienert 1. Juli 2014. Handreichung zur Präsentation. 1 LDAP 1 1.1 LDAP, X.500 und das OSI-Modell...



Ähnliche Dokumente
LDAP und Kerberos. Folien unter 1 Gerd Schering

LDAP Informationsmodell

LDAP. Universität zu Köln IT-Zertifikat Allgemeine Technologien 1 Dozentin: Susanne Kurz M.A Referent: Branko Dragoljic

Verzeichnisbasiertes Benutzer- und Systemmanagement mit LDAP und Gosa

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

IT Asset Management mit LDAP. Boguslaw Sylla

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Artikel Schnittstelle über CSV

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit. Unix-Benutzerverwaltung: Grundlagen, OpenLDAP. Daniel Bast

LDAP Grundlagen. als Einführung zum. Workshop

Step by Step Webserver unter Windows Server von Christian Bartl

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

GITS Steckbriefe Tutorial

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

POP -Konto auf iphone mit ios 6 einrichten

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Kurzeinführung Excel2App. Version 1.0.0

Clientkonfiguration für Hosted Exchange 2010

Installation der SAS Foundation Software auf Windows

Quickstep Server Update

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Bauteilattribute als Sachdaten anzeigen

Internetkommunikation I WS 2005 / Fachhochschule Bonn-Rhein-Sieg. LDAP und Adressbuch. Mail-Client, Handy, PDA-Adressbuch gespeist aus LDAP

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

KURZANLEITUNG CLOUD OBJECT STORAGE

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Professionelle Seminare im Bereich MS-Office

Was meinen die Leute eigentlich mit: Grexit?

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Adminer: Installationsanleitung

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Public-Key-Infrastrukturen

Speichern. Speichern unter

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

Windows Server 2012 RC2 konfigurieren

Installationsanleitung für pcvisit Server (pcvisit 15.0)

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

Seriendruck mit der Codex-Software

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Wie benutzt man TortoiseSVN

OUTLOOK (EXPRESS) KONFIGURATION POP3

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Netzwerkversion PVG.view

Windows Verbindung mit WLAN BZPflege trennen Verbindung mit WLAN EDU-BZPflege automatisch erstellen... 30

Elexis-BlueEvidence-Connector

Einrichtung eines -Kontos bei Mac OS X Mail Stand: 03/2011

MailUtilities: Remote Deployment - Einführung

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Step by Step Benutzerverwaltung unter Novell. von Christian Bartl

Microsoft Access 2013 Navigationsformular (Musterlösung)

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Sie befinden sich hier: WebHosting-FAQ -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können.

Registrierung am Elterninformationssysytem: ClaXss Infoline

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Anleitung zu T-Com Rechnungsprogramm für Excel

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Installationsanleitung dateiagent Pro

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Success! Bestellausgabe

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Eine Einführung in die Installation und Nutzung von cygwin

Sie befinden sich hier: WebHosting-FAQ & Unified Messaging -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Qt-Projekte mit Visual Studio 2005

Übung - Datensicherung und Wiederherstellung in Windows Vista

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Ihr CMS für die eigene Facebook Page - 1

1&1 Webhosting FAQ Outlook Express

Hilfe zur Urlaubsplanung und Zeiterfassung

Anleitung über den Umgang mit Schildern

Wie halte ich Ordnung auf meiner Festplatte?

LDAP. Lightweight Directory. Desanka Bogicevic Michael Wenig Rupert Eisl

Einkaufslisten verwalten. Tipps & Tricks

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Peoplefone Business SIP Trunk

Gezielt über Folien hinweg springen

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

OutLook 2003 Konfiguration

Kostenstellen verwalten. Tipps & Tricks

Dokumentation: Balanced Scorecard

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

LANiS Mailversender ( Version 1.2 September 2006)

SFTP SCP - Synology Wiki

Einrichten von -postfächern mit Outlook und Outlook Express

Schritt 1 - Registrierung und Anmeldung

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Erstellen einer in OWA (Outlook Web App)

Transkript:

Einführung in LDAP Handreichung zur Präsentation Michael Dienert 1. Juli 2014 Inhaltsverzeichnis 1 LDAP 1 1.1 LDAP, X.500 und das OSI-Modell................... 1 i

1 LDAP 1.1 LDAP, X.500 und das OSI-Modell LDAP basiert auf der CCITT-Spezifikation X.500 X.500 ist ein Dienst, der ursprünglich von der CCITT (heute ITU) zur Namensauflösung und Zustellung elektronischer Post entwickelt wurde (X.400 email- Standard). globale Zustellung von email erfordert globalen Verzeichnisdienst. X.500 besteht aus 2 Teilen: dem X.500 Protokoll: Directory Access Protocol (DAP). Problem: DAP benötigt den kompletten OSI-Stack X.500 wurde nie vollständig implementiert! dem X.500 Datenmodell: das Datenmodell besteht aus einem einzelnen Directory Information Tree (DIT). Der DIT ist ähnlich wie der DNS-Baum als verteilte, baumförmige Datenbank aufgebaut. Das Ligthweight Directory Access Protocol (LDAP) benötigt lediglich TCP/IP weite Verbreitung LDAP implementiert nur einen Teil der X.500-Protokollspezifikation Fehlendes wird emuliert. LDAP wurde 1993 in der RFC 1487 beschrieben und geht auf Arbeiten an der Universität von Michigan zurück. Information Model Besser wäre hier der Begriff Data Model zu verwenden. Das Data (Information) Model beschreibt, wie die Informationen in einem LDAP-System repräsentiert werden (s.u.). Das Information Model beschreibt nicht wie die eigentliche Backend-Datenbank aussieht und somit nicht wie die Daten gespeichert werden, sondern nur wie darauf zugegriffen wird. Naming Model Dieses Modell beschreibt die Namenskonventionenen im Datenmodell. Beispiel: dc=example,dc=com Functional Model bei Lese-, Such- und Schreibzugriffen wird das Functional Model benutzt. Security Model Mit Hilfe dieses Modells lässt sich sehr fein einstellen, wer was mit welchen Daten anstellen darf. Beide, LDAP und X.500 speichern ihre Daten in baumförmigen Strukturen, den bereits erwähnten Directory Information Trees (DIT). Das Datenmodell im DIT ist objektorientiert. Es gibt Objekte, Klassen, Vererbung und Polymorphie. Die Knoten im Baum nennt man Verzeichnis-Einträge (Directory Entries). Sie entsprechen Objekten (Instanzen) oder einfach: Datensätzen. Analog zu einem Dateisystem, gibt es 1

Containerobjekte, die andere Objekte enthalten können. Diese entsprechen Verzeichnissen. Blattobjekte, die am Ende des Baum sitzen und Dateien entsprechen. Das Wurzelelement heisst root, oder auch base oder suffix Die Verzeichnis-Einträge enthalten Attribut-Werte-Paare. Ein Verzeichnis-Eintrag kann einen oder mehrere Attribut-Werte-Paare enthalten. Einem Attribut kann kein, ein einzelner Wert oder auch ein Satz von Werten zugeordnet werden. Ein Verzeichnis-Eintrag darf also nicht-atomare Werte enthalten (vgl. RDBMS, 1NF) Einige Attribute: dn Distinguished Name, legt absoluten Pfad im Baum fest dc Domainname Component o Organization ou Oganizatinol Unit cn Common Name eine umfassende Auflistung gibt es hier: http://ldap.akbkhome.com / wara.de lehrer Peter Maass 201-7911 maass@wara.de Michael Dienert 201-7911 dienert@wara.de Abbildung 1: Ein einfacher X.500-Verzeichnisbaum dn: dc=wara,dc=de dc: wara description: die beste it-schule in freiburg objectclass: dcobject objectclass: organization o: Walther-Rathenau-Gewerbeschule dn: ou=lehrer, dc=wara,dc=de ou: lehrer description: der lehrkoerper der wara objectclass: organizationalunit dn: cn=peter Maass,ou=lehrer,dc=wara,dc=de cn: Peter Maass 2

sn: Maass uid: mas mail: maass@wara.de dn: cn=michael Dienert,ou=lehrer,dc=wara,dc=de cn: Michael Dienert sn: Dienert uid: dt mail: dienert@wara.de Am Beispiel fällt die häufige Verwendung des Attributs objectclass auf. Das ObjectClass-Attribut bestimmt, welche Attribut-Werte-Paare in einem Verzeichnis- Eintrag (Knoten) existieren müssen (vorgeschriebene Attribute) oder dürfen (optionale Attribute). Pro Verzeichnis-Eintrag gibt es mindestens ein ObjectClass-Attribut. Es dürfen aber auch mehrere ObjectClass-Attribute vorhanden sein und damit der Verzeichnis- Eintrag zu mehreren Objektklassen gehören Mehrfachvererbung. Eine Objektklasse ist Teil einer Vererbungshierarchie. Eine Objektklasse erbt alle Eigenschaften ihrer Eltern. Der Stammvater aller Objektklassen ist die abstrakte Objektklasse top. top entspricht somit der Klasse Object in Java. Hier ein Beispiel: top person organizationalperson inetorgperson objectclass ( 1.3.6.1.1.1.2.0 NAME posixaccount SUP top AUXILIARY DESC Abstraction of an account with POSIX attributes MUST ( cn $ uid $ uidnumber $ gidnumber $ homedirectory ) MAY ( userpassword $ loginshell $ gecos $ description ) ) attributetype ( 2.5.4.5 NAME serialnumber DESC RFC2256: serial number of the entity EQUALITY caseignorematch SUBSTR caseignoresubstringsmatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} ) Der Directory Information Tree besteht aus Verzeichnis Einträgen (Directory Entries). Jeder Eintrag hat genau ein Elternelement und kein, ein oder viele Kindelemente. Im LDAP-Jargon heissen die Eltern Superior, abgekürzt SUP. 3

Jeder Eintrag besteht ausschliesslich aus Attribut-Werte-Paaren. Jedes Attribut hat einen Namen und ist Mitglied einer oder mehrerer Objektklassen. Jeder Eintrag wiederum ist Instanz einer oder mehrerer Objektklassen. Welche Objektklassen das sind, wird durch Attribute vom Typ objectclass festgelegt. Ein LDAP-Schema ist eine Art Package, das Definitionen von Objektklassen und Attributen enthält. dabei gilt folgende Regel: jedes Attribut und jede Objektklasse muss in einem Schema definiert sein möchte man Attribute und Objektklassen verwenden, muss das entsprechende Schema dem LDAP-Server bekannt gemacht werden. altes Verfahren: Datei slapd.conf aktuelles Verfahren: on-line configuration (OLC); Konfiguration wird selbst wieder über einen DIT vorgenommen Um den LDAP-Baum aufzubauen, gibt es mehrere Möglichkeiten: 1. Einfügen von Einträgen direkt in die Backend-Datenbank: slapadd, slapcat,... 2. Einfügen von Einträgen mit dem LDAP-Protokoll selbst: ldapsearch, ldapadd, ldappaswd, ldapdelete,... 3. Mit grafischen Werkzeugen, sog. LDAP-Browsern: Apache Direct Studio, jexplore, luma,... 4. Durch Einspielen eines LDAP Data Interchange Files dn: dc=wara,dc=de dc: wara description: die beste it-schule in freiburg objectclass: dcobject objectclass: organization o: Walther-Rathenau-Gewerbeschule dn: ou=lehrer, dc=wara,dc=de ou: lehrer description: der lehrkoerper der wara objectclass: organizationalunit dn: cn=peter Maass,ou=lehrer,dc=wara,dc=de cn: Peter Maass sn: Maass uid: mas mail: maass@wara.de dn: cn=michael Dienert,ou=lehrer,dc=wara,dc=de cn: Michael Dienert sn: Dienert uid: dt mail: dienert@wara.de Die Angabe der Version ist nicht zwingend, wird aber empfohlen. 4

Root/Base/Suffix: wara.de. Die Verwendung von DNS-Namen fuer X.500-Verzeichnisse ist in der RFC2377 beschrieben. Attribut dn: Die Zeilen, die mit dn: beginnen bestimmen, an welche Stelle im Baum die Einträge hingehören. Natürlich muss der Baum von der Wurzel her aufgebaut werden, d.h. die Reihenfolge in der LDIF-Datei ist wichtig. Sehr wichtig sind die Attribute dn und rdn Der DN entspricht einem absoluten Pfad in einem Dateisystem Der RDN entspricht einem Dateinamen in einem Dateisystem, kann sich allerdings aus mehreren Attributen zusammensetzen (s.u.) wie auch in einem Dateisystem, wird der absolute Pfad, also der DN nicht in der Backend-DB selbst gespeichert! Im obigen Lehrerbeispiel sind die rdns identisch mit den cn der Lehrer. Was passiert bei Namensgleicheit? Multivalued RDN Im Kollegium gibt es zwei Personen Frank Müller in der Abteilung Allgemeinbildung. dn: cn=frank Müller+lb=englisch, ou=lehrer,dc=wara,dc=de cn: Frank Müller ou: Allgemeinbildung lb: englisch dn: cn=frank Müller+lb=deutsch, ou=lehrer,dc=wara,dc=de cn: Frank Müller ou: Allgemeinbildung lb: deutsch Damit wir eindeutige RDNs erhalten, wird noch das Attribut lb (Lehrbefähigung) hinzugenommen Die RDNs setzen sich nun aus cn und lb zusammen: cn=frank Müller+lb=englisch cn=frank Müller+lb=deutsch natürlich müsste man dazu das Attribut lb definieren und die Objektklassen erweitern. Line-Continuation: Leerzeichen am Zeilenanfang der umgebrochenen Zeile. Escape- Character sind unnötig 1. erste Schritte mit: OpenLDAP 2. warum OpenLDAP? frei, quelloffen Standard unter Linux, BSD und OSX-Server Direkter Ableger der ersten LDAP-Implementierung der Univ. of Michigan. 5

unzählige Programmierschnittstellen (JAVA, Python, Perl,...) Anbindung an viele Dienste möglich (out-of-the-box) 3. Installieren: slapd = Standalone LDAP Demon, ldap-hilfprogramme: aptitude install slapd ldap-utils Grundkonfiguration: nächste Folie! Die folgenden Schritte können nach Eingabe von dpkg-reconfigure slapd beliebig oft wiederholt werden. 1. Konfiguration nicht überspringen 2. DNS-Domainnamen wählen. Beispiel: wara.de 3. Firmen/Schulnamen wählen. Beispiel: wara 4. Administrator-Passwort wählen. Beispiel: ljwml! (letztes jahr war mehr lametta! (bei Fam. Hoppensted) ) 5. HDB als Datenbankbackend wählen. 6. LDAPv2 nicht erlauben Mit folgender Kommandozeile kann man sich die komplette slapd Grundkonfiguration einschliesslich aller geladener Schemata ansehen: ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" less Das Kommando setzt root-rechte voraus (uid=0), sonst bekommt man nicht viel zu sehen. Der Benutzer mit der uid=0 (root) hat alle Rechte. verantwortlich dafür ist das Attribut olcaccess Entwerfen Sie einen X.500-Baum, z.b. wie bei Abb. 1 gezeigt. Schreiben Sie die zugehörige LDIF-Datei mit einem Editor (z.b. gedit, emacs, vi, nano).achtung: ein Teil des Baumes wurde schon bei der Grundkonfiguration erzeugt! Einspielen der LDIF-Datei mit: ldapadd -D "cn=admin,dc=wara,dc=de" -f test.ldif -W -x Passwort ist das Passwort des Administrators des wara.de-baums, das wir bei der Grundkonfiguration eingegeben haben. Abfragen des Verzeichnisses: 6

ldapsearch -b "dc=wara,dc=de" -x Frage: was bewirken die Optionen -D, -f, -W, -x? (man-pages konsultieren) Fügen Sie noch einen weiteren Lehrpersoneneintrag hinzu. Hierzu müssen Sie eine weitere LDIF-Datei erstellen und mit ldapadd einspielen. LDIF-Datei dn: ou=lehrer,dc=wara,dc=de ou: lehrer description: der lehrkoerper der wara objectclass: organizationalunit dn: cn=peter Maass,ou=lehrer,dc=wara,dc=de cn: Peter Maass sn: Maass uid: mas mail: maass@wara.de dn: cn=michael Dienert,ou=lehrer,dc=wara,dc=de cn: Michael Dienert sn: Dienert uid: dt mail: dienert@wara.de -D Distinguished Name (=abs. Pfad) desjenigen, der sich mit dem Verzeichnis verbindet (bind). Muss ggfs. authorisiert sein. -f File. -W Passwort über Eingabeaufforderung einlesen. Alternative: mit Option -w direkt mitgeben. -x einfache Authorisierung anstelle von SASL verwenden dn: cn="alfred E. Neumann",ou=lehrer,dc=wara,dc=de cn: "Alfred E. Neumann" sn: Neumann uid: aen mail: neumann@wara.de telephonenumber: 201-8888 Mit folgender LDIF-Datei können einige Einträge von Alfred geändert werden: ##aenderungen bei alfred dn: cn=alfred E. Neumann,ou=lehrer,dc=wara,dc=de changetype: modify add: employeetype employeetype: vollzeit - replace: uid uid: aeneumann 7

Einspielen lässt sich diese LDIF-Datei mit: ldapadd -D "cn=admin,dc=wara,dc=de" -f aenderung.ldif -W -x ##aenderungen bei alfred dn: cn=alfred E. Neumann, ou=lehrer,dc=wara,dc=de changetype: modify add: employeetype employeetype: vollzeit - replace: uid uid: aeneumann changetype: modify wird verwendet, wenn man den Eintrag ändern möchte. mit changetype: delete kann man ihn komplett löschen. add: employeetype benötigen wir, wenn wir ein Attribut hinzufügen möchten. Das Attribut mit seinem Wert muss unmittelbar folgen. replace: uid ersetzt das Attribut durch das direkt folgende Attribut-Wert Paar. dann gibt es noch: delete: mail. Damit würde das entsprechende Attribut gelöscht. 8