ldap von sebastian streitberger. inhalt was ist ldap? geschichte und versionen von ldap schema und...

31
LDAP von Sebastian Streitberger

Upload: erwin-redling

Post on 06-Apr-2015

135 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

LDAP

von Sebastian Streitberger

Page 2: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Inhalt

Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches Beispiel: Adressbuch Quellen

Page 3: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Was ist LDAP?

LDAP ist die Abkürzung für das Lightweight Directory Access Protocol. Wie der Name sagt, unterstützt dieses Protokoll einen Verzeichnisdienst (Directory).

Was ist ein Verzeichnis?

Ist eine Auflistung von Informationen über Objekte in einer gewissen Ordnung. Zu jedem Objekt kann man Detailinformationen abfragen.

Beispiel: In einem Telefonbuch sind die Objekte die Personen, die Ordnung ist alphabetisch, und die Detailinformationen, die man bekommen kann, sind Adresse und Telefonnummer.

Page 4: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Was ein Verzeichnis nicht ist ...

Ein Verzeichnis ist keine Allzweckdatenbank

Ein Verzeichnis ist kein Dateisystem

Ein Verzeichnis ist kein Ersatzfür eine lokale Dateiablage

Ein Verzeichnis ist kein

'Netzwerkmanagement-Tool'

Page 5: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Wie kann ein LDAP-Verzeichnis die Arbeit im Netzwerk erleichtern?

LDAP ermöglicht einfach und schnell:

Normalisierte Datenhaltung

Zentrale Verwaltung der Informationen

Konsistenz in der Schnittstelle zum User

Konsistenz in den Richtlinien für das Netzwerkmanagement

Konsistenz in den Security Policies

Page 6: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Wieso habe ich noch nichts von LDAP gehört, wenn es so toll ist?

LDAP ist dann doch nicht ganz das Allheilmittel für alle Netzwerkwehwehchen

Fehlende Unterstützung

Microsoft stetzt intern auch auf LDAP -> Windows 2000 Active Directory; .net-Server volle LDAP-Kompatibilität

Viele Hersteller verzichten auf eine LDAP – Schnittstelle

Wenig Support und Dokumentation für Einsteiger

Page 7: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Geschichte und Versionen

Das alte Problem: Gewachsene Strukturen und nicht kompatible Systeme. Die Lösung: Standards

X.500 - Der Directory Service Standard

Directory Services - Verzeichnisdienste. 1988 wurde der X.500 Standard verabschiedet

X.500 organisiert Einträge in einem Verzeichnis über einen hierarchisch aufgebauten Namensraum

Als Protokoll für die Kommunikation zwischen dem Directory -Client und dem Directory-Server wurde das so genannte Directory Access Protocol (DAP) spezifiziert.

Page 8: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Als Protokoll des obersten OSI-Layers, dem Application Layer, ist es auf den vollständigen darunterliegenden Schichtenstapel angewiesen

Es musste ein leichtgewichtig-eres Protokoll her, eben das Lightweight Directory Access Protocol

LDAP setzt als 'Light'-Version von DAP auf die verbreitete TCP/IP-Schicht auf. Außerdem vereinfacht LDAP einige X.500-Operationen

Page 9: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Versionen

LDAP v3 wurde im Dezember 1997 von der IETF als 'Proposed Internet Standard' bestätigt und hat LDAP v2 in einigen wichtigen Aspekten verbessert:

Globalisierungssupport: Verwendung von Unicode für die interne Repräsentierung für Daten, können Zeichen aller Weltsprachen benutzt werden

Sicherheit: LDAP v3 hat nun Standardmechanismen, um Simple Authentication and Security Layer (SASL) und Transport Layer Security (TLS) zu unterstützen. damit bietet LDAP ein umfassende Datensicherheit

Erweiterbarkeit

Offenlegen von Funktionen und Schemas

Page 10: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Schema und Verzeichniseinträge LDAP-Schema definiert die Liste möglicher Typen von Einträgen

(die man als Objektklassen bezeichnet) zusammen mit den mit ihnen verknüpften Attributen. Schema-Definitionen werden in Dateien gespeichert.

Jeder LDAP-Server hat ein oder mehrere bekannte Standard-Schemas

Beispiel: Durchsuchen eines LDAP Servers!öffentliche Suchanfragen akzeptiert der Server -> Objektklasse inetOrgPerson.

Damit kann ich schon nach den vollen Namen [cn]den Nachnamen [sn] die E-Mail Adresse [mail] oder den Vornamen [givenname] suchen!

Objektklassen sind hierarchisch angeordnet, wobei die Objektklasse top die Wurzel des Baums bildet

Objekte der ersten Ebene (Level) sind Child-Objekte!

Page 11: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Aufbau einer *ldif Datei

dn: cn=cool-divers,ou=users,dc=lokal,dc=de cn: cool-divers givenName: cool-divers sn: cool-divers l: Troisdorf postalCode: 53842 street: Heidegraben 30 facsimileTelephoneNumber: 02246-900695 mobile: 170-2774400 mail: [email protected] objectClass: top objectClass: inetOrgPerson telephoneNumber: 02246-302940

Page 12: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Schemaübersicht

/etc/openldap/schema

Page 13: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

LDAP - Architektur

Bei LDAP ist die Adresse LDAP host-URL + DN weltweit eindeutig. So wird dann auch eine LDAP-URL zusammengesetzt: ldap://ldap.canon.com/o=canon,c=us

Page 14: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

LDAP Adressbuch

Das Praxis Beispiel

