Client/Server-Systeme



Ähnliche Dokumente
Client/Server-Systeme

Client/Server-Systeme

Client/Server-Systeme

Client/Server-Systeme

DOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13

Grundlagen DNS 1/5. DNS (Domain Name System)

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

[11-4]

DNS Das Domain Name System

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Verteilte Systeme - 2. Übung

Client-Server mit Socket und API von Berkeley

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

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

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Dynamisches VPN mit FW V3.64

Technische Grundlagen von Internetzugängen

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Windows 2008 Server R2. Peter Unger

Windows Server 2008 R2 und Windows 7 Stand-Alone Arbeitsplatz per VPN mit L2TP/IPSec und Zertifikaten verbinden.

Anbindung des eibport an das Internet

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

ANYWHERE Zugriff von externen Arbeitsplätzen

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Beschreibung einer Musterkonfiguration für PBS-Software in einem WINDOWS 2003 Netzwerk - Rel. 2 (mit NPL Runtime Package Rel. 5.

Active Directory Integration Mac OS X. René Meusel Betriebssystemadministration

Anleitung zur Nutzung des SharePort Utility

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

1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen

Voraussetzungen zur Nutzung aller LANiS Funktionalitäten

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Konfiguration des Fernzugriffes auf Eyseo-IP-Netzwerkkameras mittels dynamischer IP-Adresse

Virtual Private Network

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Fragen und Antworten. Kabel Internet

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Beispielkonfiguration eines IPSec VPN Servers mit dem NCP Client

Clientkonfiguration für Hosted Exchange 2010

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

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Adressen der BA Leipzig

LDAP-Anbindung der REDDOXX-Appliance

Man liest sich: POP3/IMAP

Lizenzen auschecken. Was ist zu tun?

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Gefahren aus dem Internet 1 Grundwissen April 2010

OP-LOG

Verteilte Systeme. Benennungen und Namenssysteme. Hinweis: Dieser Foliensatz enthält nur die Teilthemen, die nicht selbst zu erarbeiten waren.

Konfigurationsbeispiel

Überprüfen Active Directory und DNS Konfiguration Ver 1.0

Stammtisch Zertifikate

Server Installation 1/

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

1 Die Active Directory

Firewall oder Router mit statischer IP

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

Programmiertechnik II

Fachbereich Medienproduktion

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

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

Switching. Übung 9 EAP 802.1x. 9.1 Szenario

Konfiguration eines DNS-Servers

FTP-Leitfaden RZ. Benutzerleitfaden

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

Service & Support. Was sind die Vorraussetzungen für einen Client-Server-Betrieb mit Simatic WinCC (<V5 & V5)? WinCC.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Windows 2008R2 Server im Datennetz der LUH

Installation der SAS Foundation Software auf Windows

IT-Symposium. 2E04 Synchronisation Active Directory und AD/AM. Heino Ruddat

Swisscom TV Medien Assistent

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

DNS Server einrichten unter Debian Linux. DHCP Server einrichten unter Debian Linux. Querschnittsaufgaben.

Integration von Zertifikaten in Benutzerverwaltungssysteme

How to install freesshd

INNOTask, INNOCount, INNORent, INNOSpace, INNOCar Installationsanforderungen

mysoftfolio360 Handbuch

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Installationsanleitung Laurus Projekte System (Aufgaben / Projekte mit Gantt Chart)

VPN: Virtual-Private-Networks

Windows Server 2012 RC2 konfigurieren

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet

Einführung in die Netzwerktechnik

WINDOWS 8 WINDOWS SERVER 2012

Einrichten einer RemoteApp- und Desktopverbindung

Transkript:

Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2007/2008 Teil 7 Namens- und Verzeichnisdienste Middleware css0700 ww6 sch 02-97

Namensgebung: Definitionen Name (symbolische Adresse, symbolischer Name ) Folge von Zeichen, meist in der Länge begrenzt Beispiele: AB, AAC beschreibt ein Objekt, welches gebraucht wird Objekte sind physikalische (CPU, Drucker) oder logische (Datei, Programm) Ressourcen. Namensraum Menge aller möglichen Namen. Beispiel: {AA,AB,AC, BA, BB, BC, CA, CB, CC} für Namenslänge 2 und Alphabet {A,B,C} Naming Kontext Namensraum, innerhalb dessen ein Objekt Name eindeutig ist. Namen können relativ zu ihrem Kontext definiert werden. Adresse Binding identifiziert den Ort, wo sich das Objekt befindet Zuordnung eines Namens zu einem Objekt statische und dynamische Bindung Universal Identifier (UID) systemweiter Name, der ein Objekt eindeutig identifiziert. cs 0746 ww6 wgs 03-99

Funktion eines Namensdienstes Beliebige Objekte (z.b. Benutzer, Dateien, ausführbare Programme... ) werden in einem Rechner durch Objekt Referenzen gekennzeichnet. Objekt Referenzen sind hexadezimale Zeichenketten und für einen Benutzer nur schwer verständlich. Nicht notwendigerweise identisch mit einem UID. Eine Adresse kann muss aber nicht eine eindeutige Objektreferenz sein. Namen sind für einen menschlichen Benutzer verständliche Bezeichnungen. Der Namensdienst (Name Service) bildet Namen auf Objekt Referenzen ab. Jedes Objekt hat eine eindeutige Objekt ID. * Als name binding bezeichnen wir die Zuordnung Name - Objekt _Referenz Der Namensdienst unterhält eine Datenbank der Bindings zwischen Namen und Objekt Referenzen. Objekt Referenzen sollten in der Regel eindeutig (unique) sein, d.h. nur einmal vorkommen. UIDs (Unique Identifier) haben diese Eigenschaft. CORBA benutzt den Begriff IOR (Interoperable Reference).

Verwendung symbolischer Adressen Das IP Protokoll (Schicht 3) des Internet verwendet 32 Bit Integer Werte als Adressen. Der Benutzer verwendet meistens symbolische Namen. Symbolische Namen haben nichts mit IP Adressen zu tun, werden aber durch definierte Mechanismen auf sie abgebildet. Die Übersetzung von symbolischen Namen (sog. Host Namen), z.b. in 32 Bit lange IP Adressen, z.b. padme.informatik.uni-leipzig.de Hex 8b 12 4 23 binär 1000 1011 0001 0010 0000 0100 0010 0011 oder in Dezimalnotation 139.18.4.35 findet in der Schicht 6 statt. Die Zuordnung (Binding) symbolischer Name (host name) zu IP Adresse befindet sich in der lokalen Host Tabelle ( /etc/hosts ).. In der Anwendungsschicht ist für IP Adressen auch die Verwendung der Dezimalnotation möglich, z.b. an Stelle von http://139.18.4.35 http://padmei.informatik.uni-leipzig.de cs 0717 ww6 wgs 05-97

Client Process Using Stream Sockets /* Error checking has been omitted to allow for easy * reading. However, error checks should always be * implemented. */ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netdb.h> #include <netinet/in.h> #define PORTNUM 1503 #define MESSAGE "Socket Test" main() int sd; /* client socket descriptor */ struct sockaddr_in servername; /* server socket name */ struct hostent *host; /* server host struct */ /* create client socket */ sd = socket(af_inet, SOCK_STREAM, 0); /* Obtain network address of server. * "myhost" is used as server name. */ host = gethostbyname( "myhost" ); /* Initialize server socket address */ bcopy( host >h_addr, (char*) &servername.sin_addr, host >h_length); servername.sin_family = AF_INET; servername.sin_port = PORTNUM; /* Attempt to connect to server */ connect (sd,(struct sockaddr *)&servername, sizeof(servername)); /* write data to socket; close socket */ write ( sd, MESSAGE, sizeof( MESSAGE )); close(sd); } cs 0223 ww6 wgs 10-96

pc1 oberon ariel monalisa Name Server RSP # hosttable SERVER RSP 192.9.201.1 rsp # SERVER 192.9.201.2 PC1 192.9.201.4 oberon 192.9.201.5 ariel 192.9.201.9 monalisa Probleme mit lokalen Hosttabellen In einem kleinen Netz speichert die lokale Hosttabelle eines Klienten die Adressen aller angeschlossenen Rechner (Klienten und Server). In einem großen Netz mit vielen Rechnern ist es schwierig, alle Hosttabellen gleichzeitig auf dem richtigen Stand zu halten (Administrationskosten). Lösung: Einer der Rechner übernimmt die Rolle des Name Servers. cs 0759 ww wgs 01-03

Adressauflösung durch Name Server Beliebige Objekte (z.b. Benutzer, Dateien, ausführbare Programme... ) werden in einem Rechner durch Objekt Referenzen gekennzeichnet. Objekt Referenzen sind hexadezimale Zeichenketten und für einen Benutzer nur schwer verständlich. Der Namensdienst (Name Service) bildet die für einen menschlichen Benutzer verständlichen Bezeichnungen auf Objekt ID s ab (OID s, auch als Objekt Referenzen bezeichnet, u.a. CORBA Begriff). Jedes Objekt hat eine eindeutige Objekt ID. * Als name binding bezeichnen wir die Zuordnung Name - Objekt _Referenz Der Namensdienst unterhält eine Datenbank der Bindings zwischen Namen und Objekt Referenzen.

Datenbank mit den Bindings zwischen Namen und Objekt Referenzen Host Name Server 192.9.201.1 1. Wer ist PC1 2. PC1 ist 192.9.201.2 3. Hallo 192.9.201.2 PC1 PC2 192.9.201.2 192.9.201.3 Adressauflösung durch Name Server cs0745z ww6 wgs 11-98

Domain Name System - DNS In der Anfangszeit des Internet hielt nic.ddn.mil (Defense Data Network Information Center) eine zentrale Datei vor, die auf alle Hosts des Internet verteilt wurde. Die Verwaltung einer einzigen Host Tabelle wurde mit der wachsenden Größe des Internets unmöglich Der Domain Name Service (DNS) ist die Lösung für das Internet. Festgehalten in RFC 1035. Aufteilung des Internets in (weiterhin aufteilbare) Einheiten (Domänen und Subdomänen). Grundlage ist eine hierarchisch gegliederte verteilte replizierte Datenbank Verwendet das UDP Protokoll (für lange Nachrichten TCP) cs 0731 wgs 05-94

Hierarchisch strukturierter Namensraum / Domains de edu uni-tuebingen uni-leipzig Subdomains informatik informatik untergeordnete Subdomain kebschull spruth Hierarchie kann nachbilden: Organisatorische Struktur Systemtopologie geographische Verteilung Ein relativer Name identifiziert ein Objekt eindeutig im Kontext seines Vaterobjektes. Beispiel: informatik/kebschull Ein absoluter Name identifiziert ein Objekt global eindeutig. Beispiel: /de/uni-leipzig/informatik/kebschull cs0735 ww6 wgs 09-98

Entfernter Name Server Name Server Prozess Daten Bank Cache lokaler Name Server Benutzer Name Resolver Cache Klient Rekursive Namensauflösung cs 0749 ww6 wgs 012-9994

Root Name Server Anfrage Antwort Anfrage Antwort Name Server Name Server Anfrage Antwort Anfrage Antwort Name Server Klient Rekursive Namensauflösung im DNS Anfrage wird von Server zu Server weitergegeben Antwort wird auf dem selben Weg zurückgegeben cs 0750 ww6 wgs012-99

Root Name Server Anfrage Anfrage Name Server Name Server Anfrage Anfrage Name Server Klient Antwort Rekursive Namensauflösung im X.500 Anfrage wird von Server zu Server weitergegeben Antwort wird auf direktem Weg zurückgegeben cs 0751 ww6 wgs 12-99

cs 0753 ww6 wgs 12-03

uni-tuebingen.de Resource Records (RR) werden zunächst in den Primär Server geladen Name Server RRs zeigen auf Primär und Sekundär Server informatik.uni-tuebingen.de Primär Server repliziert RRs in die Sekundär Server Sekundär Server Replikation der Namensserver DNS besteht aus einer Reihe von Domains und untergeordneten non-overlapping Subdomains. Letztere ist durch einen Domain Namen (DNS Name) identifiziert. Jede Subdomain enthält einen Teil des DNS-Baums und hat einen Primär-Namensserver sowie möglicherweise mehrere Sekundärserver. Jeder Namensserver hat einen konfigurierbaren Zeitgeber. Update der Sekundär Server in unregelmäßigen Zeitabständen. Alle Server speichern Anfragen aus jüngster Zeit in ihrem Cache. Integrität der Information ist nicht gewährleistet. Time-to-Life Angabe für maximale Lebensdauer im Cache. Transient Inconsistency der Daten. cs 0764 ww6 wgs 12-03

Name Server IP Adresse 129.13.1.9 PC2 PC3 PC4 Subdomain ccc.bbb.aaa.com 129.13 Subdomain bbb.aaa.com Name Server VM1 129.12 Router VM2 MVS TR1 RT2 PC1 PC7 194.33.7 Subdomänen und Zonen DNS ist eine logische Hierarchie, unabhängig von der physischen Konfiguration. Die Netze 129.12 und 194.33.7 bilden die Subdomain bbb.aaa.com. Der Rechner VM1 dient als Namensserver für diese Subdomain. Das Netz 129.13 bildet eine eigene Subdomain ccc.bbb.aaa.com, die hierarchisch untergeordnet ist. Der Rechner PC2 mit der IP Adresse 129.13.1.9 dient als Namensserver für ccc.bbb.aaa.com. Einträge im Name Server VM1 besagen, dass PC2 der Name Server für die Subdomain ccc.bbb.aaa.com ist, und über die IP Adresse 129.13.1.9 erreicht werden kann. Mehrere Subdomains können zu einer Zone zusammengefasst werden und von einem einzigen Namensserver versorgt werden. cs 0718 ww6 wgs 03-98

Autorisierung von Namen Die Administration der einzelnen Subdomänen (oder Zonen) erfolgt dezentral und unabhängig voneinander durch die jeweiligen Administratoren. Beispiel tech01.informatik.uni-leipzig.de Die Benutzung des Feldes "tech01" wurde vom Netzwerk- Administrator des Informatik-Institutes autorisiert. Die Benutzung des Feldes "Informatik" wurde vom Netzwerk-Administrator des Universitätsnetzes autorisiert. Die Benutzung des Feldes "uni-leipzig" wurde vom übergeordneten Netzwerk-Administrator (DENIC) autorisiert. Die Benutzung des Feldes "de" wurde vom Internet Network Information Center (ICANN) autorisiert. cs0109 ww wgs 05-94

DNS - Datenbank Die DNS-Datenbank besteht aus Resource Records. (RR). Jeder Resource Record enthält folgende Felder: (RFC 2929) Subdomain Name Type Class (wenig benutzt) Time to live Datenlänge Daten Es existieren 20 unterschiedliche Typen. Sie wichtigsten sind: Address Record (A) Name Server Record (NS) Mail Exchange Record (MX) Zusammenhang zwischen Host Name und IP-Adresse Adresse eines Name Servers, der für eine bestimmte Domain zuständig ist Über MX Records können Hosts definiert werden, die für andere Hosts Mail entgegennehmen (z.b. weil letztere nicht ständig mit dem Netz verbunden ist. UUCP benötigt MX Records) Jede Anwendung, die eine Anfrage an einen Namens-Server stellt, muß den Typ angeben z.b. E-mail Anwendung spezifiziert den Typ mail-exchanger login Anwendung spezifiziert den Typ IP-Adresse [RFC 1034, RFC 1035, RFC 2136, RFC 2181, RFC 2535] RFC 2929 cs 0716 ww6 wgs 12-03

Domain Name System (2) Alle Einträge besitzen ein "Typ" Feld. Jede Anwendung, die eine Anfrage an einen Namens-Server stellt, muß den Typ angeben z.b. E-mail Anwendung spezifiziert den Typ mail-exchanger login Anwendung spezifiziert den Typ IP-Adresse vs0907 ww wgs 06-94

Adressenauflösung electronic mail Beispiel: spruth@informatik.uni-leipzig.de server1.rz.uni-leipzig.de hpws1.informatik.uni-leipzig.de aix550.informatik.uni-leipzig.de Alle Internet Nachrichten werden in Leipzig von der Maschine server1.rz.unileipzig.de empfangen. Alle Nachrichten die für die Informatik bestimmt sind, werden mit Hilfe einer Adresstabelle an hpws1.informatik.uni-leipzig.de weitergeleitet. Der Server auf dieser Maschine untersucht die Nachricht und stellt z.b. fest, daß es sich um eine electronic mail handelt. Darauf schaut der mail-server in seinem Adressenverzeichnis nach, und stellt fest, daß der Benutzer SPRUTH seine mail-box auf der Maschine aix550.informatik.uni-leipzig.de hat. Er leitet die mail an die aix550 weiter. Der dortige Mail-Server wiederum stellt die mail-nachricht in die mailbox für den Benutzer SPRUTH ein. Bei ftp würde die Adresse spruth@informatik.uni-leipzig.de nicht ausreichen, da der ftp-server auf der hpws1.informatik.uni-leipzig.de über keine entsprechende Adresstabelle verfügt. Für den ftp transfer ist die adresse spruth@aix550.informatik.uni-leipzig.de erforderlich. cs0107 h ww wgs 10-94

DNS Spoofing übergeorneter Name Server Angreifer 1 2 4 3 Name Server 5 Benutzer 6 wertpapier.de falscheinfo.de 172.16.62.64 192.168.52.1 1. Der Angreifer erfragt die IP Adresse von wertpapier.de 2. Der Name Server leitet die Anfrage an seinen übergeordneten Name Server weiter. 3. Der Angreifer erstellt eine falsche Antwort mit der IP Adresse 192.168.52.1. Der Name Server stellt diese Antwort in seinen Namens-Cache 4. Der übergeordnete Name Server schickt die richtige Antwort mit der IP Adresse 172.16.62.64. Diese wird als scheinbares Duplikat verworfen 5. Der Benutzer erfragt vom Name Server die IP Adresse von wertpapier.de und erhält die falsche Antwort 192.168.52.1 6. Der Benutzer erhält von dem trojanischen Pferd 192.168.52.1 irreführende Information cs0537 ww6 wgs 09-98

Verzeichnisdienst 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, Telefonnummer, Beruf, Titel, Straße und Hausnummer. Oft wird der Begriff 'Yellow Pages' benutzt, um die Art zu charakterisieren, in der ein Verzeichnis benutzt wird.

Aufgabe eines Verzeichnisdienstes Beispiel: Sie wollen Mail an Ihren Freund Fritz Müller schicken. Fritz Müller hat eine neue E-Mail Adresse, Sie wissen aber nicht welche. Angenommen ein Verzeichnisdienst, der die Auflistung von Personen enthält. Der Eintrag für Fritz Müller enthält auch seine (neue) E-Mail Adresse. cs0742 ww6 wgs 02-99

Verzeichnisdienst Verzeichnisdienste sind von vornherein so konzipiert, dass sie standortunabhängig sind. Wenn ein Server eine Information lokal nicht vorhält, wird er den Client entweder ' an den zuständigen Kollegen weiterschicken' oder er wird die Client- Anwendung transparent darauf zugreifen lassen. Er nutzt die Vorteile von Techniken zur verteilten Speicherung und Datenreplikation, was eine effiziente Skalierung erlaubt. Verzeichnisdienste organisieren Informationen in einer Baum-Struktur als eine Hierarchie von Objekten. Innerhalb des Baums zwei Typen von Einträgen: Organizational Units (OUs) und Objekte. OUs sind Container die andere OUs oder Objekte enthalten.

X.500 Directory Service OSI-Standard, der heute auch mit anderen Netzwerkprotokollen als OSI verwendet werden kann, z.b. TCP/IP. Beispiel root C=Deutschland C=USA O=BMW O=Uni-Leipzig O=IBM O=... OU=IFI OU=Chemie Div=Research Div=... N=Kebschull N=Rahm N=Spruth N=Lindsay N= Die Hierarchie kann auf unterschiedliche Server aufgeteilt sein. cs0739 ww6 wgs 09-98

Beispiel für eine X.500 Adresse C=DE.O=Uni-Tuebingen.OU=Informatik.N=Spruth als Alternative zu spruth@informatik.uni-tuebingen.de vs1901 ww6 wgs 06-97

X.500 Begriffe Directory User Agenten (DUA) sind X.500 Klienten. Directory System Agenten (DSA) sind Server, welche gemeinsam die Directory Information Base (DIB) halten. Die Directory Information Base (DIB) ist die Summe aller gespeicherten Einträge (ein Eintrag pro Objekt). Die DIB ist in der Form eines Baumes, des Directory Information Tree, implementiert. Die Absicht ist, dass weltweit eine einzige DIB existiert, wobei Teile der DIB auf einer Vielzahl unabhängiger Server gespeichert sind. Anwendungen können auf die DIB mit Hilfe einer von mehreren API s zugreifen. Es existieren die X/open Directory Service Interface (XDS), das X.500 Directory Access Protokoll (DAP) und das Internet Lightweight Directory Access Protocol (LDAP). Die Benutzung braucht extensive Vorkenntnisse.

Beispiel für ein globales X.500 Verzeichnissystem cs 0730 ww wgs 04-98

Verzeichnisdienste (z.b. die Directory Information Base) organisieren Informationen in einer Baum- Struktur als eine Hierarchie von Einträgen. Innerhalb des Baums zwei Typen von Einträgen: Organizational Units (OUs) und Objekte. OUs sind Container die andere OUs oder Objekte enthalten. Pro Objekt je 1 Eintrag. Einträge können unterschiedliche Arten von Objekten enthalten, z.b.: Personen, Drucker, Büro-Räume, X. 509 Zertifikate Objekte eines Verzeichnisdienstes sind keine echten Objekte: Nur Daten, keine Methoden, keine Vererbung. Die grundlegenden Datenstrukturen eines X.500 oder LDAP-Verzeichnisses, insgesamt als Schema bezeichnet, können entsprechend den lokalen Bedürfnissen erweitert werden

Objekte werden zu Objektklassen zusammengefasst (z.b. Personen, Server, X.509 Zertifikate, Drucker, oder Kommunikationseinheiten). Eine OU kann unterschiedliche Klassen von Objekten enthalten. Eine Objektklasse definiert einen Satz von erforderlichen und von optionalen Attributen eines Eintrags. Anwendungen können sich auf den minimalen Inhalt eines Eintrags verlassen. Klasse Personen Bauer Franz Einträge Becker Boris Müller Fritz Schmidt Lukas.................. Attribute Klasse Rechner Frodo System z z/os Einträge Peanuts Sparc Solaris Ti37 pseries AIX TI89 Pentium XP........................... Attribute cs 0758 ww wgs 04-98

Struktur eines X.500 DIB Objektes X.500 Attribute Attribute Attribute Attribute Objekt DN Attribute Type Attribute Values Ein Objekt besteht aus mehreren Attributen; eines der Attribute ist der DN (Distinguisched Name) des Objektes. C=DE.O=Uni-Leipzig.OU=Informatik.N=Spruth ist ein Beispiel für einen DN. Jedes Attribute besteht aus einem Attribute Type und einem oder mehreren Attribute Werten (Values). Der Attribute Typ beschreibt die Characteristik des Attributes. Zu jedem Attribute Type gehören: Type Name Type Definition, einschließlich Type Description Syntax Definition (in ASN.1) Besteht ein Objekt einer DIB aus mehreren Attributen, dann ist eines der Attribute ein Distinguished Attribute. Dieses bestimmt den Namen des Eintrags. Attribute mit mehreren Werten werden als Multivalued Attributes bezeichnet. cs 0714 ww6 wgs 05-97

Beispiel eines X.500 DIB Objektes info Prof. Dr.-Ing. Wilhelm G. Spruth Institut fuer Informatik, Universitaet Leipzig commonname Wilhelm.G.Spruth Wilhelm.Spruth Wilhelm Spruth W. G. Spruth surname Spruth telephonenumber 0341 97 32211 0172-8051-485 uid (distinguished Attribute) spruth mail spruth@informatik.uni-leipzig.de spruth@ informatik.uni-tuebingen roomnumber 0239 userclass Professor cs0740 ww6 wgs 11-98

Probleme mit X.500 Komplex zu benutzen Viele nur selten verwendete Funktionen Verwendet den OSI Protokoll Stack Umsetzung auf TCP/IP nach RFC 1066 Light Weight Directory Access Protocol (LDAP) RFC 1777, Yeong, Howes, Kille, 1995 einfaches Gateway für den Zugriff auf einen X.500 Server LDAP Klient LDAP Klient LDAP LDAP Server enthält keine Daten DAP LDAP LDAP Schnittstelle proprietärer Verzeichnisdienst X.500 DSA (X.500 Server) cs 0710 ww6 wgs 05-97

Certificate Authority (CA) Certificate / CRL Repository (LDAP) Registration Authority (RA) publish certificate CRL publish certificate Management Transactions Certificate / CRL Access Management Transactions End-entity LDAP wird häufig als zentraler Authentifikationsservice verwendet. Benutzer haben damit ein einheitliches Login, z.b. für Konsolen-Login, POP- Server, IMAP-Server, mit dem Netzwerk verbundene Computer etc. Bei der Verwendung von LDAP kann eine Benutzer- ID und ein Passwort für alle Logins verwendet werden. Die Administration wird damit erheblich vereinfacht. Eine Public Key Infrastruktur ost meistens auf einem LDAP Server implementiert.ist

Zertifikat Version Serien Nr. Trust Center Name Gültig bis Subject Subject Public Key Signatur Algorithmus Hash Algorithmus MD5/SHA-1 Hashwert Verschlüsselung mit dem privaten Schlüssel des Trust Centers Signature Aufbau eines X.509 Zertifikates Definiert in der Abstract Syntay Notation One (ASN.1) Derzeitiger Standard (2003) ist Version X.509 v 3 cs 0566 wgs 11-02

Signatur des Trust Centers Certificate: Data: Version: 1 (0x0) Serial Number: 7829 (0x1e95) Signature Algorithm: md5withrsaencryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/Email=server-certs@thawte.com Validity Not Before: Jul 9 16:04:02 1998 GMT Not After : Jul 9 16:04:02 1999 GMT Subject:C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www.freesoft.org/Email=baccala@freesoft.org Algorithmus des Trust Centers für die Signatur Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (1024 bit) Modulus (1024 bit): Public Key des Subjects 00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb: 33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1: 66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66: 70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17: 16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b: c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77: 8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3: d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8: e8:35:1c:9e:27:52:7e:41:8f Exponent: 65537 (0x10001) Signature Algorithm: md5withrsaencryption 93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d: 92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92: ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67: d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72: 0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1: 5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7: 8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22: 68:9f X.509 Certificate Beispiel

z/os Security Server The z/os Security Server is an integrated package that includes the following functions to help protect z/os e- business applications: RACF provides user authentication and access control for z/os and OS/390 resources and data. It includes support for digital certificate authentication as well as conventional user ID and password. LDAP Server provides a generalized Lightweight Directory Access Protocol server supporting LDAP V1R4. LDAP clients in the network can search, extract, add, and delete information contained in the directory. Open Cryptographic Enhanced Plug-ins provide additional functions for z/os and OS/390 applications that use Common Data Security Architecture (CDSA) cryptographic and certificate services. Firewall Technologies. Included is Internet Key Exchange functions in support of IPSec VPN (Virtual Private Network). Network Authentication Services provides services (based on MIT Kerberos Version 5 reference implementation) for authentication, delegation, and data confidentiality. DCE Security Server provides user and server authentication for applications using DCE client/server communications technology.

Microsoft Active Directory Services Bestandteil von Windows 2000, XP, Vista Kombination von DNS und LDAP Einheitliche ADSI Schnittstelle für Zugriffe auf Directory Services unterschiedlicher Hersteller Kombination mit DHCP Kerberos Unterstützung Anwendung Active Directory Service Interface Service Service Service Service Provider Provider Provider Provider X.500 Notes NDS Windows XP, Vista NDS LDAP Service der Firma Novell cs0724 ww6 wgs 03-98

Java Anwendung JNDI API LDAP DNS NIS NDS RMI CORBA Java Naming and Directory Interface Die JNDI Service Provider Interface ermöglicht die Integration von Naming und Directory Services für Java Anwendungen (z.b. Servlets). cs 0761 ww6 wgs 12-03

Netzwerk Ungenauigkeit des Workstation Kristalls 1 Sekunde/Tag Time Service Time Server Wie spät? so spät Klient round trip delay z.b. 10 Meter = 20 ns, 10 km = 20 µs Lichtgeschwindigkeit im Vakuum = 300 000 km/s auf Leitungen = 200 000 km/s Taktzeit einer 4GHz CPU = 250 ps cs 0719 ww6 wgs 01-04

Daten- Klienten Anwendungen haltung z.b. Datenbank Middleware Middleware Transport Dienste, z.b. TCP/IP, Sockets, RPC, CORBA, RMI Middleware Middleware kombiniert Schicht 5 Funktionen wie Sockets und RPC mit Funktionen der Schicht 6 (Datenrepräsentation, Sicherheit, Verzeichnisdienste usw.). Beispiele sind: DCE Transaktionsmonitore BEA Tuxedo, IBM CICS, IMS, MS Transaction Server, Web Application Server BEA WebLogic, IBM WebSphere, MS DotNet, SAP Netweaver Groupware IBM Lotus Notes, MS Exchange, Novell Groupwise Systems Management CA Unicenter, HP Openview, IBM Tivoli, Die entsprechenden Middleware Funktionen müssen auf allen partizipierenden Klienten- und Server Rechnern installiert sein. cs 0813 ww6 wgs 02-99

DCE Distributed Computing Environment Integrierter Satz an Werkzeugen, Einrichtungen und Diensten Ermöglicht die Kooperation zwischen unterschiedlichen Rechnern Schirmt den Benutzer von den technischen Details der Schichten 1-4 ab Anwendungen DCE File Service RPC Sicherheit XDS Zeitdienste Threads CDS X.500 Betriebssystem, z.b. Unix, OS/390 Netzwerk Transport, z.b. TCP Anwendungs-Programmierschnittstellen cs 0852 ww6 wgs 12-99

DCE Remote Procedure Call Kann konfiguriert werden, die Host Computer Sicherheits-einrichtungen zu benutzen Unterstützt verbindungslose und verbindungsorientierte Protokolle 20 unterschiedliche Nachrichten Typen definiert, davon einige nur für den verbindungslosen oder den verbindungsorientierten Transport. Die Nachrichten werdenals Protocol Data Units (PDU s) bezeichnet Der Microsoft RPC ist eine auf DCOM basierende objektorientierte Erweiterung des DCE RPC (auch als Objekt RPC bezeichnet. Die Syntax der übertragenen Pakete ist nahezu vollständig mit der ursprünglichen DCE Spezifikation kompatibel. Wird als Bestandteil von NT ausgeliefert. cs 0806 ww6 wgs 06-98

DCE Unterstützung HP/DEC OSF/1, VMS HP-UX IBM AIX, z/os, OS/400 Linux www.entegrity.com Microsoft Windows XP, Vista Siemens Sinix Sun-Solaris HP/Tandem Guardian CS 0101 ww wgs 12-95