07.12.2012 Aufrufe

Kapitel 3 (PDF, 1,8 MB) - Fachgebiet Komplexe und Verteilte IT ...

Kapitel 3 (PDF, 1,8 MB) - Fachgebiet Komplexe und Verteilte IT ...

Kapitel 3 (PDF, 1,8 MB) - Fachgebiet Komplexe und Verteilte IT ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3. Verzeichnisdienste<br />

Vorlesung<br />

Betrieb <strong>Komplexe</strong>r <strong>IT</strong>-Systeme<br />

(BK<strong>IT</strong>S)


Verzeichnisdienste<br />

● Schon aus dem Blickwinkel „Identity Management“ bekannt<br />

■ Speicherung von Informationen über Personen, Ressourcen, …<br />

■ Hierarchische Ordnung der Informationen<br />

■ Vererbung von Attributen an Kind-Elemente<br />

● Fokus dieses <strong>Kapitel</strong>s: Allgemeiner Blickwinkel<br />

■ Was sind Verzeichnisse? Was sind Verzeichnisdienste?<br />

■ Wozu kann man Verzeichnisse benutzen?<br />

■ Welche Ansätze gibt es?<br />

♦ DNS, NIS, LDAP, Active Directory, …<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-2


Vom Suchen <strong>und</strong> Finden<br />

● Unumstritten: Informationen sind wertvoll<br />

■ Allerdings: Wert hängt vom Aufwand des Auffindens ab<br />

♦ Aufwand kann Zeitaufwand sein, aber auch Geld oder Tätigkeit<br />

■ Daher: Strukturierung von Datensammlungen<br />

♦ Hierarchie von Datensätzen oder sonstwie geordnete Form<br />

♦ Ziel: Aufwand für Auffinden von Informationen gering halten<br />

● Strukturierte Datensammlungen bilden Verzeichnisse<br />

■ Beispiele aus dem Alltag: Telefonbuch, Fernsehzeitung, Katalog<br />

■ Beispiele aus der <strong>IT</strong>: Domain Name System (DNS), Suchmaschine<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-3


Verzeichnisse <strong>und</strong><br />

Verzeichnisdienste<br />

● Gemeinsamkeiten von Verzeichnissen<br />

■ Sammeln von Informationen<br />

■ Aufbereitung der Information<br />

■ Bereitstellung von Informationsdiensten für Abruf<br />

♦ Wichtig: Zugriff über einfache <strong>und</strong> standardisierte Wege<br />

● Verzeichnisse haben speziellen Anwendungsbereich<br />

■ Ermittlung von Telefonnummern, Übersicht Fernsehprogramm<br />

■ Keine weitere Verwendung der Daten vorgesehen<br />

● Verzeichnisdienste haben breiteren Fokus, z.B. TV-Service:<br />

■ Sat-Receiver programmiert sich auf Frequenz des Senders<br />

■ Videorecorder programmiert Zeiten <strong>und</strong> merkt sich EPG-Daten<br />

■ Stereoanlage optimiert Equalizer, z.B. Modus „Theater“ oder „Live“<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-4


Aktualität <strong>und</strong> Red<strong>und</strong>anz<br />

● Viele verschiedene Dienste im Netzwerk vorhanden<br />

● Wie kann Aktualität der Daten sichergestellt werden?<br />

■ Neuer Mitarbeiter muss in vielen Systemen bekannt sein<br />

♦ Mailserver, Webserver, Fileserver, Telefonanlage, …<br />

■ Datenstamm kann sich über die Zeit ändern<br />

♦ Namensänderung aufgr<strong>und</strong> einer Hochzeit<br />

● Wo ist Grenze zwischen flexibler Datenhaltung <strong>und</strong><br />

inkonsistentem Datenstamm?<br />

● Weiteres Problem: Red<strong>und</strong>anzen<br />

■ Jeder Dienst hält seine eigene Benutzerdatenbank<br />

● Ansatz:<br />

Zentrales Verzeichnis, dass Daten für alle Dienste hält<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-5


● Häufigste Form der Speicherung<br />

■ Speicherung beliebiger Information<br />

● Hierarchische Speicherung<br />

■ Baumstruktur<br />

♦ Directory Information Tree (D<strong>IT</strong>)<br />

■ Ziel: Schnelle Antwortzeiten<br />

■ Spiegelt oft geographische oder<br />

organisatorische Struktur wider<br />

● Relative Distinguished Name<br />

● Distinguined Name (DN)<br />

■ Von Wurzel bis RDN, eindeutig<br />

■ CN=Peter Müller, O=Firma,C=DE<br />

Verzeichnisse (1/2)<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

Enterprise Dir<br />

C=US C=DE<br />

O=Musterfirma<br />

OU=Finanz OU=<strong>IT</strong><br />

CN=Peter Müller<br />

2-6


Verzeichnisse (2/2)<br />

● Verzeichnisse sind objektorientiert<br />

■ Eigenschaften werden vererbt<br />

■ Knoten erben alle Attribute darüber liegender Knoten<br />

♦ Attribute von Knoten müssen für alle Kindknoten (Knoten in<br />

tieferen Hierarchieebenen) relevant sein<br />

■ Gegensatz: Relationales Datenbankmodell<br />

● Schema: Beschreibung der Struktur eines Verzeichnisses<br />

■ Welche Arten von Informationen sollen gespeichert werden?<br />

■ Welche Attribute werden verwendet?<br />

■ Definition von Sub-Schemata, die nur für Teilbaum gelten<br />

■ Verteilung der Administration eines Verzeichnisses<br />

♦ Administrator ist nur für einen Teilbaum zuständig<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-7


● Vorteil von Verzeichnissen:<br />

Such-Operation ist schnell<br />

Vor- <strong>und</strong> Nachteile<br />

von Verzeichnissen<br />

■ Häufigste Operation in IdM-Systemen<br />

■ Prädestiniert für Einsatz in IdM<br />

● Nachteil von Verzeichnissen:<br />

Schreiben, Ändern der Struktur<br />

■ Schreiben ist langsamer als bei relationalen Datenbanken<br />

■ Änderungen an Struktur sind aufwändig <strong>und</strong> können Auswirkungen<br />

auf andere Daten haben<br />

♦ Exakte Planung notwendig, wie eine Organisationsstruktur im<br />

Rahmen eines Directory Information Trees (D<strong>IT</strong>) abgebildet wird<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-8


Elemente eines<br />

Verzeichnisses (1/2)<br />

● Verzeichnis-Objekt<br />

■ Datenelement mit einer bestimmten Menge von Attributen<br />

♦ Datenattribute können optional oder Pflicht sein<br />

■ Repräsentiert ein Objekt im Netzwerk (Benutzer, Rechner, …)<br />

● Verzeichnis-Schema<br />

■ Legt generelles Aussehen des Verzeichnisses fest<br />

♦ Welche Objekte mit welchen Attributen können erfasst werden?<br />

♦ Welche Struktur hat das Verzeichnis?<br />

● Schema legt Verzeichnis-Namespace fest<br />

■ Fest umgrenzter Bereich mit Objekten, die den gleichen Namens-<br />

konventionen folgen<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-9


Elemente eines<br />

