33
Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff Verzeichnis-Dienste Zugriff oft lesend, selten schreibend Verzeichnisbaum = Hierarchie Teilbereiche des Baums können auf verschiedene Server verteilt sein Delegierte Administration Suchen nur in interessanten Teilbäumen Beispiele sind DNS, LDAP, X.500

Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Embed Size (px)

Citation preview

Page 1: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Verzeichnis-Dienste

Zugriff oft lesend, selten schreibend

Verzeichnisbaum = Hierarchie

Teilbereiche des Baums können auf verschiedene Server verteilt sein

Delegierte Administration

Suchen nur in interessanten Teilbäumen

Beispiele sind DNS, LDAP, X.500

Page 2: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

RDBMS vs. Verzeichnis

Vorteile relationaler Datenbanksysteme:

Transaktionsfähigkeit,

Referentielle Integrität,

Mathematische Funktionen in SQL.

Vorteile von Verzeichnisdiensten:

Intuitive Bedienbarkeit, Suchen nach Gruppen.

Flexibles Objektmodell, d.h. je nach Teilbaum können spezifische Funktionen implementiert werden.

Page 3: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Domain Name System

Weltweit verteilter Verzeichnisdienst

Dient zur Übersetzung von Namen in IP-Adressen und umgekehrt

RFC's: 1034 updated by 1101, 1122, 1183, 1706, 1876, 1982, 2181, 2308 and 2535

Einführung z.B.: www.dns.net/dnsrd/docs/whatis.html

Page 4: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Komponenten des DNS

Internet-Protokolle für Anfragen und Datenübermittlung

Server für die Datenhaltung (name servers)

Die Daten selbst (resource records, RR)

Namensauflösung (A-Records)

Mail-Organisation (MX-Records)

Das Internet (bzw. Intranet)

Page 5: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Domain-Namens-Raum

Page 6: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Zonenaufteilung

Es gibt viele Milliarden von (möglichen) A-Records, d.h. Namen, die in IP-Adressen umgewandelt werden müssen.

Diese werden in „Zonen“ aufgeteilt, von denen ein name server jeweils nur eine oder wenige verwaltet.

Die resource records zu einer Zone werden in eine Zonendatei geschrieben.

Page 7: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

DNS Details

Es gibt mehrere root server, die teilweise an geheimen Orten stehen (Sicherheit, Redundanz)

Die Zweige des Baums werden jeweils von authorisierten Zonen-Servern verwaltet

Die Unterzonen werden von den in der Hierarchie darüber liegenden Zonen-Servern „delegiert“

Der .de name server delegiert also z.B. die DNS-Autorität (authority) für die Zone insel.de an den name server ns.insel.de

Ein absoluter Pfad im DNS heißt FQDN

Page 8: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Hierarchie der Server

Die name server bilden ein gigantisches verteiltes Datenbank-System

Für jede Zone muss es mindestens 2 autonome name server geben, die über separate Routen erreichbar sind

Die „Hoheit“ (authority) über die Zone haben die master name server

Page 9: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Arten von DNS-Servern

Ein primary master server besitzt die Originale der Zonen-Dateien und lädt diese beim Start in seinen „Arbeits-Speicher“.

Ein secondary master server erhält seine Zonen-RR's von einem primary master server über das Netz.

Diesen Vorgang nennt man zone transfer.

Ein secondary [...] server kann auch ein slave server sein (z.B. zum Caching).

Page 10: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Beispiel: Zonen-File

$TTL 86400

@ IN SOA ns.ailog.org. domainmaster.ailog.org. (2007112400 ; serial

86400 ; refresh (1 day) 3600 ; retry (1 hour) 2419200 ; expire (4 weeks) 86400 ; minimum (1 day) )

NS ns NS ns0.xtremeweb.de. ; xfr'd nethawk.xtremeweb.de NS ns3.xtremeweb.de. ; xfr'd

MX 10 mail.Insel.de. MX 20 mail.drb.insel.de.

localhost A 127.0.0.1ns A 192.109.16.71

loopback CNAME localhostinsel2 CNAME insel2.Insel.de.insel3 CNAME insel3.Insel.de.insela CNAME insela.Insel.de.www A 81.169.145.66

Page 11: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Client-Implementierungen

Anwendungen wie telnet oder ftp benutzen einen „resolver“, um DNS-Anfragen abzusetzen.