Page 15: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Aufbau

Linux Server Linux o. Windows Client

SuSE Linux 9.3 Windows 9x, 2000 o. XP

Page 16: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Linux Server: LDAP installieren

Page 17: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Unterschiede zwischen der Orginal-OpenLDAP-Installation und der SuSE-OpenLDAP-Installation

Page 18: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Anpassen des LDAP Servers#/etc/openldap/slapd.conf## See slapd.conf(5) for details on configuration options.# This file should NOT be world readable.#Include /etc/openldap/schema/core.schemaInclude /etc/openldap/schema/cosine.schemaInclude /etc/openldap/schema/inetorgperson.schemainclude /etc/openldap/schema/mozilla_op20.schemainclude /etc/openldap/schema/extension.schemainclude /etc/openldap/schema/nis.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory# service AND an understanding of referrals.#referral ldap://root.openldap.org

loglevel 256pidfile /var/run/slapd/slapd.pidargsfile /var/run/slapd/slapd.args

# Load dynamic backend modules:modulepath /usr/lib/openldap/modules

# Sample security restrictions# Require integrity protection (prevent hijacking)# Require 112-bit (3DES or better) encryption for updates# Require 63-bit encryption for simple bind# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:# Root DSE: allow anyone to read it# Subschema (sub)entry DSE: allow anyone to read it# Other DSEs:# Allow self write access to user password# Allow anonymous users to authenticate# Allow read access to everything else# Directives needed to implement policy:

access to * by dn="cn=manager, dc=lokal,dc=de" write by anonymous write# by users write

# if no access controls are present, the default policy# allows anyone and everyone to read anything but restricts# updates to rootdn. (e.g., "access to * by * read")## rootdn can always read and write EVERYTHING!

Page 19: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

#######################################################

# BDB database definitions#####################################################

##

database ldbmcheckpoint 1024 5cachesize 10000suffix "dc=lokal,dc=de"rootdn "cn=manager,dc=lokal,dc=de"# Cleartext passwords, especially for the rootdn, should# be avoid. See slappasswd(8) and slapd.conf(5) for details.# Use of strong authentication encouraged.rootpw geheim# The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools.# Mode 700 recommended.directory /var/lib/ldap# Indices to maintainindex objectClass eq

Page 20: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Client File ldap.conf

#ldap.conf for lokal de # # Beachten Sie auch man ldap.conf # BASE dc=lokale,dc=de HOST 127.0.0.1

/etc/openldap/ldap.conf

Page 21: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

„Container *.ldif anlegen“# LDAP Domainedn: dc=lokal,dc=deobjectClass: domainobjectClass: dcObjectdc: lokal

# Container fr die Benutzerdn: ou=users,dc=lokal,dc=deou: usersobjectClass: topobjectClass: organizationalUnit

# Container fr die NT-Maschinendn: ou=hosts,dc=lokal,dc=deou: hostsobjectClass: topobjectClass: organizationalUnit

# Container fr die Gruppendn: ou=groups,dc=lokal,dc=deou: groupsobjectClass: topobjectClass: organizationalUnit

# Manager des LDAP Verzeichnisdn: cn=manager,dc=lokal,dc=deobjectClass: organizationalRolecn: manager

main.ldif

ldapadd –x –D „cn=Manager,dc=lokal,dc=de“ –W –f main.ldif

-x -> Simple Authentication

-D -> Bind dn

-W -> promt password line

-f -> File

$ adding new entry „…“

Page 22: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Der 1. Eintrag

Die Daten werden ebenfalls per *.ldif File eingefügt!

dn: cn=cool-divers,ou=users,dc=lokal,dc=decn: cool-diversgivenName: cool-diverssn: cool-diversl: TroisdorfpostalCode: 53842street: Heidegraben 30facsimileTelephoneNumber: 02246-900695mobile: 170-2774400mail: [email protected]: topobjectClass: inetOrgPersontelephoneNumber: 02246-302940

eintrag.ldif

Page 23: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Hinzufügen des Eintrages

ldapadd –x –D „cn=manager,dn=lokal,dc=de“ –W –f eintrag.ldif

adding new entry „…“

Nun können wir schon testen ob alles klappt!

ldapsearch -x

Es wird alles im Directory ausgegeben! Da sollte auch unser Eintrag stehen!

Page 24: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Konfigurieren des Clients

Nehmen wir Thunderbird, das bietet ein sehr gutes Adressbuch und ist für Windows und Linux erhältlich

Ebenso gut geht unter Linux das KDE,Gnome Adressbuch oder andere Adressbücher Anwendungen

Page 25: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches
Page 26: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches
Page 27: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches
Page 28: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches
Page 29: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches
Page 30: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Quellen LDAP System Administration O‘ReillyISBN 1-56592-491-6

pro-linux.dehttp://pro-linux.de/t_office/openldap-adressbuch.html

Linux LDAP Howtohttp://www.linuxhaven.de/dlhp/HOWTO/DE-LDAP-HOWTO.html

Linux Magazinhttp://www.linux-magazin.de/Artikel/ausgabe/1998/09/LDAP/ldap.html

OpenLDAPhttp://www.openldap.org

MitLinXhttp://www.mitlinx.de/ldap

Das Verzeichnis für Verzeichnisdienstehttp://www.verzeichnisdienst.de/

Page 31: LDAP von Sebastian Streitberger. Inhalt Was ist LDAP? Geschichte und Versionen von LDAP Schema und Verzeichniseinträge LDAP Konzepte und Architektur Praktisches

Ende