Verzeichnisses (2/2)<br />

● Verzeichnis-Baum<br />

■ Logische Struktur eines Verzeichnisses<br />

lässt sich als Baum darstellen<br />

■ Objekte sind in gemeinsamen Namespace<br />

■ Objekte sind zusammenhängend<br />

■ Baum repräsentiert eine logische<br />

Hierarchie zwischen den Elementen<br />

● Partitionen<br />

15.10.2011<br />

■ Aufteilen der Datenbasis auf mehrere<br />

verteilte Systeme (z.B. wg. Skalierung)<br />

■ Replikation der Datenbasis zwischen<br />

verschiedenen Server-Systemen<br />

♦ Kann Dienste von Datenbankservern<br />

hierfür nutzen<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

de eu be<br />

tu-berlin.de<br />

cit.tu-berlin.de<br />

3-10


Abgrenzung gegen<br />

Datenbanken<br />

● Auch in Datenbanken können Daten gehalten werden<br />

■ Jedoch: neuartige Anforderungen an Verzeichnisse<br />

● Transaktionsorientiert vs. operationsorientiert<br />

■ Datenbank: Änderung erst gültig, wenn alle Änderungen der<br />

Transaktion erfolgreich getätigt wurden<br />

■ Verzeichnis: Nur einzelne Datenänderung ist atomar, Änderungen<br />

werden jedoch sequentiell abgearbeitet<br />

● Zugriff auf Daten<br />

■ Datenbank: Optimiert für Lese- <strong>und</strong> Schreib-Operationen<br />

■ Verzeichnis: Daten sind statisch, Lese-Operation überwiegt (1:1000)<br />

♦ Daher: Ist Schreib-Operation häufiger, empfiehlt sich Datenbank<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-11


Virtuelle Verzeichnisse<br />

● Zentrale Anlaufstelle für Requests im Unternehmen<br />

■ Weiterleitung der Anfragen an jeweiliges Quellsystem<br />

● Transparent für den Client<br />

■ Client stellt Anfrage an virtuelles Verzeichnis<br />

■ Virtuelles Verzeichnis leitet Anfrage weiter <strong>und</strong> antwortet dem Client<br />

■ Einbindung anderer Technologien möglich<br />

♦ Relationalen Datenbanken oder Web Services als Datenquelle<br />

● Quell-Verzeichnisse können autonom verwaltet bleiben<br />

■ Dezentrale Verwaltung ist politisch oft gewollt<br />

● Nachteil: Geschwindigkeit<br />

■ Jede Anfrage muss weitergeleitet werden<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-12


3.1 Domain Name System (DNS)<br />

● Nummern sind schwieriger zu merken als Wörter<br />

■ Vanity-Number: „CALL-TOM“ besser als „2355-866“<br />

■ Internet: „www.heise.de“ besser als 193.99.144.85<br />

♦ Hierarchische Information in bkits-demo.cit.tu-berlin.de<br />

● Unix: Ansprechen eines Rechners über seinen Namen<br />

■ Jedoch: Mapping auf IP-Adresse notwendig<br />

● Bis 1985: /etc/hosts<br />

■ Zentrale Stelle im Internet pflegte die hosts-Datei<br />

♦ Datei existiert bis heute, wird aber nur für lokale Knoten genutzt<br />

■ Jedes System zog täglich ein Update per FTP<br />

■ Probleme: Skalierbarkeit, Aktualität<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-13


● Applikation kontaktiert den<br />

Name Server über einen sog.<br />

Resolver<br />

■ Läuft auf dem gleichen System<br />

● Resolver fragt Name Server<br />

■ Anfrage nach IP-Adresse für den<br />

von Applikation übermittelten Host-<br />

Namen<br />

● Name Server antwortet mit IP-<br />

Adresse, die der Resolver an<br />

die Applikation weiter reicht<br />

15.10.2011<br />

■ Auch Reverse-Lookup möglich,<br />

also Anfrage „IP nach Name“<br />

Neuer Ansatz:<br />

Der Name Server<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

www.heise.de<br />

App Resolver<br />

193.99.144.85<br />

Lokales System<br />

Entferntes System<br />

193.99.144.85<br />

Name<br />

Server<br />

www.heise.de<br />

3-14


Eigenschaften von DNS<br />

● Hierarchischer Aufbau, genannt Domain Namespace<br />

● Eine Partei kann Kontrolle über einen Teilbaum erhalten<br />

■ Autonomes Einfügen zusätzlicher Schichten innerhalb d. Teilbaums<br />

■ Z.B. bkits.cit.tu-berlin.de<br />

● Knotennamen sind von tatsächlichem Ort unabhängig<br />

■ Rechner bkits.cit.tu-berlin.de muss nicht in Berlin stehen<br />

● Üblich: DNS-Einträge folgen IP-Bereichen<br />

■ Alle IP-Adressen in 130.149/24 gehören tu-berlin.de<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-15


● Aufbau von DNS ist streng<br />

hierarchisch<br />

■ Baumstruktur<br />

■ Jeder Knoten ist DNS-Name<br />

♦ FQDN: Fully Qualified<br />

Domain Name<br />

■ Durch Knoten aufgespannter<br />

Teilbaum heisst Domäne<br />

● Länder-Domänen als<br />

Kinder an Wurzel<br />

■ verwaltet durch ICANN<br />

● NICs verwalten TLDs<br />

● Delegation im Teilbaum<br />

15.10.2011<br />

Hierarchischer Aufbau<br />

TLD<br />

Verwaltet<br />

durch TUB<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

root<br />

com org de eu<br />

bkits.cit.tu-berlin.de<br />

tu-berlin.de<br />

cit.tu-berlin.de<br />

Verwaltet<br />

durch C<strong>IT</strong><br />

3-16


Hierarchie von<br />

Name Servern<br />

● Auch die DNS Auflösung ist streng<br />

hierarchisch gegliedert<br />

● Jeder Server ist verantwortlich für<br />

zusammenhängenden DNS-Bereich<br />

■ Server ist „authoritative Server“<br />

■ Teilbaum wird „DNS Zone“ genannt<br />

■ Zone ist Teil des Teilbaums<br />

■ Zone ist Einheit der Delegation von<br />

Verantwortlichkeiten im DNS<br />

● Authoritative Server beantwortet<br />

DNS-Anfragen zu Knoten in seiner<br />

Zone<br />

15.10.2011<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

.de<br />

Server für<br />

.tu-berlin.de<br />

Server für<br />

cit.tu-berlin.de<br />

3-17


Root-Nameserver im DNS<br />

● Root-Nameserver kontrollieren Top Level Domains<br />

■ Neue TDLs müssen von diesen geroutet werden<br />

● 123 Server, viele davon jedoch geographisch gespiegelt<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-18


Hierarchische Namensauflösung<br />

● Applikation nutzt lokalen<br />

Resolver für DNS-Auflösung<br />

● Resolver wendet sich an den<br />

konfigurierten Nameserver<br />

■ Hier: TUB Nameserver<br />

● Nameserver prüft: „bin ich der<br />

authoritative NS für Anfrage?“<br />

15.10.2011<br />

■ Ja: Direkte Beantwortung<br />

