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 ...
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