Directory Server

Wie findet Information aus dem Internet auf meinen Computer? Wie unterscheidet ein Computer zwischen verschiedenen Benutzern? Wie findet eine Mail im Internet ihren Adressaten?

Die Antwort hierauf führt uns auf den Begriff der Directory Server.

Directory Server sind global gesprochen Nachschlagewerke für Computer. Vergleichbar mit Telefonbüchern oder Melderegistern bei der Gemeinde.

Es gibt verschiedene Arten von Directory Servern die aber alle eines gemeinsam haben ? den Schlüsselbegriff z.B. Namen und/oder Adresse. Nach dem Schlüsselbegriff kann man suchen und erhält die zugehörigen Daten. Teilweise geht das auch umgekehrt.

Die bekanntesten Directory Dienste sind der Domain Name Service (DNS) und das Lightweight Directory Access Protokoll (LDAP).

Domain Name Service (DNS)

Jeden Teil eines Namensraumes nennt man eine Zone. Eine Zone kann weiter unterteilt und die kleineren Teile an Unterbevollmächtigte delegiert werden. Mit jeder Zone oder Unterzone verbinden wir einen Namen, die Domain. Diese Domains werden in einer weltweit verteilten Datenbank verwaltet. Die Delegation der Zonen setzt sich in der technischen Umsetzung des Domain Name Systems 1:1 durch. Jeder Zonenverwalter betreibt einen Server, mit dem er den vom ihm verwalteten Teil zu dieser weltweiten Datenbank beiträgt.

Bei den Servern, die von den Zonenverwaltern betrieben werden, handelt es sich im Wesentlichen um Unix-Rechner, auf denen der Berkeley Internet Name Daemon, kurz BIND, läuft. BIND erfüllt zwei Aufgaben: Als authorative Name Server fügt er aktiv Informationen zu der weltweiten DNS Datenbank hinzu, als Caching Name Server fragt er als Client andere Name Server ab und speichert die von dort erhaltene Information lokal.

Die ursprüngliche Intention für die Erschaffung des Domain Name Systems war die Zuordnung von Rechner-Adressen zu Namen und Domains und umgekehrt Namen zu bekannten Rechner-Adressen zuzuordnen.

Die Information im DNS wird in so genannten Ressource Records gespeichert.Heute hat nahezu jeder Computer einen DNS Client in seinem Betriebssystem installiert, den so genannten Resolver. Der Resolver wird konfiguriert, indem man ihm im Wesentlichen mitteilt, welches die Home-Domain des Rechners ist und welche Name Server ihm für Namens-Abfragen zur Verfügung stehen. Mit diesen Informationen übernimmt der Resolver alle notwendigen Aktionen, um alle vom Computer benötigten Informationen aus dem DNS im Bedarfsfall möglichst schnell zu besorgen.

Durch eine Cache-Funktionalität aller Name-Server im Verbund wird der Ausfall eines Name-Servers verhindert, auch wenn der Name-Server z.B. wegen Wartungsarbeiten nicht zur Verfügung steht. Es werden Kopien des authorativen Name-Servers ? Slaves ? im Netz etabliert.

DNS Server sind daher das Mittel der Wahl, um in einem geschlossenen Netz alle notwendigen Informationen über die verwendeten Adressen zur Verfügung zu stellen. Es hat fest definierte Ressource Records.

Lightweight Directory Access Protokoll (LDAP)

Im Lokalen Netz (LAN) stößt damit das DNS an seine Grenzen, da man ausführlichere Informationen benötigt. Der Ausweg sind Intranet Directory Services:
  • NIS - das Network Information System von Sun Microsystems, lange Zeit auch in Anlehnung an die Telefonbücher YP - yellow pages - genannt
  • NIS+ - eine Erweiterung von NIS in Bezug auf hierarchische Strukturen auch im Intranet und Verschlüsselung
  • LDAP - Lightweight Directory Access Protocol
Während NIS und NIS+ lange Zeit nur auf Computern zur Verfügung standen, auf denen Solaris als Betriebssystem gelaufen ist - erst in den letzten 5-7 Jahren sind stabile NIS und NIS+ Clients auch unter Linux entstanden - ist LDAP ein RFC konformes System, das herstellerübergreifend zum Einsatz gekommen ist.

Heutzutage wird man in einem neuen Intranet daher von vorne herein LDAP als internen Directory Service einsetzen.