■ Nein: Weiterleitung zu anderem<br />

NS, anschließend Weiterleitung<br />

der erhaltenen Antwort<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

www.heise.de<br />

Firefox Resolver<br />

193.99.144.85<br />

Lokales System<br />

193….85<br />

Name<br />

Server<br />

Nameserver TUB www.h..de<br />

Nameserver DE<br />

193….85 Name<br />

Server<br />

www.h..de<br />

3-19


● Resolver nutzt Nameserver<br />

■ Sendet Anfragen<br />

■ Erhält Antworten<br />

DNS Anfragetypen<br />

● Anfragetyp: hierarchisch<br />

■ Nameserver leitet Anfrage ggf. an andere Nameserver weiter<br />

● Anfragetyp: iterativ<br />

■ Nameserver antwortet Resolver ggf. mit Adresse eines anderen<br />

Nameservers<br />

■ Resolver kann sich dann selbst an diesen Nameserver wenden<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-20


● Lokaler Resolver stellt eine<br />

hierarchische Anfrage an den<br />

Name Server<br />

● Name Server kann Anfrage<br />

selbst nicht beantworten, startet<br />

daher an der Wurzel die<br />

Auflösung der Adresse<br />

■ Rekursives vorgehen, bis der<br />

„Authoritative Nameserver“ der<br />

angefragten Adresse erreicht ist<br />

● Rückgabe von IP an Resolver<br />

15.10.2011<br />

Hierarchische Anfragen<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Name<br />

Server<br />

Resolver<br />

1. Anfrage<br />

Adresse von TLD für .de<br />

2. Anfrage<br />

Adresse von TUB<br />

3. Anfrage<br />

Adr. von C<strong>IT</strong><br />

4. Anfrage<br />

IP von Host<br />

root<br />

.de<br />

.tu-ber-<br />

lin.de<br />

.cit.tu-<br />

berlin.<br />

de<br />

3-21


● Lokaler Resolver stellt eine<br />

iterative Anfrage an den Name<br />

Server<br />

● Name Server kann Anfrage<br />

nicht selbst beantworten <strong>und</strong><br />

antwortet mit Adresse des root<br />

Name Servers<br />

● Iterative Anfrage aller Name<br />

Server, bis „Authoritative NS“<br />

für Hostnamen erreicht ist<br />

15.10.2011<br />

Iterative Anfragen<br />

Anfrage nach bkits.cit.tu-berlin.de<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Name<br />

Server<br />

Adresse des root Name Servers<br />

Resolver<br />

1. Anfrage<br />

2. Anfrage<br />

3. Anfrage<br />

4. Anfrage<br />

IP von Host<br />

root<br />

Adresse von TLD<br />

für .de<br />

.de<br />

Adresse von TUB<br />

Adr. von C<strong>IT</strong><br />

.tu-ber-<br />

lin.de<br />

.cit.tu-<br />

berlin.<br />

de<br />

3-22


Caching von<br />

DNS Anfragen<br />

● Hierarchische Anfragen sind Standard<br />

■ Server leitet ggf. Anfrage weiter<br />

■ Server antwortet mit IP<br />

● Hohe Anfragelast, speziell am root Knoten<br />

■ Muss Adressen der TLD Name Server bekannt geben<br />

● Caching im Name Server hilft Last zu senken<br />

■ Name Server merkt sich Antworten zu Anfragen<br />

■ Bei neuer Anfrage wird ohne Rückfrage direkt geantwortet<br />

♦ Antwort ist als „non authoritative“ gekennzeichnet<br />

■ Timeout für Gültigkeit gecachter Antworten, dann neue Anfrage<br />

■ Problem: Caching verzögert die Propagierung neuer Werte<br />

♦ Beispiel: IP-Adresse eines Hosts kann sich ändern<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-23


DNS Resource Records<br />

● Häufigste Nutzung von DNS:<br />

Auflösung von Hostname in IP-Adresse<br />

● Aber auch andere Nutzungen<br />

■ Welchen Nameserver muss ich kontaktieren?<br />

■ An welchen Mailserver kann ich per SMTP EMail ausliefern?<br />

● Zahlreiche DNS „Resource Record“ Typen<br />

■ A = Host Address<br />

■ NS = Authoritative Name Server<br />

■ MX = Mail Exchanger Record<br />

■ RP = Responsible person<br />

■ …<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-24


Abfrage von DNS (1/3)<br />

● Üblich: Auflösung von Hostnamen durch Applikation<br />

● Auch manuelle Name Server Anfragen möglich<br />

■ Beispielsweise mit dem Tool nslookup<br />

● Beispiel: Ausgabe des MX-Records des NDR:<br />

maho@cheers:~$ nslookup -type=mx ndr.de<br />

Server: 145.253.2.11<br />

Address: 145.253.2.11#53<br />

Non-authoritative answer:<br />

ndr.de mail exchanger = 200 fallback.mail.de.uu.net.<br />

ndr.de mail exchanger = 50 mail.ndr.de.<br />

ndr.de mail exchanger = 100 mail1.ndr.de.<br />

● Bemerke: Antwort ist „non-authoritative“<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-25


Abfrage von DNS (2/3)<br />

● Ermittlung des authoritative Name Servers des NDR<br />

maho@cheers:~$ nslookup -type=ns ndr.de<br />

Server: 145.253.2.11<br />

Address: 145.253.2.11#53<br />

Non-authoritative answer:<br />

ndr.de nameserver = auth04.ns.de.uu.net.<br />

ndr.de nameserver = auth54.ns.de.uu.net.<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-26


Abfrage von DNS (3/3)<br />

● Erneute Anfrage nach MX-Record<br />

■ Diese Anfrage wird direkt an Name Server des NDR gerichtet<br />

maho@cheers:~$ nslookup -type=mx ndr.de auth04.ns.de.uu.net<br />

Server: auth04.ns.de.uu.net<br />

Address: 192.76.144.17#53<br />

ndr.de mail exchanger = 200 fallback.mail.de.uu.net.<br />

ndr.de mail exchanger = 50 mail.ndr.de.<br />

ndr.de mail exchanger = 100 mail1.ndr.de.<br />

maho@cheers:~$<br />

● Bemerke: Antwort ist diesmal authoritative<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-27


Gewichtete Antworten<br />

● Manche Records liefern mehrere gewichtete Antworten zu<br />

einer Anfrage<br />

■ Im Beispiel: 3 MX-Einträge für die Domäne ndr.de<br />

● Zweck: Ausfallschutz<br />

■ Zuerst: Kontaktiere Host mit kleinstem Gewicht<br />

■ Wenn Host nicht erreichbar: Kontaktiere nächsten Host<br />

■ usw.<br />

● Sinnvoll für MX-Records<br />

■ Mail kann zugestellt werden, auch wenn primärer Mailserver der<br />

Domäne vorübergehend nicht online ist<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-28


Sicherheitsaspekte<br />

● DNS ist sehr anfällig für Angriffe<br />

■ Kommunikation basiert auf UDP (verbindungslos)<br />

♦ Keine Überprüfung des Absenders<br />

♦ Absenderadresse der Antwort kann beliebig sein<br />

