370 likes | 457 Views
Metadirectory Services. 04.05.2005. Mathias Schindler. Inhaltsübersicht. Definition Metadirectory Services LDAP Einsatz an der HTWK. I. Metadirectories. Motivation: - Zugriff von Anwendungen ist nicht mehr auf lokale Ressourcen oder LAN beschränkt
E N D
Metadirectory Services 04.05.2005 Mathias Schindler
Inhaltsübersicht • Definition Metadirectory Services • LDAP • Einsatz an der HTWK
I. Metadirectories Motivation: - Zugriff von Anwendungen ist nicht mehr auf lokale Ressourcen oder LAN beschränkt → führt zu einer Vielzahl an bereitzustellenden Informationen - im Alltag ablage von häufig benötigten Informationen in Verzeichnissen (Gelbe Seiten, Bibliotheksverzeichnisse, ...) → daran angelehnt entstanden Verzeichnisdienste wie NIS, DNS, WhoIs, ... - für einfachere Durchsuchbarkeit können Informationen hierarchisch Strukturiert werden
I. Metadirectories Eigenschaften: • für lesenden Zugriff optimierter Datenspeicher→ einfaches Durchsuchen und Finden von Informationen • Inhaltstyp eher statisch • nicht geeignet für Daten die sich häufig ändern • standortunabhängig • ermöglichen Datenreplikation und Partitionierung • ein Verzeichnis muss keine sicheren Transaktionen unterstützen
I. Metadirectories Struktur: • Informationen werden in Entries abgelegt, diese können Attribute besitzen • starke Beschränkung in der Wahl der Datentypen→ Verzeichnisdienst Kundenkontakte enthält nur Namen, Adressen, etc. • oft vereinfachte Zugangsprotokolle die kaum Anwendungslogik in den Anfragen zulassen
I. Metadirectories Typen: • anwendungsspezifische[alias Datei für sendmail, config Files von Anwendungen, ...] • anwendungsunabhängige zweckgebundene(nicht veränderbare oder erweiterbare Datentypen)[lokale hosts-Datei, DNS - Verzeichnis] • (netzwerk-)betriebssystemspezifische[lokale passwd-, group - Datei, NIS, ADS, Novell NDS] • standardisierte allgemeine (anwendungsunabhängige)[X.500, DAP - Varianten, LDAP]
I. Metadirectories Was können Verzeichnisse nicht leisten: • ein Verzeichniss ist keine Allzweckdatenbank • ein Verzeichnis ist kein Dateisystem • ein Verzeichnis ist kein Ersatz für eine lokale Dateiablage • ein Verzeichnis ist kein 'Netzwerkmanagement-Tool'
I. Metadirectories Bei der Verwendung von Verzeichnissen ist zu beachten: • Allgemeinheit und Erweiterbarkeit/Veränderbarkeit • Zentralisierung • Interoperabilität • Standardisierung
II. LDAP Entstehung: • LDAP ist als „leichtgewicht“ - Ersatz zum DAP von X.500 gedacht • X.500 ist von OSI Spezifizierter Verzeichnisdienst (1985) • X.500 setzt auf einen kompletten ISO/OSI Stack auf→ rechenintensiv, schwierige Implementierung • X.500 Zugriffsprotokoll DAP besitzt mächtigen Funktions- und Kontrollumfang • X.500 konnte sich nie richtig etablieren
II. LDAP Entstehung: • LDAP wurde 1995 entwickelt • LDAP stellt vereinfachte Form von DAP dar • das Ziel von LDAP ist, Verzeichnisdienste einfacher und somit populärer zu machen • LDAP setzt auf einen TCP/IP Stack auf • LDAP implementiert nur einige DAP - Funktionen und Datentypen, trotzdem können die fehlenden emuliert werden
II. LDAP Entstehung:
II. LDAP Struktur: • Struktur wird durch ein Schema bestimmt • Scheme definiert Objektklassen • jeder Verzeichniseintrag gehört zu einer Klasse • ein Verzeichniseintrag ist ein eigenständiges aus Attributen zusammengesetztes Objekt, eindeutig identifiziert durch Distinguished Name (DN) • Attribute haben einen bestimmten Typ und einen oder mehrere Werte, Typenbezeichnungen meist Kürzel(cn = common name), erlaubte Werte vom Typ abhängig
II. LDAP Funktionales Modell: • Authentifizieren • Suchen • Vergleichen • Modifizieren
II. LDAP Authentifizieren: • unverschlüsselte anonyme Sitzung (kein Benutzername, kein Passwort) • unverschlüsselte authentifizierte Sitzung (Benutzername, Passwort) • verschlüsselte authentifizierte Sitzung
II. LDAP Suchen: • es ist möglich nur einen Teil des DIT zu durchsuchen • Startpunkt der Suche spezifizierbar • Angabe eines Suchbereichs (scope) möglich • Attribute die ein zu suchender Eintrag besitzen muss, sowie welche zurückgegeben werden, kann angegeben werden • Suchfilter (Bedingungen) sind definierbar
II. LDAP Suchparameter: • base: DN für den Suchstartpunkt • scope: Suchbereich, mögliche Werte: • base: nur Startobjekt selbst wird untersucht • one: direkte Kindobjekte von base, jedoch nicht es selbst • sub: base und gesamter Teilbaum darunter • Suchfilter: (Attribut-)Bedingungen, die ein Treffer erfüllen muß; Boolean-Kombinationen von Bedingungen sind möglich • Limits: Zeit- und Mengenbeschränkungen für Suchoperationen
II. LDAP Vergleichen: • überprüft ob ein Eintrag ein Attribut mit einem bestimmten Wert hat • == → true • != → false • nicht vorhanden → 'not found'
II. LDAP Modifizieren: • folgende Befehle sind vorhanden: • add Hinzufügen von Objekten • delete Löschen von Objekten • modifyDN Umbenennen/Verschieben von Objekten • modify Ändern/Hinzufügen/Löschen von Attributen • entsprechende Befehle auch in LDIF Dateien einfügbar
II. LDAP LDIF: • da LDAP nur Protokoll, interne Darstellung der Daten nicht spezifiziert→ Bedarf eines einheitliches Austauschformates zw. heterogenen Systemen (LDIF) • textuelle Darstellung der Daten eines Verzeichnisses • menschenlesbare Darstellung und einfach interpretierbar • mehrere LDIF - Zeilen beschreiben ein LDAP Objekt
II. LDAP LDIF: dn: dc=structure-net, dc=de - am Anfang steht der DN (absolute Position im LDAP Baum) objectclass: organization - es folgen ein oder mehrere Objektklassen (zulässige oder objectclass: top vorgeschriebene Attribute) o: Structure Net - Attribut - Wert Paare stellen den eigenltichen Inhalt dar l: Hamburg postalcode: 21033 streetadress: Billwiese 22 - eine Leerzeile schließt den Eintrag ab dn: uid=admin, dc=structure-net, dc=de objectclass: person objectclass: organizationalperson objectclass: inetorgperson cn: admin cn: Systemverwalter cn: Thomas Bendler sn: Bendler uid: admin mail: tbendler@structure-net.de l: Hamburg postalcode: 21033 streetadress: billwiese 22 telephonenumber: 040-7654321 facsmiletelephonenumber: 040-7654321
II. LDAP Sicherheit: • 2 Arten der Sicherheit: • Zugrifsssicherung auf Objekte mittels ACLs • Verbindungssicherung (s. Nutzerauthentifizierung) • Verbindungssicherung: • neben unverschlüsselter Authentifizierung unterstützt LDAP auch SASL (somit sind Digest, Keberos, MD5, u.a. verfahren Nutzbar) • zusätzliche Sicherung der Verbindung mit SSL/TLS möglich • Zugriffssicherung: • mittels ACLs können Rechte jedes Objektes spezifiziert werden
II. LDAP Replikation: • Gründe für Replikation: • Ausfallsicherheit • Lastverteilung, Zugriffe verteilbar • unterscheidung zw. Master und Replica • Replica ist READ-ONLY-Kopie des Masters • Clients die am Replica angemeldet sind und Änderungen vollziehen wollen, werden an Master weitergeleitet • Replica gleicht Daten regelmäßig mit Master ab • inkrementelle und komplette Synchronisation zw. Master und Replica möglich • Synchronisation kann kaskadieren (z.B. Replica ist Datenquelle für weiter Replicas)
II. LDAP Partitionierung: • Gründe für Partitionierung: • Verzeichnis enthält zuviele Daten (Serverkapazität erschöpft) • kleinere Verzeichnisse haben besser Zugriffsgeschwindigkeit • hoher Repklikationsaufwand durch die Menge der Daten • Partitionierung ist die Aufteilung des Baumes in mehrere Teilbäume auf mehreren Servern • Partitiononierung erfolgt an grenzen von Containerobjekten • Verlinkung von Partitionen mittels Verweise (Anfragen werden weitergeleitet) • Replizierung von Partitionen möglich
II. LDAP Verwendung von LDAP:
II. LDAP Folgende Verzeichnisserver unterstützen LDAP: * Apple (durch Open Directory), * AT&T, * Banyan, * Critical Path, * HP, * GONICUS, * IBM/Lotus, * Microsoft (durch ADS), * Novell (durch NDS), * Oracle (durch Oracle Internet Directory), * SGI, * Siemens (durch Siemens DirX Directory Server), * Sun (durch Sun ONE Directory Server).
II. LDAP Anwendungen: • Verwalten von Benutzerinformationen • Verwaltung von Gruppen • Verwalten von Netzwerkkonfigurationen • Konfigurieren und Verwalten von Anwendungen (z.B. sendmail, apache, samba, OS-login) • Verwendung als Zertifikatsserver (Aufbau einer PKI) • Nachbildung eines NT-Servers, mit weiteren OpenSource Tools ist somit ein zentral verwaltbares Win/Unix Netzwerk mit Single-Sign-On möglich
II. LDAP LDAP Entwicklung: • durch einfache Befehle leicht in vorhanden Anwendungen integrierbar • LDAP-APIs für viele Programmiersprachen verfügbar • Extensions (Request - Response Paar, z.B. Start TLS) • Controls (ermöglicht das Hinzufügen eigener Funktionalitäten) • demnächst auch XML zur Datenspeicherung und Datenübertragung
III. Einsatz an der HTWK Einsatzmöglichkeiten: • Abbilden von Organisationsstrukturen • Gruppenverwaltung • Benutzerverwaltung • single-sign-on für bestehende Lösungen