Lade Inhalt...

Authentizierung unter Linux/Unix mit Hilfe des Lightweight Directory Access Protocol (LDAP)

©2009 Studienarbeit 38 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
Das Thema dieser Studienarbeit ist der ‘Aufbau eines Lightweight Directory Access Protocol Systems mit Anbindung an mindestens 2 reale Anwendungen’. Das Ziel dieses Projektes ist das selbstständige und praktische Erarbeiten des Themas LDAP, dessen theoretische Grundlagen in der zugehörigen Vorlesung ‘Cross-Plattform Authentisierungssysteme II’ behandelt wurden. Im Rahmen dieses Projektthemas beschreibt das themenbezogene Teilprojekt ‘Authentifizierung unter Linux/Unix mit Hilfe des Lightweight Directory Access Protocol (LDAP)’ eine der möglichen Anwendungen von LDAP. Das Ziel dieses Teilprojektes ist neben der Erläuterung der Grundlagen von Verzeichnisdiensten, die Realisation einer Anmeldung an verschiedenen Rechnersystemen mit dem gleichen Passwort, was durch eine zentrale Speicherung der Benutzerdaten im Verzeichnisdienst erreicht wird. Die Umsetzung dieser Funktionalität wird in diesem Bericht beschrieben. Dies beinhaltet auch den Aufbau einer technischen Infrastruktur, z.B. zu Test- oder Demonstrationszwecken. Inhaltsverzeichnis:Inhaltsverzeichnis:
AbbildungsverzeichnisII
TabellenverzeichnisIII
1.Aufgabenstellung1
1.1Projektvorgaben1
1.2Projektziele1
2.Lightweight Directory Access Protocol (LDAP)2
2.1LDAP Grundlagen2
2.1.1Aufgaben & Eigenschaften eines Verzeichnisdienstes2
2.1.2Historie & und Eigenschaften von LDAP3
2.1.3Unterschiede zwischen LDAPv2 & LDAPv33
2.1.4Server für Verzeichnisdienste4
2.1.5Objekte, Attribute & Schemata4
2.1.6Directory Information Tree (DIT)6
2.1.7LDAP Data Interchange Format (LDIF)7
2.1.8Referrals7
2.2LDAP Administrations Tools8
2.2.1Kommandozeilen Tools8
2.2.1.1ldap-utils8
2.2.2Graphische Tools9
2.2.2.1Luma9
3.Projektdurchführung10
3.1Installation eines Verzeichnisdienstes10
3.1.1Installation & Konfiguration des OpenLDAP Servers10
3.2Konfiguration des Client Systems12
3.2.1Pluggable Authentication Modules (PAM)12
3.2.1.1Funktionsweise12
3.2.1.2Konfiguration13
3.2.2Name Service Switch (NSS) Module14
3.2.2.1Funktionsweise14
3.2.2.2Konfiguration15
3.3Testen der Konfiguration15
4.Projektbewertung16
4.1Aufwandsabschätzung16
4.2Fazit16
Glossar16
Literaturverzeichnis16
Stichwortverzeichnis18
A.Anhang22
A.1LDAP Objektklasse – posixAccount22
A.2LDAP Objektklasse – shadowAccount22
A.3LDAP Objektklasse posixAccount - verfügbare Attribute23
A.4Ubuntu - Paketinformation ldap-utils24
A.5Ubuntu - Paketinformation slapd25
A.6Luma - Screenshots der verschiedenen […]

Leseprobe

Inhaltsverzeichnis


Inhaltsverzeichnis

Abbildungsverzeichnis

Tabellenverzeichnis

1 Aufgabenstellung
1.1 Projektvorgaben
1.2 Projektziele

2 Lightweight Directory Access Protocol (LDAP)
2.1 LDAP Grundlagen
2.1.1 Aufgaben & Eigenschaften eines Verzeichnisdienstes
2.1.2 Historie & und Eigenschaften von LDAP
2.1.3 Unterschiede zwischen LDAPv2 & LDAPv
2.1.4 Server für Verzeichnisdienste
2.1.5 Objekte, Attribute & Schemata
2.1.6 Directory Information Tree (DIT)
2.1.7 LDAP Data Interchange Format (LDIF)
2.1.8 Referrals
2.2 LDAP Administrations Tools
2.2.1 Kommandozeilen Tools
2.2.1.1 ldap-utils
2.2.2 Graphische Tools
2.2.2.1 Luma