■ Keinerlei Signierung oder Verschlüsselung<br />

■ Einfach durchführbare Man-in-the-middle Attacken<br />

♦ Umleitung des Browsers auf präparierten Server<br />

♦ Relaying aller Mails über eigenen Mailserver<br />

● Beispiel: Aufruf von www.berliner-sparkasse.de<br />

■ Falsche DNS Antwort leitet auf falschen Webserver<br />

■ Bankk<strong>und</strong>e bemerkt lediglich Zertifikatsfehler oder fehlende<br />

Verschlüsselung der Verbindung<br />

♦ Normalnutzer bemerkt/versteht diese Probleme kaum<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-29


DNSsec<br />

● Handlungsbedarf wurde schon 1997 erkannt<br />

■ Definition: Domain Name System Security Extensions (DNSsec)<br />

■ Standardisiert in RFC 4034<br />

■ Problem: Protokoll mit viel Kommunikation<br />

♦ Nur anwendbar in kleinen Netzen<br />

● Überarbeitete Version: DNSsec-bis<br />

■ Standardisiert: 2005<br />

■ Idee: Signatur der Antwortpakete<br />

♦ Anbieter signiert DNS-Aussagen zu seiner Zone<br />

■ Antwort erhält DNS-Information, Signatur <strong>und</strong> Zertifikat<br />

♦ Übertragung der Informationen als zusätzl. Resource Records<br />

♦ Empfänger kann Gültigkeit der Antwort überprüfen<br />

■ Wichtig: Vollständig abwärtskompatibel zu herkömmlichem DNS<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S 3-30


Überprüfung der Signatur<br />

1. Überprüfung des KEY Records<br />

■ KEY Record des Unterzeichners des SIG Records anfragen<br />

2. Überprüfung des SIG Records<br />

■ SIG Record anfragen, der zum KEY-Record aus Schritt 1 gehört<br />

3. Berechnung des MD5 Hashes aus Schritt 1<br />

4. Ermittlung der Signatur aus Schritt 2<br />

5. Wenn beide Werte überein stimmen, wird Antwort akzept.<br />

● Wichtig: Es werden keine Teilnehmer authentifiziert,<br />

sondern nur die Gültigkeit von Antworten überprüft<br />

■ Authentifizierung erfolgt über Chain of Trust<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-31


● Möglichkeit 1: Symmetrisch<br />

■ Offensichtlich unpraktikabel<br />

● Möglichkeit 2: Asymmetrisch<br />

Verschlüsselung/Signierung<br />

in DNSsec<br />

■ Aufbau einer Chain of Trust<br />

♦ Zentrale Instanz: ICANN<br />

♦ Zertifizierung nationaler Stellen (DeNIC)<br />

♦ Zertifizierung der jeweiligen Domänen-Inhaber<br />

■ Öffentlicher Key kann in DNS-Anfragen mitgeteilt werden<br />

■ Privater Schlüssel muss sicher verwahrt werden<br />

♦ ICANN: Nur 7 Personen mit Zugang zu Signier-Hardware,<br />

5 Personen müssen bei Erzeugung des Keys anwesend sein<br />

♦ SE-NIC: Geschützter Rechner holt alle 2 St<strong>und</strong>en zentrale<br />

Hostliste, signiert diese <strong>und</strong> spielt sie danach zurück<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S 3-32


Sicherheit vs. Aufwand<br />

● Sicherheit hängt von Länge des Schlüssels ab<br />

■ Langer Schlüssel (z.B. 2048bit)<br />

♦ + : Sicher<br />

♦ - : Zu hoher Rechenaufwand für DNS-Server ► unpraktikabel<br />

■ Kurzer Schlüssel (z.B. 512bit)<br />

♦ + : Geringer Rechenaufwand<br />

♦ - : Unsicher gegen Angriffe ► Kein Vorteil mehr durch DNSsec<br />

● Idee: kurze Schlüssel <strong>und</strong> kurze Gültigkeit der Zertifikate<br />

■ + : Erfolgreicher Angriff hätte geringere Auswirkungen<br />

♦ Geknackter Schlüssel verliert nach kurzer Zeit seine Gültigkeit<br />

■ - : Verlagerung des hohen Aufwands vom DNS-Server<br />

in die Zertifizierungsstelle ► unpraktikabel<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S 3-33


Teilung der Schlüssel:<br />

KSK - ZSK<br />

● Lösung: Nutzung unterschiedlicher Arten Schlüssel<br />

● Typ 1: Key Signing Key (KSK)<br />

■ Langer (<strong>und</strong> sicherer) Schlüssel mit langer Lebenszeit<br />

● Typ 2: Zone Signing Key (ZSK)<br />

■ Kurze (<strong>und</strong> potentiell unsichere) Schlüssel mit kurzer Lebenszeit<br />

● Einbettung in die Chain of Trust<br />

■ Zentrale Stelle signiert KSK des Providers<br />

♦ Authentizität des KSK kann geprüft werden<br />

■ Provider signiert ZSK mit eigenem KSK<br />

♦ Auch die Authentizität des ZSK kann geprüft werden<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S 3-34


Wechsel des<br />

Zone Signing Keys<br />

● Üblich: Mehr als ein ZSK pro Provider<br />

■ Überlappende Zeiträume für Gültigkeit<br />

♦ Wichtig für Timeout-Problematik gecachter Anfragen<br />

bei einem Wechsel des ZSK<br />

ZSK 1<br />

ZSK 2<br />

ZSK 3<br />

● Doppelte Signatur während Übergangszeit<br />

■ Nameserver cachen Antwort mit neuem <strong>und</strong> altem ZSK<br />

Zeit<br />

■ Solang alter ZSK gültig, werden beide Antworten aus Cache akzept.<br />

■ Nach Ablauf der Gültigkeit von ZSKn wird Antwort ZSK(n+1) akzept.<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S 3-35


3.2 Network Information System<br />

(NIS)<br />

● Sun Microsystems: Network File System<br />

■ Bereitstellung von Dateien in einem Netzwerk<br />

■ Problem: User-IDs, Gruppen-IDs, Passwörter, …<br />

● Informationsdienst von Sun: „Yellow Pages“ (YP)<br />

■ Bereitstellung von Netzwerk-Informationen, Verteilung im Netz<br />

■ Synchronisation in einer großen Menge von Rechnern möglich<br />

● Umbenennung in „Network Information Service“ (NIS)<br />

■ British Telecom ist in UK Eigentümer des Begriffs „Yellow Pages“<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-36


Komponenten von NIS<br />

● Master-Server<br />

■ Hält die Master-Kopie der NIS-Datenbank<br />

■ Änderung der NIS-Daten nur hier möglich<br />

■ Nur ein Master-Server pro Domäne<br />

● Slave-Server<br />

■ Hält eine Kopie der NIS-Datenbank<br />

♦ Master übermittelt die Daten<br />

■ Kopie ist R/O, keine Änderungen möglich<br />

■ Mehrere Slave-Server pro Domäne möglich<br />

♦ Optimal: Verteilung über das Netzwerk<br />

● Client<br />

15.10.2011<br />

■ Fragt im Netz nach NIS Informationen<br />