Unter linux ist dies einfach eine [shared] library, die weiss, wie man die Protokolle benutzt.

Eine besondere Intelligenz bei der Suche im weltweiten DNS-Baum besitzt sie aber nicht.

Page 12: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Suchen im Baum

Ein DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter.

Der Anfrager erhält einen Verweis auf den zuständigen name server der darunter liegenden Ebene und fragt diesen.

Das geht weiter, bis er die richtige Antwort bekommt.

Das Ganze heisst „name resolution“.

Page 13: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Ablauf Resolution

Page 14: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Forwarding und Caching

Als forwarder bezeichnet man einen name server, der von einem anderen name server dann gefragt wird, wenn dieser die Anfrage nicht beantworten kann.

name server merken sich die Antworten, die sie bekommen, auch für fremde Zonen (caching).

Einen ge-cache-ten Eintrag liefern sie als „non-authoritative answer“ zurück.

Page 15: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Gültigkeit von RR's

Resource Records haben ausserhalb der Server, die die zone authority besitzen, nur eine begrenzte Gültigkeitsdauer.

Diese wird als TTL (Time To Live) bezeichnet und in der Zonen-Datei des primary master servers definiert.

Der cache kann sabotiert werden („cache poisoning“), also ist hier Vorsicht geboten.

Page 16: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Sicherheit von DNSDNS ist die zentrale Resource des IN

DoS / DDoS Attacken sind sehr gefährlich für die gesamte Funktionalität des IN

RR's sollten nicht zu viele Informationen über die Zone nach aussen geben

Zonen-Transfers sollten nicht jedem Client erlaubt werden*

Zugang zum Cache eines DNS muss verhindert werden

*Was heisst das für unsere Muster-Firma? Wer muss was erlauben?

Page 17: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Aufgabe zu DNS

Benutzen Sie die Kommandos nslookup, dig und host unter linux.

Lesen Sie unter www.dns.net nach.

http://www.ripe.net/ripe/docs/ripe-192.html enthält eine Beispiel-Zonen-Datei, analysieren Sie sie sorgfältig.

Diskutieren Sie die Konfiguration des DNS unserer Musterfirma.

Page 18: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Lightweight Directory Access Protocol (ldap)

Hat sich als Zusatz zu X.500 entwickelt, weil dieses zu komplex zu implementieren und zu nutzen war.

TCP/IP <-> ISO/OSI Konvertierung entfällt.

Ein ldap-Server vermittelt z.B. zwischen einer X.500 Datenbasis und ldap-Clients

Oder ein ldap-Server nutzt Backends wie bdb, ldbm, SQL-Datenbanken.

RFCs zu ldapV3: RFC 2251 ... 2256

Page 19: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Struktur: Clients und Server

ldap-Server sind vergleichbar DNS-Servern

Komplexere Datenstrukturen

Verteilung aus 2 Gründen:

Replizierung (Sicherheit)

Performance (Lastverteilung)

Server-Konfiguration erfolgt z.B. im File [/usr/local]/etc/openldap/slapd.conf

Page 20: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Replikation ldap-Server

Page 21: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Komplexe Zugangs-Rechte<access directive> ::= access to <what> [by <who> <access>]

<what> ::= * | [dn=<regex>]

[filter=<ldapfilter>]

[attrs=<attrlist>]

<who> ::= * | self | dn=<regex> |

addr=<regex> |

domain=<regex> |

dnattr=<dn attribute>

<access> ::= [self]none | [self]compare |

[self]search | [self]read |

[self]write

Page 22: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

LDIF Datenformat (1)

LDAP Data Interchange Format

ASCII Dateien, die zum Erstellen der Struk-tur des Verzeichnisses notwendig sind

dc=de|

dc=natkomm/ \

ou=personen ou=geraete/ \ / \

uid=person1 uid=person2 uid=geraet1 uid=geraet2

Page 23: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

LDIF Datenformat (2)

Jeder Eintrag in der LDIF Datei muss eindeutig referenzierbar sein durch mindestens ein eineindeutiges Attribut

Dieses Attribut wird bezeichnet als Distinguished Name (DN), z.B.:

uid=person1, ou=personen, dc=natkomm, dc=de

Page 24: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

LDIF Datenformat (3)