3 Projektdurchführung
3.1 Installation eines Verzeichnisdienstes
3.1.1 Installation & Konfiguration des OpenLDAP Servers
3.2 Konfiguration des Client Systems
3.2.1 Pluggable Authentication Modules (PAM)
3.2.1.1 Funktionsweise
3.2.1.2 Konfiguration
3.2.2 Name Service Switch (NSS) Module
3.2.2.1 Funktionsweise
3.2.2.2 Konfiguration
3.3 Testen der Konfiguration

4 Projektbewertung
4.1 Aufwandsabschätzung
4.2 Fazit

Glossar

Literaturverzeichnis

Stichwortverzeichnis

A Anhang
A.1 LDAP Objektklasse - posixAccount
A.2 LDAP Objektklasse - shadowAccount
A.3 LDAP Objektklasse posixAccount - verfugbare Attribute
A.4 Ubuntu - Paketinformation ldap-utils
A.5 Ubuntu - Paketinformation slapd
A.6 Luma - Screenshots der verschiedenen Funktionen
A.7 PAM - Ubersicht der verfugbaren Modultypen
A.8 PAM - Ubersicht der verfugbaren Control Flags
A.9 PAM - Module
A.10 NSS - Paketliste

Einleitung

Das Thema dieser Studienarbeit ist der "Aufbau eines Lightweight Directory Access Protocol Systems mit Anbindung an mindestens 2 reale Anwendungen". Das Ziel dieses Projektes ist das selbstständige und praktische Erarbeiten des Themas LDAP, dessen theoretische Grundlagen in der zugehörigen Vorlesung "Cross-Plattform Authentisierungssysteme II" behandelt wurden. Im Rahmen dieses Projektthemas beschreibt das themenbezogene Teilprojekt "Authentifizierung unter Linux/Unix mit Hilfe des Lightweight Directory Access Protocol (LDAP)" eine der möglichen Anwendungen von LDAP. Das Ziel dieses Teilprojektes ist neben der Erläuterung der Grundlagen von Verzeichnisdiensten, die Realisation einer Anmeldung an verschiedenen Rechnersystemen mit dem gleichen Passwort, was durch eine zentrale Speicherung der Benutzerdaten im Verzeichnisdienst erreicht wird. Die Umsetzung dieser Funktionalität wird in diesem Bericht beschrieben. Dies beinhaltet auch den Aufbau einer technischen Infrastruktur, z.B. zu Test- oder Demonstrationszwecken.

Lightweight Directory Access Protocol (LDAP)

2.1 LDAP Grundlagen

2.1.1 Aufgaben & Eigenschaften eines Verzeichnisdienstes

Die Aufgabe von Verzeichnisdiensten ist die Bereitstellung und Speicherung von Informationen über beliebige Objekte, die z.B. Adressen, Personen, Abteilungen oder Computer-Hardware sein können. Jedes Objekt hat eine Menge von zugehörigen Attributen (Eigenschaften), deren Art und Anzahl von seiner jeweiligen Objektart (bzw. seiner Objektklasse) abhängig ist. Als Beispiel für ein Objekt, welches in einem Verzeichnisdienst abgespeichert werden soll, kann eine konkrete Person ''Herr Müller'' verwendet werden, welcher zur Objektklasse ''Person'' gehört und z.B. die möglichen Attribute Anrede, Vorname, Nachname, Haarfarbe, usw. besitzt. Ein passender Attributwert zum Attribut Nachname wäre somit Müller. Objekte können mehreren Objektklassen angehören und von diesem Attribute erben. Hier kann eine Analogie zur objektorientierten Programmierung gezogen werden, da die Objekte in einem Verzeichnisdienst - z.B. wie in modernen Programmiersprachen - einer gewissen Klassenhierarchie unterworfen sind, welche im weiteren Verlauf noch ausführlicher behandelt wird.

Ein Verzeichnisdienst, welcher auch als Directory Server Agent (DSA) bezeichnet wird, besitzt bestimmte Eigenschaften, die ihn von anderen Arten der Datenspeicherung unterscheidet. Die typischen Eigenschaften eines Verzeichnisdienstes sind:

- Verwaltet Objekte und deren zugehörige Eigenschaften (Attribute)
- Auf ein Verzeichnis wird hauptsächlich lesend und eher selten schreibend zugegriffen, daher ist es auf das schnelle Auffinden von Informationen optimiert
- Organisation der Daten in einer hierarchischen Baumstruktur, dem Verzeichnisbaum (keine Schleifen erlaubt)
- Teilbereiche des Verzeichnisbaumes können auf verschiedene Host\index{Host} verteilt werden}
- Die Administration von Teilbereichen eines Verzeichnissbaumes kann einfach delegiert werden}
- Aufgrund seiner Datenstruktur ermöglicht der Verzeichnissbaum, Suchanfragen nur auf relevante Teilbäume zu beschränken