■ Keine Speicherung von NIS-Daten<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Slave<br />

Server<br />

Client<br />

Master<br />

Server<br />

Client<br />

Client<br />

Slave<br />

Server<br />

Client<br />

3-37


NIS Maps<br />

● Idee von NIS: Synchronisation von Daten im Netz<br />

■ Viele Daten stehen in Unix-Systemen unter „/etc“<br />

♦ Beispiel: passwd, groups, services, rpc, …<br />

● Eine NIS Map repräsentiert eine dieser Dateien<br />

■ NIS Map ist eine Sammlung von Schlüsseln <strong>und</strong> Werten<br />

● Zugriff auf NIS Map<br />

■ Jede NIS Map hat einen eigenen Namen<br />

■ Client nutzt bei Anfragen an NIS Map diesen Namen<br />

♦ Name der NIS Map muss im Netzwerk bekannt sein<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-38


NIS Domäne<br />

● Höchstes Element in NIS: Die Domäne<br />

■ Jede NIS Domäne hat einen eindeutigen Namen<br />

♦ Name wird für Anfragen an NIS Database benötigt<br />

■ NIS Domäne umfasst einen Satz von NIS Maps<br />

■ Eine NIS Domäne ist ein Namespace<br />

♦ Separation von Namespaces über verschiedene Domänen<br />

● Komponenten einer NIS Domäne<br />

■ Ein Master-Server<br />

■ Ein oder mehrere Slave-Server<br />

■ Beliebig viele Clients<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-39


● NIS hat zahlreiche Nachteile<br />

■ Datentransfer läuft unverschlüsselt<br />

NIS+<br />

■ Synchronisation der NIS-DB auf Slave-Server<br />

♦ Was passiert, wenn Slave-Server bei Update nicht vom Master-<br />

Server erreicht werden kann?<br />

■ Keine Hierarchien innerhalb der Domäne möglich<br />

■ Skalierbarkeit<br />

♦ Probleme bei der Administration sehr großer Domänen<br />

■ Austausch von Daten zwischen Domänen<br />

● Folge: Entwicklung von NIS+ als Nachfolger von NIS<br />

■ Komplette Neuentwicklung, kein einfaches Update<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-40


3.3 LDAP<br />

● Ursprung von Directories: X.500 Standard<br />

■ Entwickelt 1988 von int. Fernmeldeunion CC<strong>IT</strong>T<br />

■ Großer Funktionsumfang, mehrere Kommunikationsprotokolle<br />

■ Problem: X.500 war sehr schwierig umzusetzen<br />

♦ Hohe Anforderungen an die Client-Implementierung<br />

■ Üblich: Für jeden X.500 Server gab es einen passenden Client<br />

♦ Widerspruch zur Idee eines Standards<br />

● Konsequenz: Lightweight Directory Access Protocol (LDAP)<br />

■ Entwickelt 1995 (RFC1777)<br />

■ Einfaches Kommunikationsmuster zwischen Client <strong>und</strong> Server<br />

♦ Leicht zu implementieren, Interoperabilitiät<br />

■ Schon wenige Kommandos reichen zur Erfüllung der Aufgaben eines<br />

Directories aus<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-41


Operationen von LDAP (1/2)<br />

● Bind<br />

■ Initiierung einer Client/Server Verbindung<br />

■ Authentisierung<br />

● Search<br />

■ Start einer Suche durch den Client<br />

● Modify<br />

■ Änderung eines Objekts im Directory durch den Client<br />

● Add/Delete<br />

■ Löschen bzw. Hinzufügen von Einträgen durch den Client<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-42


Operationen von LDAP (2/2)<br />

● Modify RDN<br />

■ Änderung des letzten Teils des Namens eines Eintrags<br />

durch den Client<br />

● Compare<br />

■ Vergleich eines Wertes gegen das Directory<br />

● Adandon<br />

■ Bricht eine Operation des Directories ab, die auf Gr<strong>und</strong> einer<br />

Anfrage des Clients durchgeführt wurde<br />

● Unbind<br />

■ Abbau der Verbindung zwischen Client <strong>und</strong> Server<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-43


DSML:<br />

Directory Service Markup Language<br />

● DSML v1 (1999)<br />

■ Einziges Ziel: Darstellung von Directory Information als XML<br />

● DSML v2 (seit 2001)<br />

■ Ziel: Nicht nur Darstellung, sondern auch Interaktion mit Directory<br />

♦ Ermöglicht die Arbeit mit Directory ohne LDAP-Client<br />

● DSML v2 kennt zwei Dokumenttypen<br />

■ Anfrage-Dokumente (request)<br />

■ Antwort-Dokumente (response)<br />

■ Jeder Anfrage steht eine Antwort gegenüber<br />

■ Optional: Gruppierung von Request/Response in einem Batch Req.<br />

■ Transport der Dokumente über SMTP oder SOAP<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-44


Beispiel: modifyRequest<br />

Änderung der Mobilfunk-Nummer<br />

<br />

<br />

<br />

0171 7397499<br />

0171 9182000<br />

<br />

…<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-45


Beispiel: addRequest<br />

Anlegen eines neuen Mitarbeiters<br />

<br />

top<br />

person<br />

organizationPerson<br />

Meier<br />

Ulf<br />

Leiter <strong>IT</strong><br />

<br />

<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-46


Beispiel: batchResponse<br />

Antwort auf vorherigen Request<br />

< batchResponse xmlns=„urn:oasis:names:tc:DSML:2:0:core“><br />

<br />

<br />

Person nicht gef<strong>und</strong>en<br />

<br />

<br />

<br />

Completed<br />

<br />

<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

2-47


LDAP <strong>und</strong> Resolver<br />

● Resolver schon von DNS bekannt<br />

■ Aufgabe dort: Auflösung von Hostnamen in IP-Adressen<br />

■ Hier: Auflösen von Usernamen/Gruppen in User-IDs/Group-IDs<br />

● Authentisierung des Benutzers<br />

■ Erfolgt aus leicht nachvollziehbaren Gründen nicht über Resolver<br />

15.10.2011<br />

Files<br />

NIS<br />

DB<br />

LDAP<br />

Resolver ApplicaMon<br />

■ Authentisierung über Plugable Authentication Module (PAM)<br />

♦ SSHD verbindet sich über PAM mit LDAP<br />

♦ Unterstützung auch durch Apache: libapache-auth-ldap<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-48


~ $ cat /etc/nsswitch.conf<br />

passwd: files ldap<br />

#passwd: db nis nisplus<br />

shadow: files ldap<br />

group: files ldap<br />

hosts: files dns<br />

networks: files dns<br />

services: db files<br />

protocols: db files<br />

rpc: db files<br />

ethers: db files<br />

netmasks: files<br />

netgroup: files<br />

bootparams: files<br />

automount: files<br />

aliases: files<br />

Konfiguration des Resolvers<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-49


3.4 Exkurs Sicherheit:<br />

Authentifizierungsprotokoll von<br />

Needham <strong>und</strong> Schroeder<br />

● Gr<strong>und</strong>lage für viele Sicherheitstechniken, u.a. Kerberos<br />

■ Authentifizierung zwischen Clients <strong>und</strong> Servern in Intranets von einer<br />