Das LDAP ist eine abgespeckte Form des DAP (data access protocol) das bei Großrechnern lange Zeit im Einsatz war.

LDAP legt wie bei einer richtigen Datenbank, in einem Datenbank-Schema fest, welche Information nach Art, Inhalt und weiterer Verschachtelung welchem Schlüssel zuzuordnen ist. Auf Basis dieses Schemas wird dann eine Datenbank aufgebaut, die im Gegensatz zu SQL Datenbanken dahingehend optimiert ist, dass Einfügungen und Änderungen sehr selten - und damit auch langsam -, dagegen aber Abfragen sehr oft und damit schnell erfolgen.

Der Strawberry DirectoryServer

etabliert sowohl einen DNS, als auch einen LDAP Server in Ihrem Netz. Er ist sowohl im Internet als authorative oder caching Name Server einsetzbar, als auch im Intranet (LAN) als DNS Server oder LDAP Server. Der Strawberry Directory Server kann hierbei sowohl als Master-Server, bzw. Main LDAP Server, als auch als Slave Server, bzw. LDAP Replika, fungieren.

Der Strawberry Directory Server ist immer als Single-Node zu betreiben. Ein Clustering dieser Server ist nicht sinnvoll, da die beiden gehosteten Applikationen bereits Lastverteilungsmechanismen mit sich bringen. Je nach Umfang der in den jeweiligen Diensten zur Verfügung gestellten Daten und der Anzahl der Clients, die auf einen Directory Server zugreifen, empfehlen wir den Einsatz einer entsprechend performanten Hardware oder den Einsatz weiterer Slave-, bzw. Replika-Server.

Auch die Trennung von LDAP und DNS Service auf unterschiedliche Server kann nach Last- und Stress-Analysen sinnvoll sein. Der Strawberry Directory Server unterstützt auch diese Betriebsweise.

Hardware und Betriebssystem

Der Strawberry Directory Server läuft auf einer Sparc64- oder AMD64 Plattform von Sun Microsystems. Als Betriebssystem kommt Solaris 10 zum Einsatz. Über das einzigartige Ressource-Management dieses Betriebssystems lassen sich beträchtliche Performancegewinne für die beiden gehosteten Applikationen erzielen.

Software

Als DNS Server kommt BIND Version 9 zum Einsatz. Als LDAP Server setzen wir OpenLDAP Version 2.3 ein. Zur Verschlüsselung nutzen wir OpenSSL Version 0.9.8.

Datenabgleich

DNS und LDAP überlappen sich in ihrem Angebot an Daten an das Netzwerk. Beide Dienste können Rechner-Namen und -Adressen einander zuweisen. Oftmals ist es sinnvoll diese Information tatsächlich in beiden Directory Diensten vorzuhalten. Der Strawberry Directory Server sorgt in diesem Fall für die Konsistenz beider Datenbanken.

Datenpflege

Der DNS und der LDAP Server erhalten Ihre Daten zunächst in textueller Form. Bei DNS handelt es sich hier um die so genannten Zonenfiles, die mit jedem Editor erzeugt werden können. Der LDAP Server erhält seine Daten im Lightweight Directory Interchage Format, kurz LDIF genannt.

Darüber hinaus stehen sehr viele OpenSource Tools zur Pflege der Daten in Ihrem Directory Server zur Verfügung. Strawberry berät sie hierbei gerne.

Datensicherung

Der Strawberry LDAP Server führt in turnusmäßigen Abständen Datensicherungen des DNS und LDAP Server Datenbestandes durch. Die gesicherten Daten liegen im TAR Format vor und können auf einen File-Server oder über den Strawberry Backup Server weiter gesichert werden.

Konzeption eines Directory Dienstes

Wie die vorangegangene Darstellung aufzeigt, ist die Konzeption und Implementierung eines Directory Services von vielen Faktoren abhängig. Strawberry EDV Systeme GmbH steht Ihnen hier im Rahmen eines Workshops zur Seite, um die für Sie optimale Gesamt-Konfiguration aufzuzeigen und umzusetzen. Der Strawberry Directory Server spielt als eine sehr flexibel einzusetzende Komponente eine wesentliche Rolle darin, das mit Ihnen gemeinsam erarbeitete Konzept schnell und zielsicher umzusetzen. Strawberry EDV-Systeme GmbH steht Ihnen auch beim anschließenden Betrieb und der Pflege Ihres Directory-Services immer gerne mit Rat und Tat zur Seite.