Der DN des Wurzelobjektes setzt sich hier aus dem Organisationsnamen und dem Landescode zusammen

Zusätzlich zu anderen Objektklassen oder Schemata muss der Wurzeleintrag den Eintrag „objectclass: top“ besitzen

Außerdem muss mit der ersten Struktur auch ein admin Account angelegt werden

Die einzelnen Einträge sind mit einer Leerzeile voneinander getrennt

Page 25: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

LDIF Beispiel

#natkomm.ldifdn: dc=natkomm,dc=deobjectclass: dcObjectobjectclass: topobjectclass: countryc: dedc: natkomm  #Leerzeile zum Trennen der Einträgedn: cn=admin,dc=natkomm,dc=deobjectclass: personsn: Administratorcn: admin

dn: ou=personen,dc=natkomm,dc=deobjectclass: organizationou: personen

dn: cn=person1,ou=personen,dc=natcomm,dc=deobjectclass: personsn: Mustermanncn: person1

Page 26: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

LDIF: Schemata und Typen

Jeder Eintrag im Verzeichnis muss mindestens einer Schema- oder Objektklasse zugeordnet sein

Es gibt vordefinierte Objektklassen mit OpenLDAP:

core.schemaCosine.schemainetOrgPerson.schemajava.schema...

Sollten die bereitgestellten Schemadefinitionen nicht ausreichen, können eigene erstellt werden.

Diese können von vorhandenen Definitionen abgeleitet werden, Beantragung bei der IANA erforderlich füroffizielle Nutzung!

Page 27: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Beispiel Schema-Definition

objectclass ( 2.5.6.4 NAME 'organization'DESC 'RFC2256: an organization'

SUP top STRUCTURAL

MUST o

MAY ( userPassword $ searchGuide $ seeAlso $businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $postalCode $ postalAddress $ physicalDeliveryOfficeName$ st $ l $ description )

)

Page 28: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Füllen der ldap Datenbank

Befehlszeilen-Kommando (eine Zeile!):ldapadd -x-D cn=admin,dc=natkom,dc=de-W -f /var/lib/ldap/natkom.ldif

-x einfache Authentifizierung

-D Angabe des Bind DN ohne Blanks

-W Passwort abfragen

-f Angabe einer LDIF-Datei

Page 29: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Nutzung von ldap allgemein

Personen im Internet,

Mitarbeiter in Unternehmen,

Adressen von Standorten,

Adressen von Personen,

... alles was man in Verzeichnissen organisieren möchte.

Page 30: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Nutzung von ldap für SysOps

Benutzer- und Gruppen-Verwaltung,

IP-Dienste (vgl. /etc/services)

IP-Protokolle (vgl. /etc/protocols)

RPCs (remote procedure call, Portnummern zu Diensten zuordnen, vgl. /etc/rpc)

NIS-Informationen (Network Information System)

Boot-Informationen (bootp, arp)

Mountpoints für Dateisysteme (vgl. /etc/fstab)

Mail-Aliases

Page 31: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Konfigurations-Punkte

/etc/ldap.conf (wird von pam benutzt), hier muss die URI korrekt sein.

/etc/nsswitch.conf wird von den network information services benutzt.

/etc/openldap/slapd.conf konfiguriert den ldap Server (slapd).

/var/lib/ldap: Hier liegt die bdb-Datenbank.

/etc/init.d/ldap ist das Start/Stop-Skript.

Page 32: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Infos zu ldap im Netz

http://www.mitlinx.de/ldap/index.html

O'Reilly Archiv

http://www.kingsmountain.com/ldapRoadmap.shtml

Yolinux.com

Aufgabe: Tutorials durcharbeiten, ausprobieren

Page 33: Netzwerk-Management - Verzeichnis-Dienste (ldap, DNS) fileEin DNS, der für eine Anfrage nicht die authority besitzt, leitet sie an einen root server weiter. Der Anfrager erhält einen

Prof. Dr. Stefan Brunthaler, TH Wildau 2016ff

Ein ldap Server zum Üben

ntksrv3.tm.th-wildau.de

Port 389 (Standard)

Basis-DN: dc=tm,dc=th-wildau,dc=de

Als zentrale User-Verwaltung für Däll

Java-Client: http://jxplorer.org

Aufgabe: Anschauen, ggf. andere ldap Server suchen und Zugriff versuchen