einzigen Verwaltungsdomäne<br />

■ Authentifizierung <strong>und</strong> Schlüsselverteilung basierend auf einem<br />

Authentifizerungsserver<br />

● Aufgaben des Authentifizerungsservers (AS)<br />

■ Bereitstellung einer sicheren Methode zur Erzeugung von<br />

gemeinsamen Schlüsseln<br />

■ Verteilung von geheimen Schlüsseln an Clients<br />

● AS verwaltet eine Tabelle mit Namen <strong>und</strong> geheimen Schlüsseln für<br />

jeden in der Verwaltungsdomäne bekannten Prinzipal<br />

■ Der Schlüssel dient der Identifikation des Clients beim AS <strong>und</strong> der<br />

sicheren Kommunikation zwischen AS <strong>und</strong> Client<br />

■ Der Schlüssel wird nie Dritten offen gelegt <strong>und</strong> wird höchstens einmal<br />

– bei der Erzeugung – übers Netz übertragen<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-50


N-S-Authentifizierungsprotokoll mit<br />

geheimen Schlüsseln: Szenario<br />

● Protokoll basiert auf Erstellen <strong>und</strong> Übertragen von Tickets durch AS<br />

● Ticket: Verschlüsselte Nachricht mit geheimem Schlüssel für AB<br />

Header Message Notes<br />

1. A à� AS: A, B, N A A requests AS to supply a key for communication<br />

with B.<br />

2. ASà�A: {N A , B, K AB ,<br />

3. Aà�B:<br />

4. Bà�A:<br />

5. Aà�B:<br />

{K AB , A}KB }KA<br />

{K AB , A}KB<br />

{N B }KAB<br />

{N B - 1}KAB<br />

AS returns a message encrypted in A’s secret key,<br />

containing a newly generated key K AB and a<br />

‘ticket’ encrypted in B’s secret key. The nonce N A<br />

demonstrates that the message was sent in response<br />

to the preceding one. A believes that AS sent the<br />

message because only AS knows A’s secret key.<br />

A sends the ‘ticket’ to B.<br />

B decrypts the ticket and uses the new key K AB to<br />

encrypt another nonce N B .<br />

A demonstrates to B that it was the sender of the<br />

previous message by returning an agreed<br />

transformation of N B .<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-51


N-S-Authentifizierungsprotokoll mit<br />

geheimen Schlüsseln (2)<br />

● N A , N B Einmalstempel zum Beweis der Aktualität einer Nachricht<br />

● Schwäche des Protokolls<br />

■ B hat keinen Gr<strong>und</strong> zu glauben, dass die Nachricht Nummer 3 aktuell<br />

ist. Falls es ein Angreifer schafft, den Schlüssel K AB zu erhalten <strong>und</strong><br />

eine Kopie des Tickets {K AB , A}KB anzulegen, kann sich später als A<br />

ausgeben<br />

■ Lösung durch Hinzufügen von Einmalstempeln oder Zeitstempeln<br />

{K AB , A, t}KB mit einer Ablauffrist<br />

⇒ B entschlüsselt die Nachricht <strong>und</strong> überprüft, ob t aktuell ist<br />

⇒ Realisierung in Kerberos<br />

● Wurde das Protokoll erfolgreich ausgeführt, so können sowohl A als<br />

auch B sicher sein, dass alle in K AB verschlüsselten <strong>und</strong> empfangenen<br />

Nachrichten von dem jeweiligen Partner stammten <strong>und</strong> nur von A,B<br />

<strong>und</strong> AS (vertrauenswürdig) verstanden werden<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-52


3.5 Exkurs Sicherheit:<br />

Kerberos<br />

● Entwicklung der M<strong>IT</strong> für Authentifizierung <strong>und</strong> Sicherheit in Intranets,<br />

Version 5 gehört zum Internetstandard<br />

■ Voraussetzungen bei Entwicklung<br />

♦ Universitätsnetzwerk mit 5000 Benutzern<br />

♦ Unsicheres Netzwerk, in dem jeder lauschen kann<br />

♦ Gut gewählte Passwörter vorhanden<br />

● Aufgabe von Kerberos: Authentifizierung von Prinzipalen<br />

■ Prinzipal = allgemeine Bezeichnung für Benutzer, Services, …<br />

■ Server verlangen bei jedem Zugriff (Dateizugriff bei NFS/AFS,<br />

Mailversand, Anmeldungen, Druckerdienste, …) ein Ticket vom Client<br />

■ Passwörter sind Benutzern <strong>und</strong> dem Kerberos-Authentifizierungsdienst<br />

bekannt<br />

■ Dienste haben geheime Schlüssel, die nur Kerberos <strong>und</strong> den Dienst<br />

bereitstellenden Servern bekannt sind<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-53


Anmeldung mit Kerberos<br />

● Meldet sich ein Benutzer an einer Workstation an, sendet das<br />

Anmeldeprogramm den Benutzernamen an den Kerberos-<br />

Authentifizierungsdienst<br />

● Ist der Benutzer dem Authentifizierungsdienst bekannt, kommt eine<br />

Antwort mit<br />

■ Sitzungsschlüssel mit Einmalstempel, verschlüsselt mit dem Passwort<br />

des Benutzers<br />

■ Ticket für Ticketverteilungsdienst (Ticket-Granting Service, TGS)<br />

● Anmeldeprogramm versucht mittels des aktuell eingegebenen<br />

Passworts, den Inhalt der Antwort zu entschlüsseln<br />

● Bei Erfolg ⇒ Überprüfung des Einmalstempels <strong>und</strong> ggf. Speicherung<br />

des Sitzungsschlüssels mit dem Ticket für weitere Kommunikation mit<br />

dem Ticketverteilungsdienst TGS<br />

● Jetzt wird die temporäre Kopie des Passworts gelöscht <strong>und</strong> der<br />

Anmeldevorgang beendet ⇒ Passwörter werden niemals übers Netz<br />

übertragen<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-54


Zugriff auf andere Server<br />

● Bei jedem Zugriff/Dienstanforderung verlangt der betroffene Server<br />

ein Ticket vom Client<br />

■ Das Clientprogramm fordert ein Ticket für den entsprechenden Server<br />

beim Ticketverteilungsdienst TGS an<br />

■ Das erworbene Ticket wird zusammen mit einer neuen<br />

Authentifizierung verschlüsselt mit dem geheimen Schlüssel dieses<br />

Dienstes an den Serverdienst gesendet<br />

■ Serverdienst entschlüsselt das Ticket, überprüft die Haltbarkeitsdauer<br />

(Ticket abgelaufen?) <strong>und</strong> extrahiert einen Sitzungsschlüssel<br />

■ Der Sitzungsschlüssel wird zur Entschlüsselung der Authentifizierung<br />

eingesetzt ⇒ Server überprüft, ob der Schlüssel bislang unbenutzt ist<br />

■ Login/Passwort des Benutzers zur Anmeldung nicht mehr notwendig<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-55


Kerberos Sicherheitsobjekte<br />

● Kerberos arbeitet mit 3 Arten von Sicherheitsobjekten<br />

1. Ticket: Token, das vom Dienst TGS an Clients ausgegeben wird<br />