Das Vorbild für LDAP ist dabei der ITU-T X.500 Standard, welcher im folgenden Kapitel genauer betrachtet wird.

2.1.2 Historie & und Eigenschaften von LDAP

Das in diesem Bericht betrachtete Lightweight Directory Access Protocol (LDAP) beruht auf dem X.500 Standard der International Telecommunication Union (ITU-T), welcher 1988 in der ersten Version veröffentlicht wurde und das Namens- und Datenmodell eines Verzeichnisdienstes spezifiziert. Da der X.500 Standard jedoch nicht auf dem TCP/IP-Protokollstack aufsetzt und zudem dessen Spezifikation sehr umfangreich ist, gestaltete sich dessen Implementierung in der Praxis als äußerst komplex. In der Praxis hatte dies zur Folge, dass bis heute keine vollständige X.500 Implementierung existiert und daher an mehreren vereinfachten Varianten entwickelt wurde.

Eine dieser ''leichtgewichtigen'' Varianten stellt das Lightweight Directory Access Protocol (LDAP) dar, welches sich seitdem einer immer größeren Verbreitung erfreut. LDAP ist ein effizientes auf TCP/IP basierendes Protokoll für den Zugriff auf Verzeichnisdienste und stellt ein Client/Server Protokoll dar. Es ist daher vom Design her z.B. vergleichbar mit dem Hypertext Transfer Protocol (HTTP), um auf Webseiten zuzugreifen, oder mit Internet Message Access Protocol (IMAP), welches verwendet wird, um Emails zu bearbeiten. Im Vergleich zu X.500 ist LDAP wesentlich schlanker (lightweight) und daher einfacher zu implementieren, u.a. auch deshalb, da es auf dem TCP/IP-Protokollstack aufsetzt. Die aktuelle Version 3 von LDAP ist in RFC4511 der Internet Engineering Task Force (IETF) aus dem Jahr 2006 spezifiziert.

2.1.3 Unterschiede zwischen LDAPv2 & LDAPv3

In der aktuellen Version 3 von LDAP (RFC4511) sind im Vergleich zu LDAPv2 viele Verbesserungen eingeflossen, von denen hier nur die wichtigsten erwähnt werden können. Einer der wichtigsten Verbesserungen stellt die stärkere Authentifizierung dar, welche durch das Einbinden des Simple Authentication & Security Layer (SASL) Framework erreicht wurde. Hierdurch hat der Benutzer u.a. folgende Authentifizierungsmechanismen zur Auswahl:

- Anonymous: keine Authentifizierung}
- Plain: Authentifizierung meist durch Passwort, Daten werden im Klartext übertragen}
- CRAM-MD5: Authentifizierung durch Challange Response Verfahren}
- Digest-MD5: im Vergleich zu CRAM-MD5 zusätzliche Parameter zur Integritätssicherung}

Zur Verschlüsselung der Datenübertragung wird in LDAPv3 das Transport Layer Security (TLS) Protokoll verwendet, welches manchmal auch synonym als Secure Socket Layer (SSL) bezeichnet wird. Zudem unterstützt die aktuelle LDAP Version die Verwendung von UNICODE zur Codierung von Schriftzeichen und unterstützt damit die Speicherung von wesentlich mehr Zeichensystemen als die Version 2. Eine weitere wichtige Erweiterung der Version LDAPv3 betrifft den Betrieb eines Directory Information Trees (DIT)

auf mehreren unterschiedlichen Servern, da seit LDAPv3 so genannte Referrals unterstützt werden. Dieses Thema wird im weiteren Verlauf des Berichtes noch genauer betrachtet.

2.1.4 Server für Verzeichnisdienste

Es existieren verschiedene Implementierungen für Verzeichnisdienste von unterschiedlichen Herstellern. Die bekanntesten Produkte sind im Folgenden als Beispiele aufgelistet:

- University of Michigan LDAP-Server (Umich)
- Microsoft Active Directory
- Novell Directory Server
- Sun One Directory Server

[...]

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2009
ISBN (eBook)
9783836639187
DOI
10.3239/9783836639187
Dateigröße
636 KB
Sprache
Deutsch
Institution / Hochschule
Fachhochschule Bonn-Rhein-Sieg – Informatik
Erscheinungsdatum
2009 (Dezember)
Note
1,0
Schlagworte
cross plattform authentisierung ldap
Zurück

Titel: Authentizierung unter Linux/Unix mit Hilfe des Lightweight Directory Access Protocol (LDAP)
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
38 Seiten
Cookie-Einstellungen