♦ Präsentation an Server als Beweis, dass Client durch Kerberos<br />

authentifiziert wurde<br />

♦ Beinhaltet Sitzungsschlüssel <strong>und</strong> Ablaufdatum<br />

2. Authentifizierung: Einmaltoken, das vom Client erzeugt wird<br />

♦ Beweist Identität des Benutzers <strong>und</strong> Aktualität der Kommunikation<br />

♦ Verschlüsselter (Mit Sitzungsschlüssel) Clientname <strong>und</strong> Zeitstempel<br />

3. Sitzungsschlüssel: Geheimer Schlüssel, der von Kerberos nach dem<br />

Zufallsprinzip erzeugt wird<br />

♦ Wird zur Kommunikation mit einem bestimmten Server benutzt<br />

● Clients müssen für jeden Server ein Ticket <strong>und</strong> einen<br />

Sitzungsschlüssel besitzen, welche die Lebensdauer von einigen<br />

St<strong>und</strong>en haben<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-56


Step A<br />

1. Request for<br />

TGS ticket<br />

2. TGS<br />

ticket<br />

Kerberos-Architektur<br />

Kerberos Key Distribution Centre (KDC)<br />

Authen-<br />

tication<br />

service A<br />

Authentication<br />

database<br />

Ticket-<br />

granting<br />

service T<br />

Step B<br />

3. Request for<br />

server ticket<br />

Login<br />

4. Server ticket Step C<br />

session setup<br />

5. Service<br />

Server<br />

request<br />

Client session setup<br />

Service<br />

Server<br />

C Request encrypted with session key<br />

function<br />

S<br />

DoOperation<br />

Reply encrypted with session key<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-57


● Verzeichnisdienst von Microsoft<br />

■ Erste Version im Jahr 2000<br />

■ Standard seit Exchange 2000<br />

● Vier Hauptkomponenten<br />

■ LDAP-Server<br />

■ DNS-Server<br />

■ Kerberos<br />

3.5 Active Directory (AD)<br />

■ Common Internet File System (CIFS) Protokoll<br />

♦ Erweiterung des Server Message Block (S<strong>MB</strong>) Protokolls<br />

○ Datei-/Druckerfreigabe, Windows-RPC, NT-Domänendienst<br />

● Eigenschaften von AD ergeben sich wesentlich aus den<br />

Eigenschaften der vier Hauptkomponenten<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-58


Entwicklungsstufe 1:<br />

Host-Systeme<br />

● Zentraler leistungsstarker Server als zentrales Element<br />

■ Direkter Anschluss von Datenbanken <strong>und</strong> teurer Hardware<br />

■ Zugriff von leistungsschwachen Terminals<br />

♦ Terminals im Wesentlichen nur Geräte zur Anzeige<br />

● Mainframe als zentrale Instanz der Infrastruktur<br />

■ Terminals haben selbst keine Intelligenz<br />

15.10.2011<br />

Terminals<br />

■ Zentraler Server übernimmt Authentisierung der Benutzer<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

DB<br />

3-59


Entwicklungsstufe 2:<br />

Arbeitsgruppen<br />

● Arbeitsgruppe: Gruppe von Rechnern unter einem Namen<br />

■ Start 1992 mit „Windows 3.1.1 for Workgroups“<br />

■ Gr<strong>und</strong>satz:<br />

Alle Rechner dürfen alle Ressourcen gleichberechtigt nutzen<br />

♦ Keine weitere Abstufung von Rechten vorgesehen<br />

♦ Keine Zugriffsdatenbank<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-60


Entwicklungsstufe 3:<br />

Arbeitsgruppen NT<br />

● Arbeitsgruppen mit steuerbaren Freigaben<br />

■ Start 1993 mit „Windows NT 3.1“<br />

15.10.2011<br />

■ Jeder Rechner führt eigene Benutzerdatenbank<br />

♦ Benutzer melden sich an Arbeitsgruppe an<br />

♦ Password wird über das Netz zum Zielsystem übertragen<br />

♦ Zielsystem prüft Gültigkeit <strong>und</strong> erlaubt Zugriff<br />

■ Kein Domain-<br />

Controller!<br />

Problem:<br />

Synchronisation<br />

Host-Keys<br />

Sec.<br />

DB<br />

Sec.<br />

DB<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Problem:<br />

Synchronisation<br />

Username/Pass<br />

Sec.<br />

DB<br />

Sec.<br />

DB<br />

3-61


Entwicklungsstufe 4:<br />

Domänen<br />

● Kernidee: Zentrale Verwaltung<br />

■ Administrativer Stab wacht über Einstellungen<br />

■ Zentrale Verwaltung aller Benutzer, Rechner, Dienste, …<br />

■ Ganzheitliches Management mit nur einem Tool<br />

● Zentrale Komponente: Active Directory<br />

15.10.2011<br />

Administrator<br />

Serverdienste<br />

(Drucken, Files,<br />

Email, …)<br />

Domäne<br />

AD<br />

Benutzer bzw.<br />

Computer-<br />

Konten<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Gruppen-<br />

richtlinien<br />

Netzwerk<br />

3-62


Begriff: Domäne<br />

● Schon aus anderen Bereichen bekannt:<br />

■ DNS: Teil des Namensraums, unter einheitlicher Verwaltung<br />

■ LDAP: Namensraum mit einheitlichen Konventionen<br />

● Andere Bedeutung im Kontext von Microsoft<br />

■ Domäne = logische Gruppierung von Ressourcen, die zentrale<br />

Verzeichnisdatenbank nutzen<br />

■ Hier ist Verzeichnisdienst ist nur ein Teil der Domäne<br />

♦ Genutzt zur Speicherung von Informationen<br />

● Domäne nicht lokal begrenzt<br />

■ Verbindung der Ressourcen einer Domäne über beliebige Netze<br />

■ Verschlüsselung von Datenverbindungen<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-63


Vor- <strong>und</strong> Nachteile<br />

von Domänen<br />

● Vorteile<br />

■ Einheitliche <strong>und</strong> nachvollziehbare Verwaltung<br />

♦ Umgehung von Inkonsistenzen einer lokalen Konfiguration<br />

■ Realisierung eines netzwerkweiten „Single Sign On“<br />

■ Erhöhter Sicherheitslevel in einer Domäne<br />

♦ Einheitliche Vertrauenseinstellungen<br />

♦ Zentrale Koordination <strong>und</strong> Überwachung der Systeme<br />

● Nachteile<br />

■ Deutliche Erhöhung der Komplexität im Netzwerk<br />

♦ Anstieg des Administrationsaufwands<br />

♦ Intensive Schulung des administrativen Personals notwendig<br />

■ Eingeschränkte Interoperabilität mit Linux, MacOS X, …<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-64


Ebenen des Active Directory (1/4):<br />

Objekt<br />

● Kleinste Organisationseinheit<br />

■ Ein Mitarbeiter, ein Computer, ein Drucker, …<br />

■ Keine weitere Aufteilung des Objekts möglich<br />

● Objekte verfügen über Eigenschaften<br />

■ Eigenschaften werden als Attribute definiert<br />

♦ Name, Telefonnummer, Berechtigungen, …<br />

■ Spezifiziert durch den Objekt-Typ des Objekts<br />

● Kategorien<br />

■ Ressource: Drucker, Server, Computer, …<br />

■ Dienst: Email, …<br />

■ Konto: Benutzerkonto, Gruppenkonto, Computerkonto, …<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-65


Ebenen des Active Directory (2/4):<br />

Organisationseinheit (OU)<br />

● Erlaubt die hierarchische Strukturierung<br />

■ OU ist sowohl Container für Objekte als auch für andere OUs<br />

♦ Strukturierung in Ober-OUs <strong>und</strong> Unter-OUs<br />

■ Container vererbt seine Eigenschaften<br />

● Möglichkeiten der Strukturierung<br />

■ Logisch: Nach Struktur der Organisation<br />

■ Physikalisch: Nach Netzen, Systemen, Orten, …<br />

● Einheitliche Zuweisung von Gruppen-Richtlinien<br />

■ Alle Objekte einer OU fallen unter die gleichen Regelsätze<br />

● Üblich: OU als kleinste Ebene der Administration<br />

■ Beispiel: <strong>IT</strong>-Verantwortlicher für Abteilung<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-66


Ebenen des Active Directory (3/4):<br />

Domäne <strong>und</strong> Bäume/Strukturen<br />

● Nächste Ebene in der Strukturierung: Domäne<br />

■ Name der Domäne folgt den Regeln des DNS<br />

■ Domänen umfassen größere Teile der Organisation<br />

● Domänen im Active Directory<br />

■ Ein Active Directory umfasst beliebig viele Domänen<br />

■ Domänencontroller regelt Zugriff auf Ressourcen in Domäne<br />

● Strukturen/Bäume (Trees) umfassen Domänen<br />

■ Beliebig viele Domänen je Tree<br />

■ Domänen stehen in transitiven Vertrauensverhältnis<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-67


Ebenen des Active Directory (4/4):<br />

Gesamtstruktur/Wald<br />

● Höchste Gliederungsebene: Gesamtstruktur/Wald (Forest)<br />

■ Umfasst sämtliche Elemente eines Active Directories<br />

15.10.2011<br />

■ Ein Wald verwaltet einen oder mehrere Bäume<br />

♦ Transitives Vertrauensverhältnis zwischen den Bäumen<br />

Matthias Hovestadt - BK<strong>IT</strong>S<br />

Service<br />

Europa<br />

Office<br />

Berlin<br />

Service<br />

weltweit<br />

Service<br />

Asien<br />

Office<br />

Paris<br />

Service<br />

Amerika<br />

3-68


Domänen-Controller (1/2)<br />

NT4-Mode: PDC/BDC<br />

● Einführung des Konzepts Domänen-Controller in Win NT<br />

■ Primary Domain Controller (PDC): Hält Master-Kopie der Datenbank<br />

■ Backup Domain Controller (BDC): Hält lediglich Read-Only Kopie<br />

♦ Schreibvorgang auf Datenbank erfordert Zugriff auf PDC<br />

♦ Bei Ausfall von PDC: Auswahl eines BDC zum neuen PDC<br />

● Verfahren: Master-Replikation<br />

■ Datenbank wird immer vom PDC auf die BDCs repliziert<br />

● Hauptproblem: Skalierbarkeit<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-69


Domänen-Controller (2/2)<br />

Native Mode: DC<br />

● Umstieg auf Peer-Modell in Windows 2000<br />

■ Alle DCs eines Forest sind gleichberechtigt<br />

■ Datenbank kann auf jedem DC verändert werden<br />

♦ Änderungen werden über Replikation verteilt<br />

● Verfahren: Multi-Master-Replikation<br />

■ Gleichberechtigte Replikation zwischen DCs<br />

■ DCs geben Änderungen untereinander weiter, maximal drei Hops<br />

♦ Standard-Intervall in Windows 2003: 15 Sek<br />

♦ Verteilung der Information in der Domäne: 45 Sek<br />

■ Verfahren zur Behandlung von Replikationskonflikten<br />

● Native-Mode Domain vs. Mixed-Mode Domain<br />

■ Mixed-Mode Domain enthält alte NT4-PDCs, nur Master-Repl. Mögl.<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-70


Vertrauensverhältnisse<br />

im Native-Mode<br />

● One-Way Trust vs. Two-Way Trust<br />

■ Domain räumt Mitgliedern der anderen Domain Zugriff ein<br />

■ Domain selbst erhält keinen (bzw. ebenfalls) Zugriff<br />

● Trusting Domain vs. Trusted Domain<br />

■ Domäne, die Zugriff einräumt, bzw. eingeräumt bekommt<br />

● Transitive Trust vs. Intransitive Trust<br />

■ Vertrauensverhältnis überträgt sich (nicht) zwischen Domänen<br />

♦ Transitiv: A vertraut B, B vertraut C, also vertraut A auch C<br />

● Explicit Trust: Explizit vom Administrator eingerichtet<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-71


Ausgewählte Dienste<br />

im Active Directory<br />

● Replikationsdienste<br />

■ Verteilung von Verzeichnisdaten zwischen Domain-Controllern<br />

● Remote-Installation<br />

■ Deployment mittels Clone-Verfahren<br />

■ Doployment mittels automatischer Installation<br />

♦ Gesteuert durch Scripte<br />

● <strong>Verteilte</strong>s Dateisystem<br />

■ Zusammensetzung verschiedener Freigabe zu einem (virt.) Ordner<br />

● Zertifikatsdienste <strong>und</strong> DNS<br />

■ Datenspeicherung im Active Directory<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-72


Integration von Unix-Systemen<br />

in ein Active Directory<br />

● Zugriff auf Verzeichnis-Dienst<br />

■ Active Directory bietet LDAP-Schnittstelle<br />

■ Jedoch: lediglich Datenabruf, keine Interpretation von Gruppen-<br />

Richtlinien, etc.<br />

● Nutzung von LDAP im Resolving<br />

■ Genormte Speicherung von Verzeichnisdaten<br />

■ Unterstützung durch Active Directory vorhanden (RFC2307)<br />

■ Einsatz von PAM Modulen mit Zugriff auf LDAP<br />

● Kommerzielle Produkte für Integration von Unix in AD<br />

■ Weitgehende Unterstützung der AD Mechanismen in Unix-Umfeld<br />

● Samba 4: Unterstützung von Native-Mode ADs<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-73


● Verzeichnisdienste<br />

Literatur<br />

■ Doug and Beth Sheresh: Understanding Directory Services,<br />

New Riders Publications, 2000<br />

● LDAP<br />

● DNS<br />

■ Dieter Klünter, Jochen Laser: LDAP verstehen, OpenLDAP<br />

einsetzen, dPunkt-Verlag, 2007<br />

■ Paul Albitz, Cricket Liu: DNS <strong>und</strong> Bind, O‘Reilly, 2002<br />

● Active Directory<br />

■ Alistar Lowe-Norris: Windows 2000 Active Directory,<br />

O‘Reilly Verlag, 2001<br />

15.10.2011 Matthias Hovestadt - BK<strong>IT</strong>S<br />

3-74

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!