DIPLOMARBEIT. ausgeführt am. von. Andreas Weiler Personenkennzeichen Burgenlandstrasse 28 A-6020 Innsbruck

Größe: px
Ab Seite anzeigen:

Download "DIPLOMARBEIT. ausgeführt am. von. Andreas Weiler Personenkennzeichen 0110094046 Burgenlandstrasse 28 A-6020 Innsbruck"

Transkript

1 DIPLOMARBEIT Samba 3 und OpenLDAP als Open Source Domänen Controller - Lösung für KMU ausgeführt am Technikum Wien Fachhochschulstudiengang Elektronische Informationsdienste von Andreas Weiler Personenkennzeichen Burgenlandstrasse 28 A-6020 Innsbruck Erstbegutachter: Dipl.-Ing. Alexander Nimmervoll, FH Technikum-Wien Zweitbegutachter: Dkfm Michael Bona, skilldeal AG Wien, April 2005

2 EIDESSTATTLICHE ERKLÄRUNG Ich versichere, 1. dass ich die Diplomarbeit selbständig verfasst, andere als die angegebenen Hilfsmittel nicht benutzt und mich auch sonst keiner unerlaubten Hilfe bedient habe. 2. dass ich diese Diplomarbeit bisher weder im In- oder Ausland in irgendeiner Form als Prüfungsarbeit vorgelegt habe. 3. dass die Version der Diplomarbeit, die ich meinem/n Betreuer/n zur Approbation vorgelegt habe, inhaltlich ident ist mit jener Version, die ich im Prüfungsreferat eingereicht habe. i... Datum, Unterschrift

3 Problemstellung Opening Windows to a wider world lautet der ehrgeizige Slogan des Open Source Softwareprojektes Samba. Primäres Ziel von Samba ist es, das von Microsoft eingeführte Verfahren zum Datenaustausch zwischen Windows Rechnern auch unter alternativen Betriebssystemen wie Linux zugänglich zu machen. Inzwischen ist das Samba Projekt mit der Version 3 aber nicht nur ein Programm zum Datenaustausch, sondern bietet auch viele Funktionalitäten die einem Windows Primären Domänen-Controller (PDC) nahezu ebenbürtig sind. Mit Samba ist es möglich, eine Windows Domäne zu betreiben - mit dem Vorteil eines oenen Quellcodes und nicht existierenden Lizenzkosten. Weiters bietet Samba die Möglichkeit nicht nur Windows Arbeitsrechner im Netzwerk per Domäne zu verwalten, sondern es können auch problemlos Linux Clients eingebunden werden. Dies stellt einen groÿen Verwaltungsvorteil für Netzwerkadministratoren gegenüber einer reinen Windows PDC Lösung dar. Gerade in Software-Entwicklungsunternehmen ist das alternative Betriebssystem Linux immer häuger vorzunden. Hier sind es die technisch versierten Programmierer, die auf dieses Betriebssystem schwören und sich auch am Arbeitsplatz ihre gewohnte Umgebung wünschen. Mit Samba kann nun erstmals ein heterogenes Netzwerk (Linux und Windows Clients) komfortabel, zentral verwaltet werden. Die Einführung von Samba als PDC in einem Unternehmen stellt jedoch keine triviale Aufgabe dar. Ziel dieser Diplomarbeit soll es sein, die Konguration eines Samba PDC zu erleichtern und Antworten auf die folgenden Fragen zu liefern: Wie aufwändig ist die Installation eines Samba PDC? Mit welchen Einschränkungen ist zu rechnen? Wie groÿ ist der Administrationsaufwand? Gibt es Tools, die die Benutzerverwaltung erleichtern? Welche Technologien stecken dahinter? Rentiert sich eine Umstellung für ein Unternehmen? ii

4 Abstract Samba 3 and OpenLDAP are widespread Open Source server implementations of the Common Internet Filesystem (CIFS) lesharing protocol and the Lightweight Directory Access Protocol (LDAP). Both technologies combined allow the Samba 3 server to act as a Microsoft Windows Domain Controller in a heterogeneous network. Domain Controllers oer easier administration of shared network resources and a centralized user authentication system for Windows clients. CIFS and LDAP are described in detail in the theoretical part of this thesis. In addition to this, the practical part covers all conguration steps needed to set up and deploy a Samba 3 Domain Controller under a Debian GNU/Linux system. This also includes the conguration of an OpenLDAP server for storing all required user data in a distributed directory. Furthermore, this thesis presents ways of integrating both Windows and Linux clients into the newly created network domain. Finally, several graphical administration tools for the Samba server are compared with a special view to their userfriendliness and security. iii

5 Kurzfassung Samba 3 und OpenLDAP sind weitverbreitete Open Source Serverimplementierung für das Common Internet Filesystem (CIFS) Dateiaustauschprotokoll und des Lightweight Directory Access Protocol (LDAP). Beide Technologien kombiniert erlauben es einem Samba 3 Server als ein Microsoft Windows Domänen Controller in einem heterogenen Netzwerk zu agieren. Domänen Controller bieten eine einfachere Administration von im Netzwerk freigegebenen Ressourcen und ein zentralisiertes Benutzerauthentizierungssystem für Windows Clients. CIFS und LDAP werden detailliert im theoretischen Teil dieser Diplomarbeit beschrieben. Zusätzlich wird der praktische Teil alle notwendigen Kongurationsschritte erklären, die notwendig sind, um einen Samba 3 Domänen Controller unter einem Debian GNU/Linux System aufzusetzen. Dabei wird auch die Konguration eines OpenLDAP Servers zur Abspeicherung der Benutzerdaten in einem verteilten, elektronischen Verzeichnis erläutert. Weiters wird aufgezeigt, wie sowohl Windows- als auch Linux-Clients in die neu geschaene Netzwerkdomäne integriert werden können. Abschlieÿend werden mehrere graphische Benutzerverwaltungstools für den Samba Server mit Schwerpunkt auf deren Benutzerfreundlichkeit und Sicherheit miteinander verglichen.

6 Danksagung Mein Dank gilt besonders Herrn DI Alexander Nimmervoll und Herrn Dkfm Michael Bona für ihre Geduld als Betreuer und für das Korrekturlesen meiner Diplomarbeit. Weiters möchte ich noch meinen Eltern danken, ohne deren verständnisvolle Unterstützung das Studium bedeutend schwieriger verlaufen wäre. Auÿerdem noch ein herzliches Danke an alle Professoren und Studenten, mit denen ich im Laufe meiner Ausbildung zusammenarbeiten durfte. v

7 Inhaltsverzeichnis Problemstellung Abstract Kurzfassung Danksagung 1 Einleitung Überblick / Thematik Motivation Zielsetzung Gliederung Begriserklärung Open Source Denition - Freie Software Beliebte Lizenzmodelle GNU GPL GNU LGPL BSD OpenLDAP Public License MPL - Mozilla Public License Ver Bekannte OS Projekte ii iii iv v vi

8 Inhaltsverzeichnis 3 LDAP Verzeichnis Besonderheiten von Verzeichnissen X Bekannte Verzeichnisdienstprodukte Öentliche Verzeichnisdienste Von X.500 zu LDAP LDAPv Konzept und Modelle Informationsmodell Namensgebungsmodell Funktionsmodell Sicherheitsmodell LDIF Die Suchanfrage LDAP Nachrichten Beispiel einer Suchanfrage Die Suchanfrage im Detail Suchlter Gleichheitslter: Präsenzlter: Teilstringlter: Ähnlichkeitslter: Gröÿenvergleichslter: extensible Match - exible Erweiterung der Filter Boolesche Kombinationen OpenLDAP Allgemeine Informationen - Geschichte Die OpenLDAP Software Samba Allgemein Überblick / Geschichte NetBIOS over TCP/IP - NBT Namensservice (Name Service) Datagram Service Session Service vii

9 Inhaltsverzeichnis NetBIOS Ausblick CIFS im Detail CIFS Dialekte Sicherheitsschichten CIFS Verbindungsaufbau CIFS - SMB Nachrichten Der SMB Nachrichten Header Die SMB Nachrichten Parameter Die SMB Nachrichten Nutzdaten CIFS Authentizierungsverfahren Klartext Passwörter Challenge/Response Verfahren Kerberos CIFS Wichtige Kommandos Domänen Controller Denition - Domäne DC - Typen DC - Roaming Proles Arten von Prolen Probleme Anmeldeskripte (Netlogon) Samba Server Entwicklungsgeschichte Neue Features von Samba Einschränkungen Samba DC Bestandteile Ausblick - Samba Zusammenfassung Implementierung für skilldeal AG Umfeldanalyse Unternehmensbeschreibung - skilldeal AG Der Status Quo Überblick über die Netzwerkstruktur Besondere Anforderungen Implementierung Server viii

10 Inhaltsverzeichnis OpenLDAP Samba smbldap-tools Linux Einstellungen (PAM - NSS - NFS) Clients Debian GNU/Linux Windows Windows 2000 / XP Professional Graphische Samba 3 Administrationstools smbldap-tools Samba Console phpldapadmin LDAP Account Manager - LAM Windows User Manager Fazit Wirtschaftliche Betrachtung Benchmarks Kosten-Nutzenrechnung Aufwand Kleinunternehmen Mittelständiges Unternehmen Nutzen Konklusion 84 A Anhang 85 A.1 Master slapd.conf A.2 acl.slapd A.3 dsa.ldif A.4 LDAP Benutzereintrag: aweiler.ldif A.5 Slave slapd.conf A.6 smb.conf A.7 smbldap.conf Literatur 98 ix

11 Abkürzungsverzeichnis ACL ADS API ASCII BDB BDC BSD CIFS DAP DES DIT DN DNS DHCP DISP DSA DSP DOP DUA FSD FSF GID GNU GPL GSS-API HMAC IETF Access Control List Active Directory Service Application Program Interface American Standard Code for Information Interchange Berkeley Database Backup Domain Controller Berkeley Software Distribution Common Internet File System Directory Access Protocol Data Encryption Standard Directory Information Tree Distinguished Name Domain Name System Dynamic Host Conguration Protocol Directory Information Shadowing Protocol Directory System Agent Directory System Protocol Directory Operational Protocol Directory User Agent Free Software Denition Free Software Foundation Group ID GNU's Not Unix General Public License Generic Security Services API Hashed Message Authentication Code Internet Engineering Task Force x

12 ITU KDE KMU LDAP LDBM LDIF LGPL MPL NBNS NBT NDS NetBIOS NFS NIS NSCD NSS NTLM OSI OSS PAM PDC PHP RAID RDN RID RFC RPC SAM SASL SID SMB SSH SSL TCP/IP TLD TLS UDP UID WINS XML Internationale Telekommunikations Union K Desktop Environment Klein- und mittelständige Unternehmen Lightweight Directory Access Protocol Lightweight Database Manager LDAP Data Interchange Format Lesser General Public License Mozilla Public License NetBIOS Name Server NetBIOS over TCP/IP Novell Directory Services Network Basic Input Output System Network File System Network Information Service Name Service Caching Daemon Name Service Switch NT Lanman Open System Interconnection Open Source Software Plugable Authentication Modul Primary Domain Controller PHP Hypertext Preprocessor Redundant Array of Independent Disks Relative Distinguished Name Relative ID Request for Comments Remote Procedure Call Security Accounts Manager Simple Authentication and Security Layer Secure ID Server Message Block Secure Shell Secure Socket Layer Transmission Control Protocol over Internet Protocol Top Level Domain Transport Layer Security User Datagram Protocol User ID Windows Internet Name Server extensible Markup Language xi

13 Kapitel 1 Einleitung 1.1 Überblick / Thematik But, for my own part, it was Greek to me. William Shakespeare, Julius Caesar Das alternative Betriebssystem Linux erlebt seit einigen Jahren einen beachtlichen Aufschwung am Servermarkt. Einer der Gründe für diesen Umstand ist sicherlich das äuÿerst fortgeschrittene Samba Projekt, mit dessen Hilfe sich erstmals Windows Arbeitsrechner mittels Linuxserver zentral verwalten lassen. Dieser Zentralismus bringt sowohl für den Anwender als auch für den Administrator eines Netzwerkes enorme Arbeitserleichterungen. Auf der einen Seite kann dadurch gewährleistet werden, dass dem Anwender jederzeit seine gewohnte Arbeitsumgebung zur Verfügung gestellt werden kann - und zwar unabhängig vom Arbeitsrechner auf dem er sich gerade bendet. Sobald eine erfolgreiche Anmeldung ins Netzwerk stattgefunden hat, werden automatisch alle relevanten, persönlichen Einstellungen vom zentralen Server geladen. Auf der anderen Seite kann der Netzwerkadministrator Zugangsberechtigungen und Dateifreigaben direkt am Server festlegen und sich sicher sein, dass die Änderungen umgehend auf allen Arbeitsrechnern ihre gewünschte Wirkung zeigen. Mit der steigenden Verbreitung von Linux auch im Desktopbereich, vorallem im Umfeld von Software-Entwicklungsunternehmen oder öentlichen Einrichtungen, stellt Samba auch für diese heterogenen Umgebungen eine ideale Lösung dar. So ist es dank Samba inzwischen eine Leichtigkeit, beide Betriebssystemwelten zusammenzuführen und produktives, betriebssystemunabhängiges Arbeiten zu ermöglichen. Diese Diplomarbeit soll einen Überblick über die etablierte Open Source Lösung Samba für heterogene Netzwerke liefern. Die Arbeit erklärt die relevanten Netzwerkprotokolle und soll anhand eines konkreten Beispieles die Installation und das Setup eines Domänen Controllers unter Linux erklären. Vom Leser dieser Arbeit wird grundsätzlich netzwerktechnisches Basiswissen vorausgesetzt, Erfahrungen mit Debian GNU/Linux Systemen, gängigen Netzwerkstandards wie zum Beispiel dem TCP/IP, NetBIOS oder DNS Protokoll sind ebenso vorteilhaft, wie Vertrautheit 1

14 mit der Skriptsprache Perl 1. Einen guten Leitfaden für den Einstieg in die TCP/IP Netzwerkwelt bietet das Buch TCP/IP Netzwerk- Administration von Craig Hunt [Hun02]. Die Arbeit richtet sich somit vorrangig an Netzwerkadministratoren und Personen mit guten Linuxkenntnissen, die ihr Wissen über die Verwaltung von heterogenen Netzwerken erweitern wollen. Jedoch bietet der wirtschaftliche Teil der Arbeit auch eine interessante Wissensbasis für Personen aus dem Management von Klein- und mittelständigen Unternehmen (KMU), die sich über eine kostengünstige Serverlösung für ihr Unternehmensnetzwerk informieren wollen. In dieser Diplomarbeit wird nur auf die aktuellen Möglichkeiten der Open Source Tools Samba und OpenLDAP eingegangen, jedoch nicht auf vergleichbare kommerzielle Lösungen die am Markt erhältlich sind. Im Besonderen wird diese Arbeit keinen direkten Vergleich der Open Source Lösung zu Microsoft's aktuellen Windows Server 2000/2003 Lösungen bieten. Sämtliche Kongurationen werden anhand eines Debian/GNU Linux Systems veranschaulicht. Dies ist aber im Allgemeinen auf alle weiteren Distributionen anwendbar. 1.2 Motivation Samba ist schon seit längerer Zeit eine etablierte Serveranwendung bei vielen Netzwerkadministratoren, um die von Windows bekannte Datei- und Druckerfreigabe zu ermöglichen. Seit der Version 3 wird auch ein Einsatz als Domänen Controller ermöglicht, sodass es erstmals unter Linux möglich wird, einen zentralen Server für Windows Arbeitsrechner zu betreiben. Viele Unternehmen haben es aber aus unterschiedlichen Gründen noch nicht gewagt, eine Umstellung in Betracht zu ziehen. Der Vorteil der mit Samba entsteht, ist nicht nur ein rein nanzieller (Wegfall von Lizenzkosten), sondern in heterogenen Netzwerken auch ein administrativer. 1Perl steht für Pratical Extraction and Report Language. Die Sprache stammt aus der Unix-Welt und wurde 1987 von Larry Wall in der ersten Version veröentlicht. Perl ist eine mächtige Skriptsprache, die besonders gerne von Systemadministratoren zur Automatisierung von Arbeitsschritten verwendet wird. Aufgrund der teilweisen sehr eigenwilligen Syntax, erscheint sie aber für viele Anfänger als abschreckend. Nähere Informationen: URL: [15. März 2005] 2

15 1.3 Zielsetzung Diese Diplomarbeit hat zum Ziel, die Verwendung von Samba als Open Source Domänen Controller in einem heterogenen Netzwerk zu beschreiben. Es sollen dabei die zwei grundlegenden Technologien genauer erörtert werden, welche für den Einsatz eines Domänen Controllers unter Linux von Bedeutung sind: Der LDAP Verzeichnisdienst und das Common Internet Filesystem (CIFS). Der Leser soll jedoch dabei nicht nur mit Theorie konfrontiert werden, sondern es wird in den letzten Kapiteln auch gezeigt werden, wie sich eine solche Lösung tatsächlich erfolgreich und kostensparend im produktiven Betrieb eines Kleinunternehmens einsetzen lässt. 1.4 Gliederung Kapitel 1 liefert eine Einleitung zur Thematik der Diplomarbeit, Kapitel 2 gibt einen Überblick über den Open Source Grundgedanken im Allgemeinen, gefolgt von Kapitel 3, welches das LDAP Zugrisprotokoll und den OpenLDAP Server beschreibt. Kapitel 4 widmet sich dem Samba Server und geht dabei detailliert auf das SMB/CIFS Protokoll ein. In Kapitel 5 wird die Installation und Konguration des Samba Servers am Beispiel einer tatsächlichen Migration für die skilldeal AG beschrieben. Die verschiedenen Möglichkeiten der Benutzerverwaltung des Samba Servers per graphischen Hilfstools werden in Kapitel 6 verglichen, während Kapitel 7 auf die wirtschaftlichen Aspekte einer Samba Domänen Controller Einführung für KMU eingeht. Im letzten Kapitel 8 schlieÿlich wird das Ergebnis der Arbeit zusammengefasst und auf oene Punkte eingegangen. 3

16 1.5 Begriserklärung Vorweg einige wichtige Begrie, mit denen der Leser in dieser Diplomarbeit immer wieder konfrontiert wird: Open Source Im deutschen Sprachraum ist sowohl Open Source als auch Freie Software ein gängiger Begri für Softwareprogramme, die u.a. ihren Quellcode für Jedermann oen legen und es gestatten diesen zu verwenden und weiterzuentwickeln. Im Falle einer kommerziellen Verwendung von Open Source Software (OSS) gilt es die unterschiedlichen Rahmenbedingungen, die die verschiedenen Lizenzmodellen mit sich ziehen, zu beachten. Das mit Abstand verbreitetste Lizenzmodell stellt die Gnu's Not Unix (GNU) General Public License (GPL) von Richard Stallman dar 2. Als Vertreter eines der bekanntesten Open Source Produkte sei an dieser Stelle das alternative Betriebssystem Linux genannt. Eine ausführlichere Erklärung des Open Source Gedanken und die genauen Unterschiede der wichtigsten Lizenztypen werden im folgenden Kapitel 2 auf Seite 6 erörtert. Domäne Eine Domäne ist die Bezeichnung für den Zusammenschluss mehrerer Windowsrechner, welche zentral über einen sogenannten Domänen Controller verwaltet werden können. Ein Groÿteil der heutigen Firmennetzwerke werden, aus den sich daraus resultierenden administrativen Vorteilen, in Domänen organisiert. PDC Der Primary Domain Controller (Deutsch: Primärer Domänen Controller) ist der zentrale Hauptserver - die Schaltstelle - einer Domäne. Gleichzeitig existiert auch immer ein Backup Domain Controller (BDC) im Netzwerk, welcher im Falle eines Ausfalls des PDC's dessen Dienste übernehmen kann. Vom Microsoft werden die Betriebssysteme Windows NT 4, Windows Server 2000 und Windows Server 2003 angeboten, mit denen sich ein PDC betreiben lässt. CIFS/SMB Common Internet Filesystem (CIFS) ist die Bezeichnung des Netzwerkstandards für die Datei- und Druckerfreigabe unter Windows Rechnern. Ursprünglich auch bekannt als Server Message Block (SMB). Dieses wurde 1985 erstmals von IBM deniert und durch Microsoft's Integration in ihre Betriebssysteme stark verbreitet. Im Laufe der Zeit durchlief der Standard jedoch unzählige Erweiterungen und Verbesserungen. 2Laut Statistiken der Open Source Internet Plattform sourceforge.net sind gut 2/3 (40.000) aller Open Source Projekte unter der GNU GPL lizenziert. Siehe auch URL: trove_list.php?form_cat=14 [13. März 2005]. 4

17 Samba Samba ist eine Open Source Serverimplementierung des CIFS/SMB Standards. Samba 3 ist dabei die aktuelle Version, welche auch die wichtigsten Funktionalitäten eines PDC erfüllt. Samba wurde ursprünglich von Andrew Tridgell geschrieben und wird heute von einer groÿen Anzahl freiwilliger Open Source Programmierer weiterentwickelt. Kapitel 4 auf Seite 32 liefert detailliertere Informationen über das Samba Projekt. LDAP Unter Lightweight Directory Access Protocol (LDAP) versteht man ein Netzwerkprotokoll, mit welchem man auf elektronische Verzeichnisse zugreifen kann. Elektronische Verzeichnisse sind baumförmige Datenbanken, welche besonders für Lesezugrie optimiert wurden. In der Fachliteratur hat sich der Begri LDAP Server für solche Verzeichnisse durchgesetzt, da inzwischen das LDAP Zugrisprotokoll von nahezu allen existierenden elektronischen Verzeichnisdienst Produkten unterstützt und verwendet wird. LDAP Server sind unter anderem für die Abspeicherung aller Benutzerdaten eines Samba 3 Systems von Bedeutung. In Kapitel 3 auf Seite 10 dieser Arbeit wird der LDAP Standard genauer erklärt. KMU KMU ist die Abkürzung für klein(st)- und mittelständige Unternehmen. Laut EU Amtsblatt 3 lassen sich Unternehmen anhand der folgenden Kennzahlen in die verschiedenen KMU Unternehmensgröÿen einstufen: Mittelständige Unternehmen: nicht mehr als 250 Mitarbeiter oder 40 Mio. Jahresumsatz Kleine Unternehmen: nicht mehr als 50 Mitarbeiter oder 7 Mio. Jahresumsatz Kleinstunternehmen: nicht mehr als 10 Mitarbeiter 3Amtsblatt Nr. L 107/4 vom

18 Kapitel 2 Open Source 2.1 Denition - Freie Software Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer. Richard Stallman, Gründer der Free Software Foundation Richard Stallman gilt als Gründer der Freien Software Bewegung. Als Autor der GNU GPL Lizenz schate er erstmals eine rechtliche Absicherung von Freien Software Projekten und verteidigte diese stets vehement und ehrgeizig. Auch ist er Mitgründer der Free Software Foundation (FSF) 1, welche Freie Software in der Öentlichkeit bekannter machen soll und Softwarelizenzen nach ihrer GPL-Tauglichkeit untersucht. In der Free Software Denition (FSD) 2 werden die wichtigsten Merkmale, die Freie Software erfüllen muss, erläutert. Als frei bezeichnet man danach Software, deren Lizenz jedem, der dies möchte, mindestens folgende Rechte zugesteht: 1. Die Freiheit, das Programm zu jedem Zwecke auszuführen. 2. Die Freiheit, die Funktionsweise des Programmes zu studieren. Dafür muss der Zugang zum Quellcode gewährleistet werden. 3. Die Freiheit, Kopien des Programmes anzufertigen und zu verbreiten, sowohl zu einem Preis als auch kostenlos. 4. Die Freiheit, das Programm an eigene Bedürfnisse anzupassen oder zu verbessern. 5. Die Freiheit, das veränderte Programm zu verbreiten. 1URL: [13. März 2005] 2URL: [13. März 2005] 6

19 Im Gegensatz dazu wird Software, die diesen Bedingungen nicht genügt, als proprietäre oder unfreie Software bezeichnet. Wie auch in dieser Diplomarbeit wird der Ausdruck Open Source Software (OSS) häug und gerne als Synonym für freie Software verwendet. Anzumerken ist, dass diese Gleichstellung nicht ganz zur Zufriedenheit der FSF erfolgte. Diese merkt in der FSD an, dass Freie Software die passendere Bezeichnung wäre: Another group has started using the term open source to mean something close (but not identical) to free software. We prefer the term free software because, once you have heard it refers to freedom rather than price, it calls to mind freedom. The word open never does that. [FSD] Freie Software bedeutet aber nicht zwingend, dass sie tatsächlich gratis vertrieben werden muss. Wer will, hat prinzipiell auch das Recht dazu Freie Software zu verkaufen. Es muss nur darauf geachtet werden, dass keine Lizenzbedingungen, wie zum Beispiel der oene Zugang zu den Sourcen, verletzt werden. Ein wichtiger Begri im Zusammenhang mit freien Softwarelizenzen ist das Copyleft. Eine von Richard Stallman geprägte Bezeichnung für das Recht, dass die Lizenzen einer weiterentwickelten Version von Freier Software, ebenfalls die oben aufgezählten Freiheiten erfüllen müssen. Ganz nach dem Motto: Einmal Freie Software - immer Freie Software. Diese Eigenschaft wird auch gerne als der virale Charakter einer Softwarelizenz bezeichnet. Abbildung 2.1 liefert eine graphische Veranschaulichung der zwei verschiedenen Softwarekategorien (proprietär vs. freie Software) 3. Free Software Public domain Proprietary XFree86 Style Copylefted Closed GPL ed Open Source Free Download Shareware Abbildung 2.1: Die gespaltene Welt am Softwaremarkt 3Grak wurde von der FSF zur Verfügung gestellt. 7

20 2.2 Beliebte Lizenzmodelle Am Softwaremarkt gibt es inzwischen eine Vielzahl an anerkannten Lizenzen für Freie Software. Im folgenden werden die wichtigsten Vertreter von freien Software Lizenzen näher erläutert GNU GPL Die aktuell gültige Version der GNU General Public License ist die 2. Fassung aus dem Jahre Sie stellt die wohl bekannteste und weitverbreitetste Lizenz in der Open Source Welt dar. Richard Stallman formulierte in dieser ersten Freien Software Lizenz die rechtlichen Rahmenbedingungen, die alle Freiheiten enthalten. Wie schon zuvor erwähnt, wurde in ihr auch zum ersten Mal der Begri Copyleft genauer deniert. Aktuell wird gerade an der Version 3 der GPL gearbeitet, welche noch 2005 veröentlicht werden soll. Neu hinzukommen sollen Themen wie Urheberrechte und Patente, aber auch Bereiche wie Software, die über ein Netzwerk verwendet wird. Gleichzeitig wird auf Unterschiede im angloamerikanischen und westeuropäischen Rechtssystem eingegangen 4. Bekannte Vertreter: GNU/Linux, Samba oder K Desktop Environment (KDE) GNU LGPL LGPL ist die Abkürzung für Lesser General Public License. Wie der alte Name, Library General Public License, bereits andeutet, wurde die LGPL hauptsächlich für Programmbibliotheken geschaen. Sie ist eine gelockerte Version der GPL, die es erlaubt auch proprietäre Programmteile gegen eine, unter der LGPL stehende, Bibliothek zu linken BSD Die Berkeley Software Distribution (BSD) Lizenz verlangt nur die Nennung des ursprünglichen Autors sowie des Haftungsausschlusses. Die Quellen müssen weder oen gelegt noch die Binärdateien der Öentlichkeit zur Verfügung gestellt werden. Es gibt viele Lizenzen, die der BSD-Lizenz ähnlich sind, z. B. die Massachusetts Institute of Technology (MIT) Lizenz OpenLDAP Public License Die OpenLDAP Foundation hat für ihre Implementierung eines LDAP Servers eine eigene Freie Software Lizenz aufgestellt, welche mit der GNU GPL kompatibel ist, jedoch keinen Copyleft-Zwang beinhaltet. 4Nähere Informationen zu den Plänen für GPLv3 liefert der Online Artikel von eweek, siehe [GPLv3]. 5KDE ist eine freie und benutzerfreundliche graphische Desktop Umgebung für Linux. Nähere Informationen sind unter der Projekthomepage zu nden. 8

21 2.2.5 MPL - Mozilla Public License Ver 1.1 Die Mozilla Public License (MPL) ist eine Open Source Software-Lizenz und wurde von der Firma Netscape 1998 für die Code-Freigabe des damals geplanten Netscape Communicator 5 entwickelt. Die MPL ist ein Kompromiss zwischen der GNU General Public License und der BSD-Lizenz. Der grundsätzliche Unterschied zur GPL ist dabei der Umstand, dass unveröentlichte Abänderungen zulässig sind, wobei allerdings Änderungen von unter der MPL lizenziertem Quellcode frei zugänglich sein müssen (kein viraler Charakter). 2.3 Bekannte OS Projekte Neben den bereits erwähnten Open Source Projekten, wie Linux, Samba oder OpenLDAP gibt es noch unzählige weitere erfolgreiche Produkte. Die Auswahl ist inzwischen schon nahezu unüberschaubar. Demonstrativ für die groÿe Produktvielfalt am Open Source Markt, sei hier ein kleine Auswahl bekannter Projekte aufgelistet. Debian GNU/Linux ist eine komplett freie Linuxdistribution. Knoppix, das Live-Betriebssystem auf CD LAMP: Eine inzwischen als Standard anerkannte Bezeichnung eines Servers mit folgender OS Software: Linux als Betriebssystem Apache als Webserver MySQL als relationale Datenbank PHP als Skriptsprache für dynamische Webseiten OpenBSD, FreeBSD und NetBSD sind aus dem BSD-Zweig der Unix-Familie entstandene, freie Betriebssysteme. GNU Emacs - Ein umfangreicher Texteditor geschrieben von Richard Stallman OpenOce.org - ein vollständiges Bürosoftwarepaket Mozilla Firefox - ein populärer Webbrowser The Gimp (GNU Image Manipulation Program) - ein Bildbearbeitungsprogramm 9

22 Kapitel 3 LDAP Dieses Kapitel liefert Einblicke in Verzeichnisdienste im Allgemeinen und in das Zugrisprotokoll LDAP im Speziellen. Als Vertreter eines LDAP Serverprogrammes wird die Open Source Software OpenLDAP genauer erläutert. Ein LDAP Server kann unter anderem als zentrale Benutzerdatenbank in einem Samba 3 System eingesetzt werden. 3.1 Verzeichnis Unter einem elektronischen Verzeichnis versteht man laut Denition der Internationalen Telekommunikations Union (ITU) (...) eine Menge oener Systeme, die gemeinsam eine Datenbank halten, in der Informationen über Objekte aus der realen Welt abgelegt sind (...) [X500] 1. Ein gewöhnliches Telefonbuch kann als Urvater der elektronischen Verzeichnisse betrachtet werden. Dort werden Datensätze nach einem bestimmten Muster abgespeichert, sodass sie rasch wieder gefunden werden können. Im Falle eines Telefonbuches ist das Muster noch recht trivial: Es werden einfach die Nachnamen jeder Stadt alphabetisch sortiert. Genau dieser Grundgedanke der Organisation von einer Menge spezischer Datensätze spiegelt sich in den elektronischen Verzeichnisdiensten wider. In Verzeichnisdiensten können jedoch weit mehr Informationen als nur Telefonnummern abgespeichert werden. Die meistgenutzte Funktion von Verzeichnisdiensten in Unternehmen stellt sicherlich die rasche Abfrage von -Adressen oder Telefonnummern der eigenen Mitarbeiter und Firmenkontakte dar. Doch neben diesen Informationen können Verzeichnisse auch eine ganze Menge weiterer persönlicher Daten der Mitarbeiter, wie Name, Anschrift oder Sozialversicherungsnummer bis hin zu Bildern und Zertikaten, enthalten. Auch können Verzeichnisse heutzutage als zentrale Benutzerauthentizierungsdatenbank in einem Unternehmensnetzwerk eingesetzt werden. Genau diese Funktionalität von Verzeichnissen soll in der Diplomarbeit näher erörtert werden. 1Die aktuell gültige X.500 Empfehlung [X500] ist nur gegen Bezahlung von der ITU erhältlich. Allerdings hat David W. Chadwick, einer der Autoren der Spezikation, ein sehr ausführliches Buch [Cha94] über X.500 verfasst und dieses inzwischen frei im Internet zur Verfügung gestellt. 10

23 3.1.1 Besonderheiten von Verzeichnissen Eine häug aufkommende Frage im Zusammenhang mit elektronischen Verzeichnisdiensten ist der Unterschied zu relationalen Datenbanken. Im Gegensatz zu gängigen relationalen Datenbanken haben Verzeichnisse folgende Eigenheiten: Verzeichnisse sind für Lesezugrie optimiert. Dies wird u.a. durch Caching im Arbeitsspeicher ermöglicht. Verzeichnisse sind objektorientiert und hierarchisch organisiert. Informationen über Objekte aus dem realen Leben werden in einem Eintrag im Verzeichnis abgebildet. Um die Beziehung der Einträge untereinander widerzuspiegeln, werden die Einträge in einer Baumstruktur abgespeichert. Verzeichnisdienste verfügen über Schemas, welche festlegen welche Informationen mit einem Objekt verbunden werden können oder müssen. Verzeichnisdienste bieten ein feinkörniges Sicherheitsmodell. So können zum Beispiel Zugangsbeschränkungen auf einen Eintrag gesetzt werden, welche automatisch auf alle in der Baumstruktur unterhalb liegenden Objekte übernommen werden. Verzeichnisdienste unterstützen keine Transaktionen X.500 Schon recht früh wurde die Wichtigkeit einer globalen Interoperabilität von Verzeichnissen in der IT Infrastruktur erkannt. Aus diesem Grunde setzte die ITU eine Arbeitsgruppe an, die einen umfassenden Standard denierte. Ziel war es, die Möglichkeit zu bieten, ein weltweites Netz an Verzeichnissen aufzubauen. Ähnlich wie beim World Wide Web, bei dem man sich Informationen von unterschiedlichen Webservern aus der ganzen Welt ansehen kann, soll dies auch bei Verzeichnissen möglich werden. Das Ergebnis dieser Bemühungen ist der X.500 Standard. Kerngedanke beim Entwurf war, dass eine exible (hierarchische) Struktur ermöglicht wird, und Verzeichnisdienstserver miteinander vernetzt werden können. Der X.500 Standard beschreibt dabei nur die funktionalen Aufgaben, die ein Verzeichnisdienst allgemein zu erfüllen hat und liefert jedoch keine technischen Implementierungsdetails. Dies wurde den jeweiligen Softwareherstellern selbst überlassen. Wichtig ist jedoch, dass die Kommunikationsprotokolle, welche ebenfalls im X.500 Standard festgelegt werden, exakt eingehalten werden. Dies ist die Grundvoraussetzung für eine erfolgreiche, produktunabhängige Interoperabilität. Somit wird es (falls die Standards korrekt implementiert wurden) ohne weiteres möglich, dass ein Verzeichnisdienstprodukt der Firma A erfolgreich mit einem Produkt der Frima B gemeinsam betrieben werden kann. X Architektur Die Datenkommunikation mit einem Verzeichnisdienst erfolgt prinzipiell nach dem Client/- Server Prinzip. Die Serverkomponente des X.500 Standards wird als Directory System Agent (DSA) bezeichnet. In den DSAs werden der gesamte Datensatz eines Verzeichnisses abgespeichert. Nach 11

24 welchem Verfahren die Datenspeicherung erfolgt (z.b. mittels einer komplexen Datenbank im Hintergrund oder in Dateien), bleibt den jeweiligen Softwarelösungen überlassen. Die Clientkomponente, mit der ein Benutzer auf ein DSA zugreift, wird als Directory User Agent (DUA) bezeichnet. Der DUA ist somit die Schnittstelle zwischen dem Benutzer und dem Verzeichnis. Ein X.500 basierter Verzeichnisdienst kann Daten redundant in mehreren DSAs abspeichern. Dies wird als Replikation (Englisch: shadowing) bezeichnet. Der Hauptgrund hierfür ist die Möglichkeit, mit dem X.500 Protokoll globale Verzeichnisdienste zu bilden. Durch die Replikation werden Datenlasten auf mehrere Server verteilt, weite Entfernungen beschränkt und Datenzugrie auch beim Ausfall eines DSA's ermöglicht. Hierdurch steigt jedoch der administrative Aufwand, die Netzlast wird durch häuge Updates erhöht und vorübergehende Inkonsistenzen müssen in Kauf genommen werden. Insgesamt werden mit X.500 vier Zugangsprotokolle festgelegt, welche die Kommunikation der DSAs mit den DUAs und den DSAs untereinander festlegen. Directory Access Protocol (DAP) Das Zugangsprotokoll, das die Client/Server Kommunikation der DSAs mit den DUAs deniert. Dieses beschreibt vorallem alle nötigen Operationsanfragen um Informationen aus dem Verzeichnis abfragen oder verändern zu können. Auch werden hier die Fehlermeldungen festgelegt. Directory System Protocol (DSP) Wie zuvor erwähnt sieht X.500 vor, dass mehrere DSAs gemeinsam eingesetzt werden können. Das DSP ähnelt sehr stark dem DAP und beschreibt den Datenuss der DSAs untereinander. Directory Operational Binding Protocol (DOP) Per DOP werden unterschiedliche DSAs, welche gemeinsam für ein Verzeichnis verantwortlich sind, einander mitgeteilt. Es stellt die Beziehung untereinander her und koordiniert den strukturellen Aufbau eines verteilten Verzeichnisses. Directory Information Shadowing Protocol (DISP) Das Shadowing oder auf deutsch die Replikation von Daten wird mittels diesem Protokoll deniert. Shadowing dient hauptsächlich der Datensicherung eines DSA auf einen Backup-DSA. Abbildung 3.1 auf der nächsten Seite zeigt nochmals bildlich die Kernkomponenten einer X.500 Architektur. Es fällt auf, dass obwohl DUA 1 und DUA 2 direkt bei DSA 2 anfragen, diese auch Informationen von DSA 1 erhalten können. Dies wird möglich da DSA 2 per DSP bei DSA 1 um Informationen anfragen kann und diese dann an die Clients weiterleitet Bekannte Verzeichnisdienstprodukte Inzwischen existieren mehrere Implementierungen von kompletten Verzeichnisdienstlösungen. Eine kleine Auswahl liefert folgende Auistung: Network Information System (NIS) von Sun edirectory von Novell (früher: Novell Directory Service - NDS) 12

25 Abbildung 3.1: Überblick über die X.500 Architektur nach [How98] Active Directory Service (ADS) von Microsoft NetInfo von Apple OpenLDAP - ein Open Source LDAP Server Öentliche Verzeichnisdienste Um sich ein besseres Bild vom Nutzen eines Verzeichnisdienstes machen zu können seien hier stellvertretend zwei öentlich zugängliche Internetverzeichnisse für deutschsprachige Bildungseinrichtungen und Behörden genannt: [17. März 2005] Ein umfassendes -Verzeichnis, welches vom Deutschen Forschungsnetzwerk aufgebaut wurde. [17. März 2005] Ein Telefonnummernverzeichnis österreichischer Ministerien Von X.500 zu LDAP X.500 sieht DAP als Zugangsprotokoll zu den Verzeichnissen vor. Dieses basiert auf allen 7 Schichten des Open System Interconnection (OSI) Modells, was zur Folge hat, dass schon eine einzelne einfache Suchanfrage an den DSA mit sehr viel Overhead verbunden ist. Weiters zeigte sich in der Praxis, dass die Erstellung der einzelnen Abfragen via DAP ein sehr rechenintensiver Prozess für die damaligen Desktop-PCs der 90er Jahre war. The early adopters of X.500 found that DAP (X.500's directory client access protocol) was fairly complex and not well suited for or available on the desktop computers of the day (PCs and Macintoshes). DAP is large, complex, and dicult to implement, and most implementations perform poorly. Because most potential 13

26 directory users had ordinary machines on their desks, the people deploying X.500 began to look for an approach that avoided the heavyweight DAP. [How98] Da die eingeschränkte Nutzungsmöglichkeit auf Desktop-PCs kein idealer Zustand war, nahm sich eine weitere Arbeitsgruppe der Problematik an und entwickelte mit dem LDAP Standard eine abgespeckte, leichtgewichtige Version von DAP, welche auf dem aus dem Internet bewährten TCP/IP Protokoll aufsetzt. Wie man in Abbildung 3.2 gut sehen kann, kommt dieses im Vergleich zu OSI mit nur 4 Schichten aus. Dadurch können Abfragen schlanker und somit auch schneller abgearbeitet werden. In groÿen Netzwerkinfrastrukturen ist dies ein wichtiger Faktor um eine geringe Netzlast zu gewährleisten. Abbildung 3.2: OSI versus TCP/IP Protokoll, nach [Car03] In der Praxis setzte sich aus diesen Gründen im Laufe der Zeit clientseitig auÿschlieÿlich das LDAP Protokoll durch. 14

27 3.2 LDAPv3 Die aktuell gültige Version 3 von LDAP (LDAPv3) wurde bereits im Dezember 1997 von M. Wahl, T. Howes und S. Kille veröentlicht. Version 2 ndet aufgrund mangelnder Sicherheitsmechanismen heutzutage kaum mehr Verwendung und wird aus diesem Grunde nicht näher erläutert. Das LDAPv3 Protokoll wird in mehreren Request for Comments (RFCs) 2 genauer speziziert: RFC Technical Specication of LDAPv3 [3377] RFC Lightweight Directory Access Protocol (v3) [2251] RFC Attribute Syntax Denitions [2252] RFC String Representation of Distinguished Names [2253] RFC The String Representation of LDAP Search Filters [2254] RFC The LDAP URL Format [2255] RFC A Summery of the X.500(96) User Schema for use with LDAPv3 [2256] RFC Authentication Methods for LDAP [2829] RFC Extension for Transport Layer Security [2830] Wenn nicht anders angegeben beziehen sich die folgenden Informationen direkt aus diesen RFCs Konzept und Modelle In RFC 2251 wird das LDAP Verzeichnis grundsätzlich in 2 Modelle aufgeteilt: In das Protokoll- und Datenmodell. In Understanding and Deploying LDAP Directory Services von Timothy A. Howes, Mark C. Smith und Gordon S. Good [How98], welches auch gerne als die LDAP Bibel bezeichnet wird, wird jedoch nach den folgenden 4 Modellen unterschieden: Informationsmodell (information model) Namensgebungsmodell (naming model) Funktionsmodell (functional model) Sicherheitsmodell (security model) Diese Unterteilung wird auch in dieser Diplomarbeit zur weiteren Erläuterung von LDAP aufgegrien Informationsmodell Das Informationsmodell deniert die Struktur der Informationen, die in einem Verzeichnis gespeichert werden können. 2RFCs sind eine Sammlung von technischen und organisatorischen Beschreibungen über die Standards die die Funktionalität des Internet's erklären. Dies ist ein oener Standardisierungsvorgang der von der Internet Engineering Task Force (IETF) organisiert wird. Der Zugang zu den RFCs ist oen und kostenlos. Alle veröentlichten RFC Dokumente können über die Seite URL: [12. April 2005] abgerufen werden. 15

28 Der Eintrag - entry Die grundlegende Informationseinheit in einem Verzeichnis stellt dabei ein Eintrag (Englisch: entry) dar. Ein Eintrag ist eine Sammlung an Informationen, die ein Objekt beschreiben. Im Regelfall beschreibt ein Eintrag ein Objekt aus der realen Welt, wie zum Beispiel einen Mitarbeiter. Doch auch Objekte wie Abteilungen, Server oder Drucker können ohne weiteres abgebildet werden. Diese werden im Idealfall auch gleich entsprechend dem Organigramm des Unternehmens hierarchisch im Verzeichnis abgelegt. Die Summe aller Einträge in einem Verzeichnis wird als Directory Information Tree (DIT) bezeichnet. Abbildung 3.3 zeigt den Aufbau eines Beispielverzeichnisses mit den korrespondierenden Objekten aus der realen Welt. Das Unternehmen dc=skilldeal, dc=de Die Abteilungen ou=people ou=server ou=entwicklung ou=marketing cn=mailserver1 uid=aweiler uid=mbona Abbildung 3.3: Beispiel DIT eines Verzeichnisses Ein jeder Eintrag ist dabei einem eindeutigen Namen, dem distinguished name (DN), zugeordnet. Im Unternehmensbeispiel aus Abbildung 3.3 lautet der DN der Wurzel des DIT dc=skilldeal,dc=de. Über die Namensgebung des DN wird noch im späteren Verlauf näher eingegangen. Einstweilen reicht es zu wissen, dass mit diesem DN das Verzeichnis und deren Einträge angesprochen werden können. Attribute Ein jeder Eintrag enthält eine Reihe von Attributen, welche abhängig vom Objekt sind. Ein jedes Attribut wiederum besteht aus einem Typen (Englisch: type) und einem oder mehreren Werten (Englisch: values). Der Typ deniert, um welche Art von Information es sich bei dem Attribut handelt, und der Wert enthält die eigentlichen Daten. So kann ein Personenobjekt mehrere Attribute enthalten, in welchen personenbezogene Daten abgespeichert werden. Beispiel für solche Daten wären der Vor- und Nachname, -Adresse, Telefonnummern, Anschrift und dergleichen. Tabelle 3.1 auf der nächsten Seite liefert eine Auswahl an wichtigen Attributstypen die u.a. im RFC 2256 [2256] beschrieben werden. Viele dieser Notationen wurden direkt von X.500 übernommen, einige wurden jedoch geändert bzw. ganz weggelassen. Einem Attributstypen können auch gleich mehrere Werte zugeordnet werden. Dies ist zum Beispiel dann interessant wenn man zu einer Person mehrere Telefonnummern speichern will. In solch einem Fall spricht man von einem multi-value Attribut. 16

29 Attributstyp Beschreibung cn commonname (ein eindeutiger Name) userpassword Passwort c Staat sn surname (Nachname) uid eindeutige User ID mail -Adresse title Titel o Organisation ou organisationalunit (Abteilung) street Straÿenname postalcode Postleitzahl telephonnumber Telefonnummer Tabelle 3.1: Auswahl von Attributstypen Neben diesen bisher genannten Typen gibt es noch sogenannte operative Typen, die jedoch nicht transparent für den Anwender sind. Operative Typen werden automatisch vom Verzeichnisdienst angelegt und verwaltet. Sie enthalten unter anderem Statusinformationen der jeweiligen Einträge oder des Verzeichnisses. Der modifytimestamp Typ wäre zum Beispiel ein solcher operativer Typ. Dieser enthält den Zeitpunkt der letzten Änderung des Eintrages und wird automatisch vom Verzeichnisdienst aktualisiert. Standardmäÿig werden diese Typen bei der Ausgabe einer Suchabfrage unterdrückt, können jedoch mittels einer speziellen Suchabfrage auch angefordert werden. Darauf wird dann im noch folgenden Abschnitt auf Seite 24 näher eingegangen. Syntax und Vergleichsmuster Der Typ eines Attributs legt gleichzeitig auch noch zwei wichtige Eigenschaften des Eintrages fest: Die Syntax und die Vergleichsmuster (Englisch: matching rules). Die Syntax gibt an, welche Daten im Attributswert gespeichert werden können. Dies ist vergleichbar mit den Datentypen einer Variable in der Programmierung. So bedeutet zum Beispiel die INTEGER-Syntax, dass nur Zahlen als Werte erlaubt sind. Vergleichsmuster hingegen sind wichtig für die Such- und Vergleichsoperationen im Verzeichnis. Die Vergleichsmuster denieren dabei nach welchem Muster die Werte verglichen und eingeordnet werden sollen. Ein Beispiel für ein Vergleichsmuster wäre der caseignorematch. Durch die Angabe dieses Vergleichsmuster wird case-insensitive 3 nach den Werten in den Einträgen gesucht. Dies bedeutet, dass eine Suche nach aweiler und AWeiler dasselbe Resultat liefern würde. Eine zweite wichtige Funktion der Vergleichsmuster ist die Festlegung der Sortierungsreihenfolge. Je nachdem welches Vergleichsmuster mit dem Typen verbunden ist, wird das Suchergebnis beispielsweise alphabetisch (caseignorematch) oder numerisch (integermatch) sortiert. Tabelle 3.2 auf der nächsten Seite listet weitere Vergleichsmuster auf. 3Ohne Berücksichtigung der Groÿ- und Kleinschreibung 17

30 Vergleichsmuster Bedeutung caseignorematch Ermöglicht case-insensitive Suche numericstringmatch Vergleicht Zahlen die als Strings gespeichert sind integermatch Vergleicht Integer Zahlen telephonnumbermatch Berücksichtigt internationale Schreibweise von Telefonnummern caseignoresubstringmatch Sucht nach einem Teilstring case-insensitive numericstringsubstringmatch Sucht nach einen Teilstring von Zahlen Tabelle 3.2: Auswahl an Vergleichsmustern und deren Bedeutung Objektklassen und Schema Ein Eintrag kann nun aber nicht wahllos mit irgendwelchen Attributstypen versehen werden. Mit Hilfe des speziellen und obligatorischen Attributtyps Objektklasse (Englisch: objectclass) wird festgelegt, welche Typen zwingend erforderlich und welche optional für einen Eintrag sind. Damit der Verzeichnisserver weiÿ, welche Objektklassen und Attribute gültig sind, werden ihm diese in sogenannten Schematas 4 mitgeteilt. Schon bei X.500 wurden die wichtigsten Schematas genau festgelegt und auch groÿteils bei LDAP (siehe RFC 2256 [2256]) übernommen. So muss zum Beispiel ein Personeneintrag, welcher durch die Objektklasse person beschrieben wird, die Typen cn (commonname) und sn (surname) auf jeden Fall enthalten. Pichtfelder werden dabei als MUST Attribute und optionale als MAY Attribute gekennzeichnet (siehe Abbildung 3.4). objectclass: person cn: sn: obligatorische Attribute (MUST) userpassword: telephonenumber: seealso: description: optionale Attribute (MAY) # person objektclass Definition from RFC 2256 ( NAME person SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userpassword $ telephonenumber $ seealso $ description ) ) Abbildung 3.4: Die Objektklasse person im Detail In den Schemadenitionen der Objektklassen (siehe rechts in Abbildung 3.4) kann durch das Schlüsselwort SUP (Englisch: superior) angegeben werden, von welcher Elternklasse die jeweilige Objektklasse abstammt. So ist eine hierarchische Verknüpfung der einzelnen Objektklassen möglich, wobei die Kindsklassen sämtliche MUST und MAY Attribute ihrer überliegenden Objektklassen automatisch vererbt bekommen. Die Objektklasse top ist die Ursprungsklasse von welcher letztendlich alle Objektklassen abstammen. Weiters lassen sich Objektklassen in drei verschiedene Typen unterteilen: 4Dies sind Textdateien die sämtliche gültigen Attribute und Objektklassen enthalten. 18

31 Strukturell Objektklassen die strukturell sind, beschreiben einen tatsächlichen Eintrag im DIT. Pro Eintrag darf nur eine einzige strukturelle Objektklasse angegeben werden. Der Wert einer strukturellen Objektklasse kann nachträglich nicht mehr verändert werden. Man kann also beispielsweise nicht einen angelegten person Eintrag in einen organisation Eintrag umwandeln. Dies kann nur durch Löschung und Neuanlegung des Eintrages bewerkstelligt werden. Auxiliary Auxiliary Objektklassen können alleine keinen gültigen Eintrag im DIT bilden. Hingegen erweitern sie bestehende strukturelle Objektklassen mit Attributen. Eine spezielle auxiliary Objektklasse ist das im RFC 2252 [2252] beschriebene extensibleobject, mit welchem sämtliche bekannten Attribute einem Eintrag optional hinzugefügt werden können. Abstrakt Abstrakte Objektklassen existieren eigentlich nicht wirklich als Objekt im DIT und werden nur als Vorfahre für abgeleitete Klassen eingesetzt. Bekanntestes Beispiel dieses Typs ist die Objektklasse top, von welcher sämtliche Objektklassen abstammen. In der Denition der top Objektklasse wird festgelegt, dass das Attribut objectclass obligatorisch (MUST) ist. Diese Regel wird somit auf alle weiteren Objektklassen weitervererbt. Tabelle 3.3 listet einige gängige Objektklassen und deren Funktion auf. Objektklasse Bedeutung person beschreibt einen einfachen Personeneintrag organisation ein Unternehmen organisationalunit eine Abteilung posixaccount eine Vorlage für einen Benutzeraccount unter Linux inetorgperson eine umfangreiche Erweiterung der person Objektklasse sambasamaccount ein Samba 3 Benutzereintrag Tabelle 3.3: Auswahl an Objektklassen und deren Bedeutung Wenn nun ein neuer Eintrag im Verzeichnis angelegt werden soll, führt der Server einen sogenannten Schemacheck durch. Hierbei wird überprüft ob auch tatsächlich alle obligatorischen bzw. zulässigen Attributstypen zugewiesen wurden. Sollte dieser Schemacheck nicht erfolgreich sein, wird die Anlegung des neuen Eintrages mit einer Fehlermeldung vom Server abgelehnt. Schematas bzw. Objektklassen können jedoch ohne weiteres selbst ergänzt und in das Verzeichnis eingebunden werden. So gibt es inzwischen ein Reihe weiterer Objektklassen wie zum Beispiel den posixaccount (siehe RFC 2307 [2307]) für Unix/Linux Benutzereinträge, die inetorgperson (siehe RFC 2798 [2798]) oder die sambasamaccount Klasse, welche im Zuge der Samba 3 Entwicklung geschrieben wurde Namensgebungsmodell Das LDAP Namensgebungsmodell deniert, wie Einträge im DIT identiziert und organisiert werden. Es beschreibt, wie die einzelnen Bausteine (Einträge) eines Verzeichnisses aufgebaut 19

32 werden können, und wie diese eindeutig angesprochen werden. Wie schon bereits erwähnt, werden die Einträge in einer Baumstruktur abgespeichert. Die Wurzel des Baumes wird oft auch als Basis oder Sux bezeichnet. Im Vergleich zu X.500 gibt es bei LDAP keine Einschränkung wie tief und in welcher Systematik die Hierarchie gebaut werden kann. Hier stehen dem Administrator alle Freiheiten oen. Alle Geschwister eines Elternknotens müssen dabei über ein eindeutiges Attribut verfügen um eine Unterscheidung zu gewährleisten. Dieses eindeutige Attribut wird als der relative distinguished name (RDN) bezeichnet. Somit kann man jeden Eintrag einzeln identizieren, indem man alle RDNs, die auf dem Pfad vom gewünschten Eintrag bis hinauf zur Wurzel liegen, aneinanderfügt. Diese Kombination der einzelnen RDNs, welche durch einen Beistrich getrennt werden, liefert dann den distinguished name (DN) des Eintrages. Aus dem Beispiel von Abbildung 3.3 auf Seite 16 ergibt sich somit für den Personeneintrag mit der RDN uid=aweiler folgender DN: DN: uid=aweiler, ou=entwicklung, ou=people, dc=skilldeal, dc=de Diese Methodik ist vergleichbar mit der Namensgebung von Internetadressen durch den Domain Name System (DNS). Lokale, rmeninterne Zonen 5 benden sich auch hier ganz links im Domainnamen. Je weiter rechts man sich bewegt desto gröÿer werden die abgedeckten Zonen - bis schlieÿlich mit der sogenannten Top Level Domain (TLD) 6 die Wurzel erreicht wird. Als Trennzeichen fungiert hierbei ein einfacher Punkt anstelle eines Beistriches. Ein kurzes Beispiel soll diesen Zusammenhang verdeutlichen: Domainname: mail.berlin.skilldeal.de Bei LDAP hat sich die Methode durchgesetzt, den Wurzel-DN eines Unternehmens von dessen Internetadresse abzuleiten. Ein Grund dafür ist, dass somit gewährleistet wird, dass der Wurzel-DN weltweit eindeutig zugeordnet ist. Dafür wurde per RFC 2247 [2247] das Attribut Domain Component (DC) eingeführt. Zum Beispiel wird die Internetadresse http: //www.skilldeal.de somit auf den DN (dc=skilldeal,dc=de) übersetzt Funktionsmodell Das funktionale Modell deniert die Operationen, mit denen man auf Einträge eines Verzeichnisses zugreifen oder diese verändern kann. Diese Operationen können in drei Kategorien klassiziert werden: Abfrage - Operationen: Beinhalten die Operationen search und compare, über welche man gezielt Informationen aus dem Verzeichnis auslesen kann. Die compare Operation ermöglicht es zu testen, ob ein Eintrag einen speziellen Attributswert enthält. Eigentlich ist die compare Funktion inzwischen überüssig, weil sich die selben Ergebnisse auch mittels der search Operation erzielen lassen. Die compare Funktion wird aber aus historischen Gründen (Kompatibilität mit X.500 Verzeichnissen) auch weiterhin unterstützt. Die search Operation stellt sicherlich die wichtigste Funktion eines Verzeichnisdienstes dar. Auf deren umfangreiche Möglichkeiten zur Eingrenzung einer Suche wird im folgenden Abschnitt gesondert eingegangen. 5Eine Zone beschreibt den Bereich, für die ein einzelner Nameserver verantwortlich ist. 6Bekannte TLD sind z.b..com,.at oder.de. 20

33 Update - Operationen: Beinhalten die Operationen add, delete, modify und modify RDN, mit denen man einzelne Einträge hinzufügen, löschen, verändern oder verschieben kann. Authentizierungs - Operationen: Beinhalten die Operationen bind, unbind und abandon, mit denen man eine Verbindung zu einem LDAP Server beginnen oder beenden kann. Mittels bind meldet man sich für eine LDAP Verbindung an. Somit kann man, je nachdem wie sie aufgerufen wird, entweder anonymen oder autorisierten Zugri auf das Verzeichnis erhalten. Sendet der Client eine unbind Operation, beendet der Server alle noch ausstehenden LDAP Operationen und schlieÿt die TCP Verbindung mit dem Client. Mit Hilfe des abandon Befehls kann der Client eine langwierige LDAP Operation vorzeitig abbrechen. Die abandon Operation wird dabei mit der Message ID, welche der abzubrechenden Operation zugeordnet ist, aufgerufen Sicherheitsmodell Das Sicherheitsmodell befasst sich mit dem Schutz der Verzeichnisdaten vor unautorisierten Zugrien. Dies ist einer der wichtigsten Aspekte bei der Einführung eines Verzeichnisdienstes in einem Unternehmen. Insbesondere muss gewährleistet werden: 1....dass sensible Daten nicht oen zugänglich sind (Zugriskontrolle) dass Daten nicht von beliebigen Clients verändern werden können (Autorisierung) dass die Datenkommunikation im Netzwerk nicht abgehört werden kann (Verschlüsselung) dass der Empfänger tatsächlich die korrekten Daten erhält, die der Sender verschickt hat (Integrität) dass die beiden Kommunikationspartner tatsächlich diejenigen Personen oder Rechner sind, als die sie sich ausgeben (Authentizität). Die beiden ersten Punkte lassen sich noch recht einfach mittels einer Benutzerverwaltung und einfachen Passwortschutz realisieren. Dies wird bei LDAP mittels dem bind Befehl ermöglicht, welcher als Parameter den DN des Benutzereintrages im Verzeichnis und ein Passwort, welches mit dem Wert des userpasswort Attributes verglichen wird, enthält. Bei übereinstimmenden Passwörtern kann der Client einen privilegierteren Zugang auf das Verzeichnis erhalten und beispielsweise seine eigenen persönlichen Daten modizieren. Die Festlegung welcher User über wieviel Rechte verfügt, kann vom Administrator des LDAP Servers mittels der Access Control List (ACL) gesteuert werden. Für diese ACLs gibt es zwar noch keinen gültigen interoperablen Standard, jedoch wird im noch folgenden Abschnitt auf Seite 58 auf ACLs unter der OpenLDAP Serverlösung näher eingegangen. Diese relativ einfache Autorisierung birgt jedoch ein groÿes Sicherheitsrisiko in Unternehmensnetzwerken. Das Passwort wird dabei nämlich im Klartext über das Netzwerk geschickt und könnte relativ leicht ausgespäht werden. Um dieses Problem zu lösen wird seit LDAPv3 21

34 der Simple Authentication and Security Layer (SASL) 7 und Transport Layer Security (TLS) 8 unterstützt. Somit lässt sich der gesamte Netzwerkverkehr verschlüsseln und die Identität der Kommunikationspartner kann mittels Zertikaten, Chipkarten und anderen SASL kompatiblen Schutzmechanismen gewährleistet werden. Die Funktionsweise von TLS und dem Public-Key-Verfahren gilt als eine der zur Zeit sichersten und verbreitetsten Methoden um Netwerkverkehr abhörsicher zu machen. Nähere Informationen ndet man unter [Res00]. LDAPv3 unterstützt zwei Methoden um einen TLS Schutz zu ermöglichen: LDAP über Secure Socket Layer (SSL) (LDAPS): Es wird ein eigener Port (636) für die verschlüsselte Kommunikation benötigt. Mittels der StartTLS Operation. StartTLS wurde als erweiterte Operation (Englisch: extended operation) 9 im RFC 2830 [2830] eingeführt. Damit kann auch über den Standard LDAP Port (TCP/389) jederzeit vom Client eine sichere TLS Verbindung initiiert werden. 7SASL wird im RFC 2222 [2222] speziziert. Es ermöglicht die Authentizierung für verbindungsorientierte Protokolle (wie z.b. LDAP). Es sieht vor, dass sich die Kommunikationspartner untereinander einen Schutzmechanismus aushandeln und diesen dann über die gesamte weitere Verbindung verwenden. Dies können unterschiedliche Mechanismen sein wie zb. Kerberos 5, DIGEST-MD5 verschlüsselte Passwörter, Zertikate, Chipkarten oder ähnliches. 8TLS ist ein Verschlüsselungsprotokoll nach dem Public-Key Verfahren. Dieses kann über das LDAP Protokoll gelegt werden, wodurch automatisch alle LDAP Netzwerkpakete geschützt übertragen werden. Ein Entschlüsseln der Pakete ohne dem korrekten privaten Schlüssel (private key) ist nahezu unmöglich. Für nähere Informationen siehe auch [Res00]. 9Erweiterte Operationen wurden bei LDAPv3 eingeführt um neue Operationen einem LDAP Server hinzufügen zu können, ohne sofort eine neue Version des LDAP Standards veröentlichen zu müssen. 22

35 3.2.2 LDIF Das LDAP Data Interchange Format (LDIF) wurde im RFC 2849 [2849] deniert und dient dazu Daten und Einstellungen eines Verzeichnisses in für Menschen lesbarer Form extern abzuspeichern. Wie in der Unix/Linux Welt üblich erfolgt dies über eine einfache Textdatei, welche nach einer vorgegebenen Formatierung sämtliche Informationen über die Einträge in einem Verzeichnis widerspiegelt. Wie einer der Autoren von LDAP selbst anmerkte, wäre inzwischen wohl die extensible Markup Language (XML) 10 das idealere Format für diesen Zweck gewesen. Doch zur Zeit als LDAP standardisiert wurde, existierte XML noch nicht. Es folgt ein Beispiel für eine LDIF Datei, die insgesamt vier (gekürzte) Einträge aus einem LDAP Verzeichnis enthält. Datei: Beispiel.ldif # Eintrag 1: dc=skilldeal,dc=de dn:dc=skilldeal,dc=de dc: skilldeal o: skilldeal objectclass: dcobject objectclass: organization objectclass: top # Eintrag 2: ou=users,dc=skilldeal,dc=de dn:ou=users,dc=skilldeal,dc=de ou: Users objectclass: top objectclass: organizationalunit # Eintrag 3: ou=groups,dc=skilldeal,dc=de dn:ou=groups,dc=skilldeal,dc=de ou: Groups objectclass: top objectclass: organizationalunit # Eintrag 4: uid=aweiler,ou=users,dc=skilldeal,dc=de dn:uid=aweiler,ou=users,dc=skilldeal,dc=de uid: aweiler givenname: Andreas sn: Weiler cn: Andreas Weiler userpassword: ****** loginshell: /bin/bash uidnumber: 1001 gidnumber: 1000 homedirectory: /home/aweiler objectclass: top objectclass: person objectclass: posixaccount objectclass: inetorgperson 10XML ist eine sehr einfaches, exibles Textformat, welches sich inzwischen groÿer Beliebtheit, vorallem im Webbereich, als universaler Datenaustauschstandard erfreut. Siehe auch [XML]. 23

36 Anhand dieses Beispieles sind auch gut die wichtigsten Formatierungsmerkmale einer LDIF Datei ersichtlich: Kommentare werden zeilenweise mit dem Raute-Zeichen (#) eingeleitet. Einträge werden mittels einer Leerzeile voneinander getrennt. Ein Eintrag beginnt mit dessen DN in der ersten Zeile. Alle zugehörigen Attribute werden zeilenweise aufgelistet. Der Attributstyp steht links und der Wert rechts von einem Doppelpunkt Die Suchanfrage Dieser Abschnitt soll die Suchoperation des LDAP Protokolles näher erläutern. Auch wird ein Einblick in den TCP/IP Verkehr einer LDAP Suchanfrage und in die Funktionsweise von Suchltern gegeben LDAP Nachrichten Alle Anfragen und Operationen werden bei LDAP in sogenannten LDAP Nachrichten untergebracht. Im Falle einer Suchanfrage würde der Client zunächst eine bind Anfrage an den Server schicken, welche von dem Server mit einem positiven Resultcode erwidert wird. Anschlieÿend kann der Client die Suchanfrage an den Server schicken. Dieser nimmt sie entgegen, arbeitet sie ab und sendet dann ebenfalls eine oder mehrere LDAP Nachrichten als Antwort. Pro gefundenem Treer wird dabei eine LDAP Nachricht vom Server gesendet. Beendet wird die Suchanfrage mit der Übermittlung des Resultcodes durch den Server und der clientseitigen unbind-anfrage. Der chronologische Ablauf einer Suchanfrage ist in Abbildung 3.5 ersichtlich. Abbildung 3.5: Ablauf einer Suchanfrage nach [How98] Beispiel einer Suchanfrage Um ein etwas greifbareres Bild von dem Ablauf einer Suchanfrage zu bekommen, empehlt es sich den tatsächlichen Netzwerkverkehr mittels einem Sningtool, wie zum Beispiel dem 24

37 Open Source Programm Ethereal 11, aufzuzeichnen und zu analysieren. Die Abbildung 3.6 zeigt den Ablauf der LDAP Nachrichten zwischen Client und Server, die bei einer Suche nach allen Einträgen (Suchlter = (objectclass=*)) versendet werden. Abbildung 3.6: Netzwerkverkehr einer einfachen LDAP Suchanfrage Die Suchanfrage im Detail Wie man anhand der LDAP Nachricht der Suchanfrage (Englisch: search request) aus Abbildung 3.6 sehen kann, können einer Suchanfrage mehrere Parameter mitgegeben werden: 1. Basisobjekt DN des Ausgangspunktes der Suche. 2. Suchbereich (search scope) Legt die Suchtiefe fest. Tabelle 3.4 liefert die 3 möglichen Suchbereiche und deren Bedeutung. Suchbereich Bedeutung base Durchsucht nur das angegebene Basisobjekt onelevel Basisobjekt inklusive dessen Kindseinträgen sub Basisobjekt inklusive aller darunterliegenden Einträge Tabelle 3.4: Gültige Suchbereiche 3. Alias-Dereferenzierungsoption Aliaseinträge sind Verweise auf einen anderen Eintrag im Verzeichnis. Dieser Parameter legt fest, ob diese bei der Suche berücksichtigt werden sollen oder nicht. 11Erhältlich unter URL: [22. März 2005]. 25

38 4. Gröÿenlimit Anzahl der gefundenen Einträge die zurückgegeben werden sollen (Standard = alle). 5. Zeitlimit Zeitdauer in Sekunden nach der eine Suchanfrage abgebrochen werden soll. 6. Nur-Attributstypen Parameter Falls dieser Parameter gesetzt ist, werden nur die gefundenen Attributstypen nicht aber deren Werte angezeigt. 7. Suchlter Der Suchlter stellt den wichtigsten Punkt einer Suchanfrage dar. Hier kann festgelegt werden, nach welchen Kriterien die Suche durchgeführt werden soll. Der folgende Abschnitt erläutert die verschiedenen Filteroptionen. 8. Attribute Legt fest, welche Attribute als Ergebnis vom Server zurückgegeben werden sollen. Somit lassen sich die Suchergebnisse gezielt nach den gewünschten Attributstypen ltern. Über diesen Parameter kann der Client auch operative Typen wie zum Beispiel modierstimestamp explizit anfordern. Diese müssen jedoch einzeln aufgelistet werden, selbst bei der Verwendung des Asterisk Symboles (*), weil dieses per Denition einen Platzhalter ausschlieÿlich für alle nicht-operativen Typen darstellt Suchlter Mittels Suchlter können Einschränkungen der Suche angegeben werden. Es gibt verschiedenen Typen von Suchltern: Gleichheitslter: Der Gleichheitslter liefert alle Einträge zurück, die einem bestimmten Suchwort genau entsprechen. Beispiel: (sn=weiler) Da das Attribut sn mit dem Vergleichsmuster caseignorematch verbunden ist, erfolgt die Suche ohne Berücksichtigung der Groÿ- und Kleinschreibung Präsenzlter: Dieser Filter liefert alle Einträge die das gewünschte Attribut enthalten. Merkmal dieses Filters ist das Asterisk Symbol. Beispiel: (sn=*) 26

39 Resultat: Liefert alle Einträge die das Attribut sn enthalten. Oder anders ausgedrückt: Alle Einträge in denen das Attribut sn präsent ist. Häug wird der Präsenzlter (objectclass=*) verwendet um eine Auistung aller Einträge im Verzeichnis zu erhalten Teilstringlter: Die folgende Tabelle 3.5 soll die verschiedenen Einsatzmöglichkeiten des Teilstringslters näher skizzieren. Zentrales Merkmal des Filters ist wiederum das Asterisk Symbol, welches als Platzhalter für beliebige Zeichenfolgen steht. Suchlter (sn=*ler) (sn=wei*) (sn=*le*) Bedeutung Liefert alle Einträge in denen der Nachname auf -ler endet. Liefert alle Einträge in denen der Nachname mit wei- beginnt Liefert alle Einträge in denen der Nachname die Zeichenfolge -le- enthält. Tabelle 3.5: Mögliche Teilstringsuchlter Ähnlichkeitslter: Merkmal des Ähnlichkeitslters ist das Tilde Symbol: Beispiel: (sn~=weeler) Resultat: Liefert Einträge die dem Suchwort ähneln. Das Beispiel würde trotz Tippfehler den Eintrag (sn=weiler) zurückliefern Gröÿenvergleichslter: Gröÿer oder gleich einem bestimmten Wert: Beispiel: (sn>=weiler) Kleiner oder gleich einem bestimmten Wert: Beispiel: (sn<=weiler) Die Beispiele würden Einträge, die alphabetisch sortiert vor oder nach (sn=weiler) liegen, zurückliefern. 12Das Attribut objectclass muss in jedem Eintrag vorhanden sein. 27

40 extensible Match - exible Erweiterung der Filter Dieser mit LDAPv3 eingeführte Suchlter ermöglicht es den Clients auf neue vom Serveradministrator selbst kreierte Vergleichsmuster (matchingrules) zugreifen zu können. Die genaue Erklärung dieses Filters würde jedoch über den Umfang dieser Arbeit hinausreichen. Für nähere Informationen sei auf [How98] verwiesen Boolesche Kombinationen Ein jeder dieser Filter kann zusätzlich mit den booleschen Operationen AND (`&'), OR (` ') und NOT (`!') kombiniert werden. Beispiel: AND: (& (filter1) (filter2)) OR: ( (filter1) (filter2)) NOT: (! (filter1)) Wie man anhand des Beispieles sieht, wird eine Prex-Notation für die booleschen Operationen verwendet. Dies bedeutet, dass zunächst der boolesche Operator festgelegt wird und erst anschlieÿend die zu vergleichenden Filter folgen. 28

41 3.3 OpenLDAP In diesem Abschnitt soll das Open Source Projekt OpenLDAP näher vorgestellt werden. OpenLDAP stellt die Funktionalitäten für einen vollständigen Verzeichnisdienstserver bereit und braucht sich aufgrund seines inzwischen hohen Entwicklungsstandes nicht vor einem Vergleich mit kommerziellen Lösungen scheuen. Es wird auf die geschichtliche Entwicklung und auf die verschiedenen Bestandteile der OpenLDAP Programme eingegangen Allgemeine Informationen - Geschichte Das OpenLDAP Projekt ist eine direkte Weiterführung des U-M LDAP Projektes der Universität von Michigan [UMLD]. Dieses gilt als die erste Beispielimplementierung des LDAP Standards, und die Erkenntnisse aus diesem Projekt ossen auch direkt in die LDAP Arbeitsgruppe ein. So verwundert es nicht, dass T. Howes, einer der Autoren des LDAP Standards, Lektor an der Universität von Michigan ist. Im Jahre 1996 entschied man sich mit der Version 3.3 des U-M LDAP Servers die Entwicklung in der Universität einzustellen und der Quelltext wurde zur Weiterentwicklung von der Open Source Gemeinde aufgenommen. Um eine möglichst eziente Fortführung zu gewährleisten wurde das OpenLDAP Projekt im August 1998 von Kurt Zeilenga gegründet. Dadurch wurden die weiteren Entwicklungsschritte gemeinsam koordiniert. Dies war sogleich auch die Geburtsstunde der Version 1.0 des OpenLDAP Softwarepaketes. Seitdem wurden natürlich kontinuierlich neue Versionen veröentlicht. Mit Erscheinen der Version 2.0 im August 2000 wurde eine vollständige LDAPv3 Unterstützung eingeführt. Aktuell ist die Version 2.2, in welcher vorallem einige neue LDAPv3 Erweiterungen implementiert wurden. OpenLDAP besteht aus einem Kernentwicklungsteam, welches sich zur Zeit aus den 3 Personen Kurt Zeilenga, Howard Chu und Pierangelo Masarati zusammensetzt. Daneben gibt es noch ein weiteres Engineeringteam 13, welche dafür sorgen, dass möglichst rasch und kompetent auf mögliche Fehler oder Sicherheitsmängel reagiert werden kann. Doch natürlich ist es jedem interessierten Programmierer möglich, auch selbst am Erfolg von OpenLDAP beizutragen. Die Projekthomepage 14 liefert diesbezüglich näheren Informationen Die OpenLDAP Software Die Software kann entweder direkt über die Homepage bezogen werden und anschlieÿend selbst entsprechend der Anleitung von OpenLDAP kompiliert werden, oder unter Debian GNU/Linux lassen sich alle notwendigen vorkompilierten Pakete (slapd und ldap-utils) durch folgenden Befehl installieren: # apt-get install slapd ldap-utils Je nachdem welche Version von Debian eingesetzt wird, steht somit unter Woody die Version und unter Sarge die Version zur Verfügung 15 (Stand: März 2005). 13Die Internetseite [21. März 2005] liefert eine Auistung aller aktiven Programmierer, die Schreibzugri auf den oziellen OpenLDAP Quellcode haben. 14URL: [21. März 2005] 15Das Debian Betriebssystem steht jederzeit in den drei verschiedenen Versionen stable, testing und unstable zur Verfügung. Die stable Version trägt den Codenamen Woody und ist die ozielle stabile und für produktive Server empfohlene Distribution. Sarge bezeichnet die testing Distribution und enthält Pakete, die in der 29

42 Es wird davon ausgegangen, dass der Leser mit dem Debian Paketverwaltungstool APT vertraut ist. Sollte dies korrekt ausgeführt worden sein, kann man nun auf die im folgenden erklärten neuen Programme zugreifen. slapd - Standalone LDAP Daemon Slapd stellt das Herzstück, den eigentlichen LDAP Server dar. Die Konguration des Servers erfolgt über die Datei /etc/ldap/slapd.conf. Hier legt man unter anderem fest, welche Wurzel DN das Verzeichnis haben soll (Sux), wo und in welcher Weise die Verzeichnisdaten im Dateisystem gespeichert werden sollen und welche Art der Authentizierung erlaubt ist. Eine ausführliche Beschreibung der einzelnen Parameter erfolgt im Kapitel auf Seite 56. Sobald nun slapd gestartet wird ist der Server für den Empfang von LDAP Nachrichten auf dem standardmäÿigen LDAP Port 389 bereit. Ähnlich wie bei DNS sieht auch OpenLDAP vor, einen Masterserver und einen oder mehrere Slaveserver zu unterstützen. Dies empehlt sich schon alleine aus Datensicherungsgründen und um in einem gröÿeren Netzwerk die Netzlast auf mehrere Server zu verteilen. Die Slaveserver werden dabei mittels dem Replikationsdienst slurpd auf dem aktuellen Stand des Masterservers gehalten. slurpd - Standalone LDAP Update Replication Daemon Wie bereits erwähnt ist die Hauptaufgabe von slurpd Änderungen eines LDAP Servers (Master) einem 2. oder mehreren LDAP Servern (Slave) mitzuteilen. Slurpd wird über dieselbe Datei, wie slapd konguriert (/etc/ldap/slapd.conf). Damit die Replikation funktioniert muss slurpd gemeinsam mit slapd auf dem Masterserver ausgeführt werden. Alle Änderungen die im Verzeichnis statt- nden werden von slapd in ein Logle (replication log) geschrieben. Dieses wird ständig von slurpd überwacht. Wird nun eine Änderung im Verzeichnis durchgeführt, wird dies in das Logle geschrieben, woraufhin wiederum slurpd diese Änderung mittels dem LDAP Protokoll den Slaveservern mitteilt. Abbildung 3.7 auf der nächsten Seite stellt diesen Ablauf dar. Wie man weiters in Abbildung 3.7 erkennen kann, können Änderungen aus Konsistenzgründen nur am Masterserver durchgeführt werden. Sollte ein Client eine Änderunganfrage an einen Slaveserver schicken, erhält der Client den Verweis (Englisch: referral) auf den Masterserver, an welchem er nochmals den Änderungswunsch senden muss. LDAP Clienttools Mit dem OpenLDAP Paket verbunden sind auch einige nützliche Kommandozeilenprogramme, mit welchen man direkt auf den LDAP Server zugreifen kann. Diese sind unter Debian im Paket ldap-utils enthalten. Die LDAP Clienttools im Einzelnen: ldapsearch - Ermöglicht eine Sucheanfrage an den LDAP Server zu schicken. ldapadd - Tool zum Hinzufügen eines neuen Eintrages. ldapdelete - Tool zum Entfernen eines Eintrages. stabilen Version noch nicht akzeptiert werden, aber in der Warteschlange dafür stehen. Sarge bietet aktuellere Programmversionen als Woody, jedoch keine ozielle Unterstützung durch das Sicherheitsteam von Debian. In der unstable Distribution (Codename Sid) benden sich Pakete an denen gerade entwickelt wird. Sie wurden noch keinen Testphasen unterzogen und können somit fehlerhaft sein bzw. das System (nomen est omen) in einen instabilen Zustand versetzen. Produktive Server, die noch dazu über das Internet ansprechbar sind, haben somit aus Sicherheitsgründen ausschlieÿlich die stable Distribution zu verwenden. 30

43 1. Update request Slave 7. slurpd 2. Referral Client Update request 4. Respone Master 5. replication log Abbildung 3.7: Replikation eines Verzeichnisses auf mehrere Slaveserver ldapmodify - Tool zum Ändern eines Eintrages. ldappasswd - Tool zum Ändern des userpassword Attributes. ldapcompare - Ermöglicht das Versenden einer compare Operation an den Server. slapcat - Gibt den gesamten Inhalt des Verzeichnisses im LDIF Format aus. LDAP API Im OpenLDAP Softwarepaket wird auch eine vollständige LDAP Application Programming Interface (API) nach dem RFC 1823 [1823] in den Programmiersprachen C und C++ zur Verfügung gestellt. Dies ist nützlich, wenn man selbst Software mit clientseitiger LDAP Unterstützung programmieren will, da nur mehr die API Dateien in das eigene Programm inkludiert werden müssen. 31

44 Kapitel 4 Samba Let's just get rid of these horrible protocols. Andrew Tridgell, Gründer des Samba Projektes Dieses Kapitel beschäftigt sich mit dem Open Source SMB/CIFS Server Samba, welcher einen Datei- und Druckerserver für Windows Netzwerke ermöglicht. Im Speziellen wird auf NetBIOS über TCP/IP (NBT), das Server Message Block (SMB) Protokoll (auch bekannt als Common Internet File System (CIFS)) und Windows Domänen Controller eingegangen. Der letzte Abschnitt liefert als Abrundung einen Überblick über die wichtigsten Programme aus dem Samba 3 Paket. 4.1 Allgemein Vorweg muss erwähnt werden, dass über diese Thematik sehr wenige frei zugängliche Primärquellen vorhanden sind. Der Grund hierfür liegt in der Entwicklungsgeschichte von SMB, welche immer schon sehr stark mit der Entwicklung von Microsoft's Betriebssystemen verbunden war. Ursprünglich wurde SMB in den 80er Jahren von IBM entwickelt und standardisiert. Dies wurde auch von Microsoft in ihre Betriebssysteme integriert. Relativ rasch wurde SMB die bevorzugte Methode für den Datenaustausch in Microsoft - Netzwerken und somit wurde das SMB Protokoll von Microsoft auch ständig weiterentwickelt, um neue Funktionalitäten anbieten zu können. Nahezu mit jedem neuen Betriebssystem (Windows 3.11, Windows 95, 98, 2000) änderte sich somit auch das verwendete SMB Protokoll. Jedoch legte Microsoft Wert darauf, dass das Protokoll stets Abwärtskompatibilität gewährleisten kann, um Interoperabilität der eigenen Betriebssystemprodukte im Netzwerk gewährleisten zu können. Aus diesem Grunde handelt es sich bei SMB leider um keinen oenen und perfekt entworfenen Standard. Für zusätzliche Verwirrung sorgte Microsoft's Umbenennung von SMB in CIFS im Jahre 1996 aus Marketinggründen. Man erhote sich durch die Aufnahme des Wortes Internet, vom allgemeinen Hype rund um das Weltweite Netz, protieren zu können. 32

45 Christopher R. Hertel liefert mit seinem Buch Implementing CIFS [Her03] die wohl umfassendste und aktuellste Referenz zu dieser Thematik. Sein Buch stellt das Ergebnis seiner Bemühungen dar, alle (wenigen) frei verfügbaren Informationen über CIFS zusammenzutragen. Sei dies von oziellen Microsoft Dokumentationen, alten Standardisierungsentwürfen oder durch Mitarbeit beim Sambaprojekt. Dieses Buch diente somit auch als primäre Quelle für die ersten beiden Abschnitte dieses Kapitels. Neben dem erwähnten Buch gibt es noch folgende erwähnenswerte Quellen: Ein unregelmässig gewartetes Archiv von Microsoft das einige alte Dokumente und Entwürfe zu CIFS/SMB bereitstellt [MSF]. Bis zum Jahre 1997 zeigte Microsoft starkes Engagement an der Etablierung eines oziellen CIFS Internet Standards. Aus unternehmensinternen Gründen wurden diese Bemühungen jedoch überraschend wieder eingestellt. Dabei übrig geblieben ist ein von der IETF nicht abgesegneter Entwurf eines CIFS Standards, welcher jedoch trotzdem hilfreiche Informationen enthält [CIFS]. Auf diesen Entwurf aufbauend veröentlichte die Storage Networking Industry Association (SNIA) eine weiteren CIFS Spezikation. Diese stellt jedoch keinen oziellen Standard dar [SNIA]. X/Open (inzwischen umbenannt in The Open Group) veröentlichte 1992 zwei Bücher, die eine inzwischen zwar veraltete aber sehr ausführliche Beschreibung der SMB Spezikation darstellen. Siehe [XOPa] und [XOPb]. 4.2 Überblick / Geschichte CIFS bzw. SMB wurde bereits 1980 von IBM erstmals eingeführt. Microsoft bietet seit dem Betriebssystem DOS Version 3.1 SMB Unterstützung an. Der Versand von SMB/CIFS Paketen wurde von Microsofts Betriebssystemen anfangs mittels dem Network Basic Input Output System (NetBIOS) ermöglicht. Dies ist eine Software Schnittstelle (API) welche 1983 ebenfalls von IBM entwickelt wurde. NetBIOS stellt eine API zur Verfügung, mit der Anwendungen direkt im Netzwerk verteilte Ressourcen, wie zum Beispiel Dateien, Drucker oder serielle Schnittstellen, ansprechen und nutzen können. NetBIOS ist aber nicht geeignet für groÿe Netzwerke - schon gar nicht dem Internet - da dafür alleine schon die Namensgebungskonvention für Netzwerkknoten zu eingeschränkt ist. Es existieren die verschiedensten NetBIOS Implementierungen für die unterschiedlichsten Netzwerk Protokolle. So gibt es zum Beispiel NetBIOS Unterstützung für DECnet, NetWare oder SNA Netzwerke. Doch die interessanteste und bedeutendste Erscheinung von NetBIOS ist NetBIOS over TCP/IP (NBT), welches im folgenden Abschnitt genauer beschrieben wird. 33

46 4.3 NetBIOS over TCP/IP - NBT NBT sitzt auf der 5. OSI Schicht (session) und wurde 1987 von der IETF in den RFCs 1001 [1001] und 1002 [1002] standardisiert. Seit Windows 3.11 ist NBT die bevorzugte Transportschicht für die SMB/CIFS Pakete in einem Microsoft - Netzwerk. Allgemein stellt NBT drei Dienste zur Verfügung: Namensservice Datagram Service Session Service Diese werden im Folgenden näher erläutert Namensservice (Name Service) Im Gegensatz zu IP, werden bei NetBIOS keine spezischen Hardwareadressen, Netzwerkadressen oder Ports benötigt um einen Teilnehmer im Netzwerk ansprechen zu können. Die Identikation erfolgt über den NetBIOS Namen, welcher 16 Zeichen lang sein darf (wobei nur 15 Zeichen vom Endanwender benützt werden können). Die Namen werden dynamisch im Netzwerk vergeben. Wenn eine Anwendung oder ein Rechner einen neuen Namen benötigt, kann dieser eigenständig beantragt und anschlieÿend auch wieder freigegeben werden. Der Vorgang der Namensvergabe wird als Reservierung (Englisch: registration) bezeichnet. Zumindest ein NetBIOS Name muss je Teilnehmer standardmäÿig vergeben werden - dies ist der Machine Name oder auch bekannt als Workstation Service Name. Es gibt zwei Arten von NetBIOS Namen die registriert werden können: Eindeutige, also Namen die nur einmal im Netzwerk vergeben werden dürfen, und Gruppennamen. Gruppennamen dienen dazu, mehrere Teilnehmer über einen Namen gleichzeitig ansprechen zu können. Ähnlich wie DNS, dient auch der Namensservice von NetBIOS dazu die Kommunikation mit den Netzwerkteilnehmern zu ermöglichen ohne über deren IP Adressen Bescheid zu wissen. Einzig ein gültiger NetBIOS Name wird hierfür benötigt. Die Namensauösung kann in einem Netzwerk je nach Art und Gröÿe auf mehrere Arten erfolgen: B Knoten (Broadcast) - Namensauösung Im B Modus ist ein jeder Netzwerkteilnehmer selbst für die Aktualisierung seiner Liste von NetBIOS Namen und der damit verbundenen IP Adressen verantwortlich. Soll nun ein noch unbekannter Name aufgelöst werden, erfolgt dies über eine Broadcast Nachricht (NAME QUERY REQUEST) an alle Teilnehmer im lokalen Netzwerk. Derjenige Teilnehmer, auf den der Name zutrit - und nur dieser - antwortet auf die Anfrage ebenfalls mittels einer Broadcast Nachricht (NAME QUERY RE- SPONSE) in welcher dieser seine IP Adresse mitliefert. Diese neue IP Adresse kann nun von allen Teilnehmern lokal in die Namensdatenbank eingetragen werden. Abbildung 4.1 stellt diesen Ablauf bildlich dar. Anzumerken ist, dass dies nur funktionieren kann, wenn sich sämtliche NetBIOS Teilnehmer im selben Netzwerksegment benden, da Broadcast Nachrichten bekanntlich nicht ohne weiteres über ein Segment hinaus geroutet werden. Diese Methode ist also vorallem in kleinen, privaten Heimnetzwerken sinnvoll. 34

47 1. Wo ist "Moritz"? Max Backup Moritz Sandkiste 2. Hier bin ich! Meine IP: Abbildung 4.1: Namensauösung bei NetBIOS (B Knotentypen) P Knoten (Peer) Namensauösung Falls sich die Teilnehmer nicht alle im selben Netzwerksegment benden, kommt ein NetBIOS Name Server (NBNS - auch bekannt als WINS 1 ) zum Einsatz. Dieser Namensserver verwaltet nun alleine alle NetBIOS Namen für das gesamte Netzwerk. Damit dies sinnvoll funktioniert, müssen die Teilnehmer vorher die IP Adresse des NBNS mitgeteilt bekommen. Dies kann beispielsweise automatisch mittels dem Dynamic Host Conguration Protocol (DHCP) erfolgen. Alle Teilnehmer richten nun ihre Namensregistrierungen und Anfragen direkt an den Server, welcher die zentrale Namensdatenbank verwaltet (siehe auch Abbildung 4.2). Donald Daisy Dagobert Daniel Karlo NBNS Gustav Ich bin "Karlo". Meine IP: Wo ist "Karlo"? 3. "Karlo" ist auf IP Abbildung 4.2: Namensauösung bei NetBIOS (P Knoten) M Knoten (mixed) und H Knoten (hyprid) Dies sind zwei weitere Arten der Namensauösung, die im wesentlichen eine Kombination von B und P Knotentypen sind. M 1Windows Internet Name Server (WINS) ist Microsoft's Bezeichnung für NetBIOS Name Server. 35

48 Knoten bevorzugen den B Knotentyp vor P Knotentyp, während der H Knotentyp genau umgekehrt agiert. Nähere Informationen zu dem M Knotentyp kann man dem RFC 1001 [1001] entnehmen. Windowsrechner arbeiten bei der Namensauösung standardmäÿig nach der Reihenfolge des H Knotentyps. Sämtliche Namensauösungsmechanismen laufen einheitlich über den UDP Port 137 ab Datagram Service Mittels dem Datagram Service lassen sich gezielt UDP Pakete über NetBIOS verschicken und empfangen. UDP ist bekanntlich ein verbindungsloses Protokoll, welches keine Zustellung gewährleisten kann, jedoch schneller und mit weniger Overhead Pakete erzeugen kann. Die NetBIOS API sieht hierfür 4 Funktionen vor: Send Specic Datagram Benötigt als Parameter einen NetBIOS Namen, abhängig vom Typen des Names werden mit dieser Funktion unicast (eindeutiger NetBIOS Name) oder multicast (Gruppenname) Pakete versendet. Send Broadcast Datagram Dient zum Verschicken von broadcast UDP Paketen per NetBIOS. Receive Specic Datagram Dient zum Empfangen von unicast UDP Paketen per NetBIOS. Receive Broadcast Datagram Dient zum Empfangen von broadcast UDP Paketen per NetBIOS. Der Datagram Service ist vorallem für das Browser Protokoll 2 wichtig und läuft einheitlich über UDP Port Session Service Dies ist die für den tatsächlichen Datenaustausch bedeutendste Funktion. Über den Session Service werden die wichtigsten SMB Pakete versendet, welche beispielsweise zum Datentransfer oder auch zur Authentizierung benötigt werden. Der folgende Abschnitt geht genauer auf die verschiedenen SMB Nachrichten ein. Der Session Service läuft standardmäÿig unter TCP Port NetBIOS Ausblick Seit Windows 2000 wäre der SMB Versand auch komplett ohne NetBIOS möglich. Hierfür wird dann zur Namensauösung DNS verwendet und die SMB Pakete werden direkt per TCP an Port 445 versendet. Aus Kompatibilitätsgründen mit den älteren Betriebssystemen unterstützt aber Windows 2000 SMB über NBT standardmäÿig. Es kann aber davon ausgegangen werden, dass eines Tages der NetBIOS Dienst komplett verdrängt wird, um so eine einfachere und ezientere CIFS Unterstützung zu ermöglichen. 2Das Browser Protokoll dient der Auistung aller Netzwerkteilnehmer in der Windows Netzwerkumgebung, welche jedoch nicht immer verlässlich arbeitet. Unter anderem deswegen, weil bei UDP keine Zustellung der Nachrichten gewährleistet werden kann. 36

49 4.4 CIFS im Detail Nachdem die Rahmenbedingungen der Arbeitsweise von Windowsnetzwerken mittels NBT erklärt wurde, kann nun auf CIFS dem eigentlichen Dateiaustausch - Protokoll eingegangen werden CIFS Dialekte Wie bereits gehört, wurde das CIFS Protokoll im Laufe der Zeit von Microsoft kontinuierlich erweitert und mit zusätzlichen Funktionen ausgestattet und hat mit der ersten Version von SMB aus dem Hause IBM nicht mehr viel gemeinsam. Bei den verschiedenen Versionen des Protokolls spricht man von Dialekten. Bevor eine CIFS Verbindung zustande kommt, müssen sich daher beide Gesprächspartner zunächst auf einen gemeinsamen Dialekt einigen. Den Vorzug erhält dabei immer der neueste, gemeinsam unterstützte Dialekt. Diese Aushandlung des Dialekts erfolgt mittels den Negotiate Protocol Nachrichten, welche noch genauer erläutert werden. Tabelle 4.1 listet die wichtigsten bisherigen Dialekte auf, chronologisch gereiht mit dem aktuellsten Dialekt am Ende. Dialektbezeichnung Beschreibung PC NETWORK PROGRAM 1.0 Wird gerne auch als Kernprotokoll (CORE) bezeichnet. Dies ist der Urvater des SMB Protokolls wie er von IBM erstmals deniert wurde. Er bietet noch keine Unterstützung für Benutzernamen. MICROSOFT NETWORKS 1.03 Erweiterung des PC NETWORK Protokolls, auch als CORE+ bekannt. LANMAN1.0 (LM1.0) Ergebnis der gemeinsamen Entwicklung von Microsoft und IBM um auch OS/2 Betriebssysteme besser zu unterstützen. LM1.0 ist auch als MICROSOFT NETWORKS 3.0 bekannt. LANMAN2.0 (LM2.0) Der LAN Manager 2.0 Dialekt wurde sowohl für DOS als auch OS/2 entwickelt und es wurden ein paar neue SMB Funktionen eingeführt. Die OS/2 Version bietet zusätzlich, erweiterte Fehlermeldungen an. LANMAN2.1 (LM2.1) Weiterentwicklung des LAN Manager 2.0. NT LM 0.12 Dieser Dialekt wurde in Zuge von Windows NT entwickelt, wird jedoch von allen aktuellen Windows Versionen wie Windows 9x, 2000 und XP unterstützt. Aus diesem Grund ist er auch der meistverbreitetste Dialekt. CIFS Oft wird auch CIFS als eigener Dialekt angeführt. Bis jetzt wurde aber noch keine ozielle Version von Microsoft verabschiedet. Tabelle 4.1: Übersicht der verschiedenen SMB Dialekte 37

50 4.4.2 Sicherheitsschichten SMB beschreibt zwei mögliche Arbeitsweisen von SMB Servern die sich auf das Authentizierungsverhalten auswirken: Die Freigabeschicht (Englisch: share level): Diese Sicherheitsschicht war im ursprünglichen SMB Core-Protokoll der einzig mögliche Zugrisschutzmechanismus. Eine Dateifreigabe wird nur mittels einem Passwort geschützt, oder falls gewünscht auch komplett ohne Passwortschutz. Somit wird ein anonymer Zugri auf Dateien ermöglicht. Durch Verteilung eines Passwortes an eine Gruppe oder Projektteam kann ohne viel administrativen Aufwand ein gemeinsames Arbeitsverzeichnis im Netzwerk erstellt werden, durch welches die Produktivität der Teamarbeit gefördert wird. Die Verbreitung des Passwortes muss jedoch gesondert und manuell erfolgen. Hier liegt auch der Nachteil dieser Sicherheitsschicht: Sollte das Passwort in falsche Hände gelangen, muss die gesamte Gruppe ein neues Passwort mitgeteilt bekommen und sich dieses wieder einprägen. Auch ist es möglich anhand des verwendeten Passwortes unterschiedliche Befugnisse automatisch zu verteilen. So könnte beispielsweise eine Gruppe nur lesend auf Dateien zugreifen und eine andere auch schreibend. Die Benutzerschicht (Englisch: user level): Hierbei muss sich jeder Anwender selbst mit gültigem Benutzernamen und Passwort anmelden. Anhand der ihm zugeordneten Rechte und Gruppen entscheidet der Server nach der Authentizierung auf welche Dateien Zugri erlaubt ist und welche Funktionen benutzt werden dürfen. Diese Methode wird seit Lan Manager 1.0 unterstützt CIFS Verbindungsaufbau SMB Nachrichten zwischen Client und Server arbeiten immer nach dem selben Prinzip. Der Client schickt eine Anfrage (Englisch: request) an den Server und dieser beantwortet diese (Englisch: response). Es handelt sich also wie bei LDAP auch hier um ein klassisches Client/Server Prinzip. Wie bereits gehört, muss als erster Kommunikationsschritt der Client mit dem Server einen gemeinsamen Dialekt mittels der sogenannten Negotiation Protocol Request Nachricht aushandeln. Die Anfragenachricht beinhaltet dabei den minimal und maximal unterstützten Dialekt des Clients. Der Server wertet diese Nachricht aus und schickt in der Antwortnachricht, dem (Negotiation Protocol Response), den aktuellsten von ihm unterstützten Dialekt zurück. Sollte kein gemeinsamer Nenner gefunden werden, wird dies mit einem Fehlermeldung beantwortet und eine weitere Kommunikation ist nicht möglich. Nachdem man sich auf den Dialekt geeinigt hat, kann sich nun der Client, falls gewünscht, authentizieren. Dies erfolgt mittels der SESSION SETUP Nachricht. Die Antwort des Servers gibt an, ob die übertragene Benutzernamen und Passwort Kombination gültig war. Falls dies der Fall sein sollte, wird dem Client mit der Antwort auch eine eindeutige User ID (UID) zugeteilt, welche bei allen weiteren Transaktionen mit dem Server angegeben werden muss. Nun kann sich der Client mit einer Netzwerkfreigabe des Servers verbinden. Dies erfolgt über die sogenannten TREE CONNECT Nachricht. Auf diese Verbindungsanfrage wird dem Client bei Erfolg eine Tree ID (TID) mitgeteilt, welche bei allen weiteren Operationen mit der verbundenen Freigabe angegeben werden muss. 38

51 CLIENT SERVER negprot Anfrage negprot Antwort sesssetup Anfrage sesssetup Antwort (UID) tcon Anfrage tcon Antwort (TID) Abbildung 4.3: Client/Server Kommunikation bei CIFS Sobald eine Verbindung mit einer Freigabe steht, kann der Client nun Dateien önen (OPEN), Dateien lesen (READ), beschreiben (WRITE) und schlussendlich auch wieder schlieÿen (CLOSE). Abbildung 4.3 stellt den möglichen Ablauf der SMB Nachrichten schematisch dar CIFS - SMB Nachrichten SMB Nachrichten besitzen ein spezielles Format, welches sowohl für Anfrage- als auch für Antwortnachrichten verwendet wird. Jede Nachricht besteht grundsätzlich aus drei verschiedenen Teilen: Header Parameterbereich Nutzdaten Es gibt jedoch besondere SMB Nachrichten, die sogenannten AndX Nachrichten. Diese enthalten gleich mehrere verkettete (Englisch: chained) SMB Kommandos pro Paket, um die maximal erlaubte Gröÿe eines einzelnen TCP Paketes ezienter zu nützen. AndX Nachrichten besitzen ebenfalls einen Header, können aber mehrere Parameter- und Nutzdatenteile enthalten. Im Parameterteil wird dabei mittels dem AndXOset-Feld eine Referenz auf das folgende SMB Kommando gegeben. 39

52 Der SMB Nachrichten Header Wie in Abbildung 4.4 ersichtlich ist, besteht der Header aus mehreren Feldern und einer x vorgegebene Gröÿe von 64 Bytes. Abbildung 4.4: Der SMB Header nach [Her03] Tabelle 4.2 beschreibt die Bedeutung der einzelnen Headerfelder Die SMB Nachrichten Parameter Der Mittelteil einer SMB Nachricht besteht aus zwei Feldern: WordCount und Words. WordCount Anzahl der Words (1 Word entspricht 2 Bytes) im Words-Feld. Words Feld in dem die Parameterdaten gespeichert werden. Kann maximal 510 Bytes aufnehmen. Die Aufgabe des Parameterteils ist der Parameterübergabe von Funktionsaufrufen in der Programmierung sehr ähnlich. Anhand des im Header festgelegten Typs der SMB Nachricht werden über den Parameterteil die für dieses Kommando notwendige Parameterwerte an Client oder Server übergeben Die SMB Nachrichten Nutzdaten Der letzte Abschnitt einer SMB Nachricht enthält schlieÿlich die eigentlichen Nutzdaten, wie beispielsweise den Inhalt einer angeforderten Datei. Wie der Parameterteil besteht der Nutzdatenteil nur aus zwei Feldern: ByteCount Anzahl der Bytes im Bytes-Feld. Bytes Feld in dem die Nutzdaten gespeichert werden. Kann maximal Bytes aufnehmen. 40

53 Headerabschnitt 0xSMB COMMAND STATUS Beschreibung SMB Nachrichten beginnen immer mit genau diesen vier Bytes. Diese werden auch als der Protocol Identier bezeichnet. In diesem Feld wird festgelegt, um welche Typ von Nachricht es sich handelt. Bei einer Negotiate reqest würde hier beispielsweise der Wert 0x72 stehen. Enthält die gegebenenfalls erforderliche Fehlermeldung. FLAGS und FLAGS2 Hiermit wird unter anderem festgelegt ob es sich um eine Anfrage oder eine Antwort handelt. Weiters kann angegeben werden, ob neue Funktionalitäten wie erweiterte Fehlermeldungen unterstützt werden sollen. EXTRA TID PID UID MID Waren anfangs reservierte (ungenutzte) Felder die erst mit den aktuellsten Dialekten verwendet werden. Wichtig ist das EXTRA Feld zur Kennzeichnung der SMB Pakete mit einer verschlüsselten Signatur, um Man-in-the-middle Attacken zu unterbinden. Die Tree ID dient der eindeutigen Zuordnung von bestehenden Freigabeverbindungen. Die Prozess ID des Clientsprozesses, der eine Anfrage geschickt hat. Dient der korrekten Zuordnung einer Antwort durch den Client. User ID ist eine eindeutige vom Server vergebene ID des angemeldeten Benutzers. Die Multiplex ID dient dem Client zur korrekten Zuordnung von Antworten falls mehreren Anfragen, die unter der selben PID abgesetzt wurden, noch ausständig sind. Tabelle 4.2: Bestandteile des SMB Headers 41

54 4.4.5 CIFS Authentizierungsverfahren Die Methode wie sich einzelne Clients gegenüber dem Server authentizieren, wurde im Laufe der einzelnen Dialekte häug überarbeitet und verbessert. Grund hierfür ist, dass die ersten Verfahren Schwachstellen aufwiesen und somit für den Einsatz in Unternehmensnetzwerken nicht geeignet wären. In den folgenden Abschnitten wird auf die verschiedenen Verfahren eingegangen Klartext Passwörter In der ersten Version von SMB (CORE) war eine Benutzerauthentizierung nicht vorgesehen. Es war nur möglich, dass die Netzwerkressourcen mittels einem Passwort geschützt werden konnten. Dieses Passwort wurde anfangs jedoch im Klartext übermittelt und konnte somit relativ einfach von anderen Netzwerkteilnehmern ausgespäht werden Challenge/Response Verfahren Um die Übertragung des Passwortes zu schützen, wurde seit dem LANMAN Dialekt das sogenannte Challenge/Response Verfahren eingeführt. Hiermit wird dafür gesorgt, dass nicht mehr das eigentliche Passwort im Klartext übertragen wird, sondern ein Hashwert, welcher keinen Rückschluss auf das ursprüngliche Passwort liefert. Der genaue Ablauf des Challlenge/Response Verfahrens sieht folgendermaÿen aus: 1. Der Server erzeugt eine Zufallszahl (Challenge) und sendet diese an den Client. Dies geschieht bereits über die Antwort Nachricht der Dialektaushandlung (Negotiate Protocol Response). 2. Der Client errechnet einen Hashwert (Response), welcher gemeinsam mittels der Zufallszahl und dem Passwort gebildet wird. Dabei wird eine mathematische Einwegfunktion, eine Hashfunktion 3, verwendet. Der Hashwert wird zurück an den Server gesendet. 3. Der Server berechnet ebenfalls den Hashwert und verwendet dabei das lokal gespeicherte Passwort des anzumeldenden Benutzers und die von ihm zuvor erzeugte Zufallszahl. Falls der selbstberechnete Wert mit dem übermittelten Wert vom Client übereinstimmt war die Authentizierung erfolgreich. Abhängig vom jeweiligen Dialekt gibt es bei der Berechnung der Challenge- und Responsewerte unterschiedliche Arbeitsweisen: LANMAN Challenge/Response Mit dem LANMAN 1.0 Dialekt wurde erstmals ein Challenge/Response Verfahren eingeführt. Zum Berechnen des Responsewertes wird die Data Encryption Standard 3Hashfunktionen sind mathematische Einwegfunktionen, die vorallem im Bereich der Kryptographie von Bedeutung sind. Hashfunktionen haben die Eigenschaft, dass sie für einen beliebigen Anfangswert X sehr rasch einen eindeutigen Hashwert Y abbilden können. Jedoch ist dieser Vorgang nicht invertierbar. Kennt man nur den Hashwert Y ist somit eine Rückgewinnung des Anfangswertes X nicht möglich. Oft wird der Hashwert auch als Message Digest (MD) oder digitaler Fingerabdruck bezeichnet. Als Vertreter von standardisierten Hashfunktionen seien bspw. DES, MD4, MD5 oder SHA genannt. 42

55 (DES) 4 Hashfunktion verwendet. Dabei sind jedoch nur ASCII 5 konforme Zeichen für die Verwendung als LANMAN Passwörter erlaubt. Serverseitig werden von den Passwörtern sicherheitshalber nur deren Hashwert abgespeichert, welche ebenfalls nach dem DES Verfahren gebildet werden. Bei der Berechnung dieses Hashwertes, werden jedoch alle einzelnen Zeichen des Passwortes in Groÿbuchstaben umgewandelt. Dies schränkt die mögliche Anzahl der Passwörter ein und macht die Hashwerte leichter verwundbar gegen Brute-Force Attacken 6. NT LANMAN Challenge/Response Im Unterschied zu LANMAN ist bei NT LM ein erweiterter Zeichensatz für die Passwörter erlaubt und die Berechnung des Hashwertes erfolgt mittels der MD4 Hashfunktion, welche im RFC 1320 [1320] beschreiben wird und im Vergleich zu DES als sicherer einzustufen ist. NTLM Version 2 NTLMv2 verwendet im Unterschied zur Vorgängerversion eine Kombination der Hashfunktionen MD5 [1321] und dem Hashed Message Authentication Code (HMAC) [2104]. Durch HMAC kann die Authentizität der empfangenen SMB Nachrichten überprüft werden. GSS-API Security Blob Dies ist eine erweiterte Sicherheitsfunktion von CIFS. Im sogenannten security blob Datenfeld einer SMB Nachricht werden Generic Security Services-API (GSS-API) konforme Pakete transportiert, mit welchem sich Client und Server auf einen Sicherheitsmechanismus einigen können. GSS-API wird im RFC 2478 [2478] näher dokumentiert Kerberos Kerberos ist ein verteilter Authentizierungsdienst, der für oene und unsichere Computernetze (z. B. das Internet) von Steve Miller und Cliord Neuman entwickelt wurde. Die zur Zeit aktuelle Version ist Kerberos 5 und wird im RFC 1510 deniert [1510]. Microsoft verwendet seit Windows Server 2000 eine modizierte Version von Kerberos als bevorzugtes Authentizierungsverfahren in Windows-Netzwerken. Die Domänen Controller agieren dabei als vertrauenswürdige Kerberos 5 Netzwerkdienste (realm). Will ein Client sich bei einem Server anmelden um zum Beispiel Zugri auf Dateien zu erhalten, wird dies über den Kerberos Server geregelt. Dieser stellt für beide Kommunikationsparteien ein zeitlich begrenztes Ticket aus, mit welchem die gegenseitige Authentizierung erfolgt. Kerberos ist ein eigenes - von CIFS unabhängiges - Netzwerkprotokoll. Die eigentliche Authentizierung beim Zugri auf eine Netzwerkfreigabe ist somit Aufgabe des darüberliegenden Betriebssystemes. Die Arbeitsweise von Kerberos in Windows-Netzwerken ist ein sehr umfassendes und komplexes Thema, welches in dieser Arbeit nicht näher erläutert wird. Für nähere Informationen sei auf Kerberos: The Denitive Guide von Jason Garman [Gar03] verwiesen. 4DES wurde vom amerikanischen National Institute of Standards and Technology (NIST) als Standard veröentlicht. Siehe auch [DES]. 5American Standard Code for Information Interchange (ASCII) beschreibt einen einfachen Zeichensatz, der ausschlieÿlich alle notwendigen Zeichen zur Textdarstellung von Englisch enthält. So sind bspw. unter ASCII keine deutschen Umlaute verwendbar. 6Bei Brute-Force Attacken werden einfach alle Kombinationsmöglichkeiten für Passwörter der Reihe nach getestet bis der Hashwert mit dem zu suchenden Hashwert übereinstimmt. Durch Zuhilfenahme eines Wörterbuches kann diese Methode sehr rasch erfolgreich sein. 43

56 4.4.6 CIFS Wichtige Kommandos Die Operationen im CIFS Protokoll werden als Kommandos bezeichnet und anhand des COMMAND-Feldes im Header identiziert. Mit der Weiterentwicklung des SMB Protokolles wurde der Satz an möglichen Kommandos ständig erweitert. Tabelle 4.3 liefert eine Auswahl an wichtigen SMB Kommandos zugeordnet zu den Dialekten in denen sie erstmals eingeführt wurden. Dialekt Kommando Beschreibung CREATE Önet eine Datei. Legt eine neue Datei an falls sie noch nicht existiert. Als Antwort wird die File ID (FID) an den Client gesendet. CLOSE Schlieÿt eine Datei. PC NETWORK DELETE Löscht eine Datei. PROGRAM 1.0 FLUSH Auorderung des Clients zur Übertragung sämtlicher Daten einer geöneten Datei. READ Zum Lesen des Inhaltes einer Datei. NEGOTIATE Kommando zur Aushandlung des Dialektes. WRITE Zum Schreiben von Daten in eine Datei. COPY Kopiert eine oder mehrere (Wildcards sind erlaubt) Dateien des Servers. ECHO Sendet den Inhalt der Anfragenachricht zurück. Dient hauptsächlich dem Testen der Funktionsweise der SMB Kommunikation mit einem Server. FINDFIRST Startet eine Suche nach Dateien. Liefert eine Search ID zurück. Mehrere Treer können mit dem FINDNEXT Kommando abgefragt werden. Die Suche wird durch das FINDCLOSE Kommando beendet. LANMAN1.0 OPEN ANDX Erweitert das OPEN Kommando mit zusätzlicher Funktionalität wie der Unterstützung für versteckte Dateitypen. Auÿerdem wird eine Verkettung (AndX) mit weiteren Kommandos (z.b.: READ) ermöglicht. READ ANDX SESSIONSETUPX WRITE ANDX Ähnlich dem normalen READ Kommando. Zusätzlich wird eine Verkettung mit dem CLOSE Kommando möglich. Authentizierung eines Benutzers. Liefert User ID (UID) bei Erfolg an den Client zurück. WRITE Kommando mit AndX Unterstützung TREECONNECT ANDX Verbindung mit einer Freigabe herstellen. Liefert Tree ID (TID) Fortsetzung folgt... 44

57 Dialekt Kommando Beschreibung TRANSACTION2 Ermöglicht den Nachrichtenaustausch von Daten, die die maximale Buergröÿe einer SMB Nachricht übersteigen würden. Dieses Kommando sieht mehrere Unterkommandos vor. LANMAN2.0 TRANS2_OPEN2 Zum Önen einer Datei mit erweiterten Attributen (zb: langer Dateiname) TRANS2_FFIRST2 Zum Starten einer Suche nach Dateien. NT CANCEL Bricht eine Operation ab und beendet die Verbindung mit dem Server. NT LM 0.12 NT CREATE ANDX Önet oder erzeugt eine Datei NT TRANSACT Erweitert das Transaction Kommando Tabelle 4.3: Auswahl an SMB Kommandos 45

58 4.5 Domänen Controller Dieser Abschnitt widmet sich Windows Domänen Controllern, welche die zentrale Benutzerverwaltung in einem Windows Netzwerk übernehmen. Dank dem Samba Projekt kann für diesen Zweck auch ein Linux Server eingesetzt werden Denition - Domäne Wer schon einmal mit Windows Netzwerken zu tun hatte, stöÿt unausweichlich auch auf die zwei Grundbegrie Arbeitsgruppe und Domäne. Für den Betrieb eines kleinen, privaten Heimnetzwerkes, in dem nur der schnelle Dateiaustausch mit anderen Windowsrechnern gewünscht wird, ist eine Arbeitsgruppe die ausreichende Netzwerkeinstellung. Eine Arbeitsgruppe sorgt dafür, dass mehrere Windowsrechner, die einem gemeinsamen Netzwerk angehören sollen, in der Windows Netzwerkumgebung einheitlich aufscheinen. Eine Arbeitsgruppe dient also dazu, eine lose Zusammenhängigkeit von Windowsrechnern sowohl dem Betriebssystem als auch dem Benutzer zu veranschaulichen. Einer Arbeitsgruppe kann dabei ein jeder Rechner, der den Arbeitsgruppennamen kennt und sich im selben Netzwerk bendet, beitreten. Technisch gesehen sind Arbeitsgruppen nichts anderes als eine andere Bezeichnung für NetBIOS Gruppennamen (siehe Abschnitt auf Seite 34). Doch mit der wachsenden Anzahl an Netzwerkteilnehmern ist eine Verwaltung mittels Arbeitsgruppen nicht mehr vernünftig möglich. Genau für solche Zwecke sieht Microsoft den Einsatz von Domänen vor. Diese werden mit den Betriebssystemen Windows NT 4, Windows Server 2000, Windows Server 2003 ermöglicht. Mit Domänen lassen sich verschiedene Zugrisrechte auf im Netzwerk freigegebene Ordner auf Basis des angemeldeten Benutzers bewerkstelligen. Auch wird die gesamte Benutzerverwaltung zentral durch den sogenannten Domänen Controller (DC) bewerkstelligt. Rechner, die Mitglied einer Domäne werden wollen, müssen explizit vom Administrator hinzugefügt werden. Bei Domänen müssen sich nicht nur die Benutzer authentizieren, sondern es wird auch überprüft, ob der Rechner über einen gültigen Maschineneintrag in der zentralen Benutzerdatenbank verfügt. Dieser wird automatisch beim Beitreten in eine Domäne angelegt. Um einer Domäne beitreten zu können, muss dies vom Betriebssystem unterstützt werden (was bei sämtlichen Windows Versionen auÿer Windows XP Home der Fall ist) und der Benutzer muss dazu autorisiert sein. Aus diesen administrativen und sicherheitstechnischen Vorteilen sind Domänen die bevorzugte Netzwerkeinstellung in Firmennetzwerken aller Gröÿenordungen Domänen Controller - Typen Windows NT 4 Domänen Controller Diese lassen sich in zwei Arten unterscheiden: Primary Domain Controller (PDC) Der PDC ist der Hauptrechner, der für die Domäne verantwortlich ist und auf welchem Änderungen in den Einstellungen durchgeführt werden können. Die Benutzerdaten werden in der sogenannten Security Accounts Manager (SAM) Datenbank abgespeichert. SAM stellt dabei eine Erweiterung der Windows NT Registry dar. 46

59 Backup Domain Controller (BDC) Der BDC enthält eine Kopie der SAM Datenbank des PDCs und kann auch Authentizierungsanfragen entgegen nehmen. Der Zugri auf die SAM Datenbank erfolgt jedoch nur lesend, d.h. Änderungen in dieser können nur vom PDC durchgeführt werden. Aufgabe des BDCs ist somit für eine besseren Verteilung der Netzlast zu sorgen und die Verfügbarkeit des Domänen Controller Dienstes auch nach Ausfall des PDCs zu gewährleisten. Einer Domäne können mehrere BDCs angehören. Im Falle eines Systemausfalles des PDCs kann ein BDC zu einem PDC befördert werden. Active Directory Service - Domänen Controller (ADS-DC) Für ADS-Domänen Controller wird das Betriebssystem Windows Server 2000 oder Windows Server 2003 benötigt. Wie der Name schon vermuten lässt, verwenden ADS- DC den Active Directory (AD) Verzeichnisdienst, in welchem sämtliche Benutzerdaten und freigegebene Netzwerkressourcen abgespeichert sind. ADS-DCs sind multimasterfähig. Dies bedeutet, dass alle ADS Domänen Controller automatisch im Netzwerk als Master Controller fungieren können. Die Replikation des Verzeichnisses erfolgt in regelmäÿigen Abständen auf sämtliche Domänen Controller, die einen Verbund bilden. Eine Änderung in der Benutzerdatenbank kann von jedem DC entgegengenommen werden. AD bietet zur Datenabfrage LDAP Unterstützung und zur Authentizierung wird eine von Microsoft erweiterte Implementierung von Kerberos 5 eingesetzt. Auÿerdem wird bei ADS-DC prinzipiell auf NetBIOS verzichtet, und stattdessen DNS zur Namensauösung eingesetzt. Aus Kompatibilitätsgründen mit Windows NT 4 Domänen wird NetBIOS jedoch auch bei ADS-DC standardmäÿig unterstützt Domänen Controller - Roaming Proles Prole sind eine der wichtigsten Komponenten in Microsoft Windows Betriebssystemen um ein Mehrbenutzer-System, wie es unter Linux und Unix von Anfang an üblich war, zu ermöglichen. Unterstützung für lokale Benutzer-Prole existiert seit Windows 95, jedoch kann erst seit Windows 2000 und XP von einem vernünftigen Mehrbenutzer-System gesprochen werden. Unter Prolen versteht man sämtliche persönliche Dateien, die das Betriebssystem einem angemeldeten Anwender auf einem Windows Rechner zuordnet. Dies inkludiert zum Beispiel die Desktopeinstellungen, Programmeinstellungen, Outlook-Daten oder die Favoriten des Webbrowsers. Seit Windows 2000 werden lokale Prole einheitliche unter dem Pfad C:\Dokumente und Einstellungen\<Benutzername> abgespeichert. Falls man eine Domäne betreibt, ist es aber auch möglich die privaten Prole der Benutzer zentral auf einem Dateiserver auszulagern. Solche im Netzwerk zentral abgelegten Benutzerprole werden als roaming proles bezeichnet. Der Vorteil liegt klar auf der Hand: Ein Anwender kann von nun an unabhängig vom gerade verwendeten Arbeitsrechner auf seine gewohnte Arbeitsumgebung und persönlichen Dateien zurückgreifen. Nach einer erfolgreichen Anmeldung auf einem Arbeitsrechner der Mitglied der Domäne ist, wird das persönliche Prol automatisch vom Dateiserver beantragt und übermittelt. Voraussetzung ist jedoch, 47

60 dass das lokale Betriebssystem roaming proles unterstützt. Dies wird erst mit Windows NT, 2000 oder XP Professional vernünftig möglich. Windows 95 und 98 bieten zwar auch roaming proles an, diese sind jedoch inkompatibel mit Windows 2000 Prolen Arten von Prolen Wie bereits gehört, gibt es abhängig vom verwendeten Windows Betriebssystem unterschiedliche Typen von Prolen. Im weitern Verlauf werden diese als Win9x-Prole, WinNT-Prole bzw. Win2k-Prole bezeichnet. Tabelle 4.4 liefert einen Überblick über die genaue Zuordnung. Prol Betriebssystem Win9x-Prole Windows 95 Windows 98 Windows Me WinNT-Prole Windows NT 4.0 Win2k-Prole Windows 2000 Windows XP Professional Windows Server 2003 Tabelle 4.4: Windows Versionen und die zugehörigen Prole Mandatory Prole Eine spezielle Form von Prolen sind die sogenannten mandatory Prole. Solche, vom Netzwerkadministrator angelegten Benutzerprole, erlauben keine Abspeicherung von Änderungen, die der Benutzer durchgeführt hat. Somit wird es möglich, dass eine Gruppe von Benutzern eine einheitliche Arbeitsumgebung (bzw. Prol) zugewiesen bekommt. Dadurch wird beispielsweise der technische Support im Unternehmen erleichtert, und Fehlerquellen können minimiert werden Probleme beim Einsatz von Prolen Die unterschiedlichen Proltypen sind leider untereinander nicht kompatibel. Ein Win9x- Prol kann nicht als Win2k verwendet werden und umgekehrt. WinNT-Prole wiederum können zwar von Windows 2000 und höher gelesen werden, dabei werden diese jedoch in Win2k-Prole konvertiert und sind somit für Windows NT nicht mehr benutzbar. Um dennoch roaming proles in einer IT Landschaft mit unterschiedlichen Windows Betriebssystemen anbieten zu können, müssen für das jeweilige Betriebssystem eigene Prole am Server abgelegt werden. Aus administrativer Sicht wäre es aber auf jeden Fall empfehlenswert eine Windows Domäne in einem einheitlichen Betriebssystemumfeld zu betreiben Anmeldeskripte (Netlogon) Windows NT DCs bieten die Möglichkeit ein sogenanntes Netlogon Skript nach einer erfolgreichen Anmeldung an einem Domänen-Arbeitsrechner auszuführen. Damit können Vorgänge wie das Einbinden von Netzwerklaufwerken, die Synchronisation der lokalen Uhrzeit mit 48

61 einem Zeitserver, das Einbinden von Druckern oder das Starten und Updaten von Virenscannern automatisiert veranlasst werden. Den Möglichkeiten sind dabei nahezu keine Grenzen gesetzt. Windows Skriptdateien haben die Endung.bat oder.cmd und enthalten im einfachsten Fall die auszuführenden Programmnamen zeilenweise getrennt. Es steht jedoch auch eine Skriptsprache zur Verfügung, die bedingungsabhängige Befehlsaufrufe ermöglicht. 49

62 4.6 Samba Server Dieser Abschnitt liefert Hintergrundinformationen über das Open Source Projekt Samba und den daraus entstandenen Programmen. Auch wird ein kurzer Ausblick auf die aktuelle Entwicklung von Samba 4 gegeben Entwicklungsgeschichte Samba wurde erstmal 1992 von Andrew Tridgell veröentlicht, um den Datenaustausch zwischen den zwei Betriebssystemen SunOS und Ultrix zu ermöglichen. Später wurde die von einer Gemeinschaft freiwilliger Programmierer entwickelte Software stets erweitert. Zum festen Kern der Entwicklergemeinde von Samba zählen in etwa 20 Personen. Einige Firmen, wie z. B. IBM, leisten nanzielle und personelle Unterstützung. Der Name Samba wurde recht zufällig ausgewählt: Als sich Andrew Tridgell aufgrund einer Klagedrohung auf die Bezeichnung seines ursprünglichen Namens nach einer Alternative umsah, verwendete er einfach ein Rechtschreibkorrekturprogramm und gab diesem das Akronym SMB zur Überprüfung. Der erste Korrekturvorschlag lieferte damals das Wort Samba. Die momentan (April 2005) aktuelle stabile Version ist Samba Neue Features von Samba 3 Mit Samba 3 ist es möglich einen Windows NT 4.0 Domänen Controller zu betreiben. Auÿerdem bietet es noch weitere Features die es von der Vorgänger-Version unterscheidet: Active Directory Unterstützung. Samba 3 kann Mitglied einer ADS Domäne werden. Authentizierung wird per LDAP und Kerberos an den ADS-DC durchgeführt. Vollständige Unicode Unterstützung ermöglicht den Einsatz in nahezu allen Sprachen. Verbesserte Auswertung von Fehlermeldungen. Verbesserte Druckunterstützung für Windows 2000/XP Clients Erleichterte Migration einer Windows NT 4.0 Domäne auf eine Samba Domäne. Verteilte Benutzerdatenbank durch Anbindung an ein LDAP Verzeichnis Einschränkungen Samba DC Die Unterstützung des Samba Servers als Domänen Controller ähnelt sehr stark dem eines Windows NT 4.0 Domänen Controllers. Es muss aber erwähnt werden, dass ein Samba System zwar ausreichende DC - Features für den Betrieb in einem Unternehmensnetzwerk bietet, jedoch sind auch mit einigen Einschränkungen in Vergleich zu einem tatsächlichen Windows NT 4 PDC oder gar einem ADS-DC zu rechnen: Es ist keine SAM Replikation von einem Samba PDC auf einem Windows BDC möglich. 50

63 Keine Active Directory Domänen Controller Unterstützung. Jedoch kann Samba 3 ein Mitgliedserver einer ADS Domäne werden und somit seine Datei- und Druckerfreigabedienste in einer ADS Domäne anbieten. Die Benutzerauthentizierung erfolgt wie bereits erwähnt per LDAP und Kerberos an einem der Master ADS-DCs. Ein Groÿteil der Windows Richtlinien 7 (Englisch: policies) werden nicht unterstützt. Die Benutzer- und Richtlinienverwaltung ist nicht mittels Microsoft's Management Console (MMC) möglich Bestandteile Bei Debian ist das aktuelle Samba 3 Paket nur in der Sarge-Distribution erhältlich. Unter Sarge kann Samba 3 somit wie gewohnt mittels dem Befehl # apt-get install samba installiert werden. Anschlieÿend verfügt das System über die folgenden neuen Programme (Auswahl): smbd Der smbd-daemon 8 ist der eigentlich SMB/CIFS Server und somit das Kernstück des Samba Projektes. Smbd stellt die Datei- und Druck-Dienste in einem Netzwerk zur Verfügung und sorgt für die korrekte Benutzerauthentizierung. Sämtliche Kongurationseinstellungen für die Samba Programme erfolgen einheitlich über die Textdatei /etc/samba/smb.conf. Mögliche Parameter zur Konguration werden im folgenden Kapitel im Abschnitt auf Seite 60 näher vorgestellt. nmbd Der nmbd-daemon ist eine Implementierung eines vollständigen NetBIOS Nameserver der auch Browsingdienste zur Verfügung stellt. net Das net-utility ist nach dem entsprechenden Werkzeug unter Windows und OS/2 konzipiert und ermöglicht es, unterschiedlichste Anfragen an einen SMB-Server zu schicken. pdbedit Das pdbedit Tool ist ein Hilfswerkzeug zur Bearbeitung der Samba SAM Benutzerdatenbank. testparm Das testparm-programm dient dazu die smb.conf Kongurationsdatei auf ihre syntaktische Korrektheit zu überprüfen. 7Windows Richtlinien erlauben es, die Funktionalität und die optische Erscheinung des Windows Betriebssystemes auf Benutzer- oder Computerebene anzupassen. So lassen sich z.b. die Einträge des Startmenüs und des Desktops von Windows per Richtlinien regulieren. Richtlinien können als Teil des Proles oder aber auch zentral in einem Active Directory Verzeichnis eines ADS-DC abgespeichert werden. 8Als Daemon bezeichnet man unter Linux ein Programm, das im Hintergrund abläuft und bestimmte Dienste zur Verfügung stellt. Serverprogramme werden üblicherweise immer als Daemon Dienste gestartet. 51

64 smbclient Mit dem smbclient-programm ist es möglich, ähnlich einem kommandozeilenbasierenden File Transfer Protocol (FTP) Programm, Verbindung mit einem SMB Server aufzubauen und Dateiaustauschoperationen durchzuführen. Auÿerdem kann das Programm dazu verwendet werden, um von einem Linux-Rechner auf einem im Netzwerk freigegebenen Drucker zuzugreifen. Dies kann auch ein Drucker sein, der an einen Windows Rechner angeschlossen ist Ausblick - Samba 4 Samba 3 ist die aktuelle Version von Samba, die als stabil gilt und im produktiven Umfeld eingesetzt werden kann. Programmiert wird an Samba 3 hauptsächlich nur mehr im Zuge der Bereitstellung von Bugxes, die neu entdeckte Sicherheitslücken rasch bereinigen sollen. Neue Features werden nicht mehr integriert. Diesbezüglich konzentriert sich das Entwicklungsteam auf die neueste Entwicklungsversion Samba 4, welche eine komplette Neuentwicklung des SMB Servers von Grund auf darstellt. Der Aufbau des Programmcodes wurde komplett neustrukturiert, um eine ezientere und leichter überschaubare Programmierung gewährleisten zu können. Auch hat sich Andrew Tridgell für Samba 4 das Ziel vorgegeben, das CIFS Protokoll vollständig zu implementieren. Bis jetzt wurden immer nur diejenigen SMB Operationen umgesetzt, die für ein bestimmtes Feature benötigt wurden. Samba 4 will hingegen eine lückenlose Implementierung des - soweit öentlich bekannten - CIFS Protokolls werden. Das interessanteste und wohl auch bedeutendste neue Feature, dass mit Samba 4 versprochen wird, ist die vollständige Unterstützung eines ADS Domänen Controllers. Somit sollen auch Windows Server 2000 bzw Domänen Controller durch Samba ersetzt werden können. Die Konguration des Servers soll ebenfalls mittels einem webbasierenden Kongurationstools vereinfacht werden. Mit einer ersten stabilen Version von Samba 4 ist aber nach Einschätzung Projektmitgliedern frühestens Mitte 2006 zu rechnen. 4.7 Zusammenfassung In den letzten beiden Kapiteln wurden die beiden Netzwerkprotokolle LDAP und CIFS sehr theoretisch dem Leser vermittelt. Das nun folgende Kapitel skizziert eine sinnvolle Umsetzung der eben vorgestellten Technologien im Umfeld eines Kleinunternehmens. 52

65 Kapitel 5 Implementierung für skilldeal AG Im Zuge eines Berufspraktikums bei der Firma skilldeal AG in Berlin, wurde eine Umstellung von Samba 2 auf Samba 3 und die Einführung einer Domäne im Unternehmensnetzwerk durchgeführt. Die notwendigen Anforderungen des Unternehmens und die eigentliche Implementierungslösung sollen in diesem Kapitel zusammengefasst werden. 5.1 Umfeldanalyse Unternehmensbeschreibung - skilldeal AG Die skilldeal AG ist eine kleine IT Unternehmensberatungsrma mit Schwerpunkt auf Open Source IT Lösungen und Oshore Entwicklung in osteuropäischen Ländern. Im Zuge der Beratungstätigkeiten werden eigene Produkte und Dienstleistungen angeboten. Die skilldeal AG hat ihren Sitz in Berlin und wurde im Jahre 2000 gegründet. Firmengründer sind Dkfm Michael Bona und Dkfm Timm Beyer Der Status Quo Das Unternehmen besteht aus 9 Mitarbeitern, welche sich in die zwei Bereiche Marketing und Technik aufteilen lassen. Auf den Arbeitsrechnern der Technikabteilung (4 Mitarbeiter) kommt einheitlich Debian/G- NU Linux als Betriebssystem zum Einsatz. Der Marketingbereich hingegen arbeitet mit Microsoft Windows in allen Variationen. So sind Windows 2000, Windows XP und auch Windows 98 Versionen in aktiver Verwendung. Langfristig ist aber eine einheitliche Verwendung von Windows 2000 auf diesen Rechnern geplant. Jeder Mitarbeiter verfügt über Schreib- und Lesezugri auf sein privates und ein gemeinsames Arbeitsverzeichnis (Teamdrive), welche mittels einem Samba 2 Server im Netzwerk ansprechbar sind. Die gültigen Benutzer werden in einem LDAP Server abgespeichert. Das System ist seit 4 Jahren erfolgreich im Einsatz. Doch aufgrund der zusätzlichen Features, die mit Samba 3 verbunden sind, wurde eine Umstellung angestrebt. Auch ist es für 53

66 das Unternehmen wichtig, selbst Erfahrungswerte mit Samba 3 zu sammeln, um diese auch potenziellen neuen Kunden glaubwürdig weitergeben zu können Überblick über die Netzwerkstruktur Aufgrund der kleinen Gröÿe des Unternehmens ist es möglich, dass sämtliche Rechner in einem Klasse C 1 Netzwerksegment untergebracht werden können. Server Infrastruktur: Der Serverausstattung besteht aus insgesamt 6 Rechnern (siehe Abbildung 5.1), auf welchen ebenfalls einheitlich Debian GNU/Linux in der stabilen Woody Version als Betriebssystem eingesetzt wird. Server Infrastruktur: server1 server2 firewall server3 LAN server4 server5 Abbildung 5.1: Übersicht der Server Von den sechs Servern übernehmen zwei leistungsstärkere Maschinen (server1 und server2) den Groÿteil der Serverdienste im Netzwerk. Zusätzlich existiert noch ein eigener Backupserver und eine Firewall/Router Kombination. Weiters gibt es einen Entwicklungsserver (server4) und einen Testserver (server5), welche aber für keine kritischen Serverdienste verantwortlich sind. Client Infrastruktur: Auf der Anwenderseite gibt es insgesamt 9 Arbeitsplatzrechner und 3 Laptops, die Teil des Unternehmensnetzwerkes sind. Eine graphische Veranschaulichung der Arbeitsrechner liefert Abbildung Ein Klasse C Netzwerk ermöglicht nach der Internet Protokoll (IP) Spezikation in RFC 791 [791] den Einsatz von bis zu 254 Hosts in einem Netzwerksegment. Die Standard-Subnetzmaske beträgt für diese Netzwerkklasse

67 Server Win XP Prof Win 2k Win 2k Win XP Prof Win 98 Win 98 Win 98 Win XP Home Debian Debian Debian Debian Abbildung 5.2: Übersicht der Client PCs Besondere Anforderungen Die Umstellung des Samba Servers war mit speziellen Anforderungen von Seiten der skilldeal AG verbunden. Durch diese sollte vor allem ein möglichst reibungsloser Übergang gewährleistet werden. Es folgt eine Auistung der wichtigsten Punkte geordnet nach Priorität: Unterstützung sämtlicher eingesetzter Windows Betriebssysteme. Übernahme der alten Benutzer inklusive deren User ID (UID) und Group ID (GID) 2. Einführung einer Domäne. Einheitliche Benutzerkonten sowohl für Windows und Linux Clients. Roaming Proles. Automatische Verbindung mit den Netzwerklaufwerken nach erfolgreicher Anmeldung (Netlogon Skripte). Sicherung der Benutzerdatenbank auf einem 2. Server (LDAP Replikation). Wie der folgende Abschnitt aufzeigen wird, konnten diese Punkte mit kleinen Einschränkungen (Prole für Windows 98 und Unterstützung für Windows XP Home) realisiert werden. 2UID und GID sind numerische IDs, mit welchen das Betriebssystem einen Benutzer bzw. eine Gruppe eindeutig zuordnen kann. 55

68 5.2 Implementierung Dieser Abschnitt widmet sich sehr ausführlich den durchgeführten Arbeitsschritten, die sowohl serverseitig als auch clientseitig bei der skilldeal AG notwendig waren, um eine Samba 3 Domäne aufzubauen. Damit wurde es möglich ein heterogenes Netzwerk mit einer verteilten Benutzerdatenbank, einem zentralen Dateiserver und einer Windows Domäne zu betreiben Server Um die bestehenden Server zu entlasten, wurde für den Samba 3 Server ein neuer Rechner angeschat. Da der Samba 3 Server nicht nur Domänen Controller, sondern auch der zentrale Dateiserver für sämtliche Unternehmensdaten werden soll, ist ein Datensicherungsmodell unerlässlich. Aus diesem Grunde wurde der Server mit einem Hardware Redundant Array of Independent Disks (RAID) 1 (Spiegelung) System ausgestattet. Anschlieÿend konnte Debian GNU/Linux in der Woody Version installiert werden. Der Hostname des neuen Servers lautet pdc-smb3. Auf dem Server wird ein Samba 3 Server und auch der Master LDAP Server laufen. Die LDAP Replikation erfolgt auf server1. Zwecks einfacherer Benutzerverwaltung werden die smbldap-tools von IDEALX 3 installiert. Der Server wird mittels dem Network File System (NFS) Dateien im Netzwerk für Linux-Clients zur Verfügung stellen. Die dafür notwendigen Schritte werden in den folgenden Abschnitten genauer erläutert OpenLDAP Zunächst muss der neue OpenLDAP Server für seine zukünftige Aufgabe als Benutzerdatenbank der Samba 3 Domäne eingerichtet werden. LDAP DIT Die Wurzel DN des neuen Verzeichnisses soll dc=skilldeal,dc=de lauten. Diese soll folgende Kindseinträge enthalten: ou=users ou=computers ou=groups ou=dsa Enthält die gültigen Benutzerkonten sowohl für Linux als auch für Windows Clients. Enthält die Arbeitsrechner, welche der Domäne angehören. Enthält Windows und Linux Benutzergruppen Enthält speziell geschützte Einträge (simplesecurityobject) mit administrativen Passwörtern 3Nähere Informationen: URL: [18. April 2005] 56

69 Installation Wie bereits erwähnt, müssen für Debian Woody backport Versionen von OpenLDAP installiert werden. Dazu muss folgende Quelle in /etc/apt/source.conf hinzugefügt werden:... deb http :// www. backports. org / debian / woody openldap2... Anschlieÿend kann per apt - get update ; apt - get install slapd ldap - utils das OpenLDAP 2.1 Paket installiert werden. Schematas Um alle Einträge abbilden zu können, werden folgende Objektklassen und Schematas verwendet: sambasamaccount für Microsoft Windows Benutzerkonten und Windows Rechnerkonten. Dieses Schema wird im samba.schema deniert, welches dem Quellcode von Samba beiliegt. Unter Debian ist es unter /usr/share/doc/samba-doc/ zu nden. posixaccount und shadowaccount für Linux Benutzerkonten (nis.schema) inetorgperson als strukturelle Objektklasse für die Linux und Windows Benutzer. posixgroup (nis.schema) und sambagroupmapping (samba.schema) für Linux und Windows Benutzergruppen. simplesecurityobject (core.schema) zur Abspeicherung von Zugangsdaten zum Verzeichnis für zusätzliche Programme, die Schreib- und Lesezugri auf das Verzeichnis benötigen. Ebenfalls erforderlich sind die X.500 Basis-Objektklassen, welche bei OpenLDAP in den Schemadateien core.schema und cosine.schema enthalten sind. Alle eben genannten Schematas müssen dem OpenLDAP Server mitgeteilt werden. Dies geschieht indem man folgende Zeilen... include include include include include... / etc / ldap / schema / core. schema / etc / ldap / schema / cosine. schema / etc / ldap / schema / inetorgperson. schema / etc / ldap / schema / nis. schema / etc / ldap / schema / samba. schema in die Kongurationsdatei /etc/ldap/slapd.conf einträgt. Die Datei samba.schema muss für diesen Zweck aus /usr/share/doc/samba-doc/examples/ldap in /etc/ldap/schema kopiert werden 4. 4Dazu muss das samba-doc Paket installiert sein (apt-get install samba-doc). 57

70 Basiseinstellungen Nun können die Basiseinstellungen, wie Ort und Art der physikalischen Datenabspeicherung 5, die Wurzel DN und das Passwort des LDAP-Administrators in slapd.conf eingetragen werden:... database bdb suffix "dc= skilldeal,dc=de" # Where the database file are physically stored directory "/ var / lib / ldap " rootdn "cn=admin,dc= skilldeal,dc=de" rootpw { MD5 }6 GNuoBPmgvr2H1bOHLGrXA ==... Eine vollständige Auistung aller Kongurationsparameter für den Master-Server bendet sich im Anhang unter Punkt A.1. Passwortschutz Aus Sicherheitsgründen wurde das Administrator-Passwort zum LDAP Verzeichnis verschlüsselt abgespeichert. Zur Generierung des Passworthashes, welcher bei rootpw angegeben wird, kann das slappasswd Tool aus der OpenLDAP Suite verwendet werden: pdc - smb3 :# slappasswd -h { MD5 } -s geheim { MD5 }6 GNuoBPmgvr2H1bOHLGrXA == Dies ist auch ein guter Zeitpunkt, die Rechte der slapd.conf Datei zu überprüfen. Sie sollte nur von root gelesen und beschrieben werden können (chmod 600 /etc/ldap/slapd.conf). Access Control List (ACL) Nun kann die Zugangskontrolle auf die einzelnen LDAP Einträge festgelegt werden. Im Falle einer Benutzerdatenbank muss sichergestellt werden, dass die Passwort-Attribute nur vom zugehörigen Benutzer oder dem Serveradministrator gelesen und geändert werden können. Dies wird mit mit dem folgenden ACL Eintrag in slapd.conf bewerkstelligt:... access to attrs = userpassword, sambalmpassword, sambantpassword by self write by anonymous auth by * none... Dies bedeutet, dass anonymer Zugri auf die Passwort Attribute verweigert wird (by * none) und sie vom Server nur zur Authentizierung verwendet werden dürfen (by anonymous auth). Falls der authentizierte Anwender auch der Besitzer des Eintrages ist, wird ihm Schreibzugri gestattet (by self write). Eine feinkörnigere ACL Einstellung, welche dafür sorgt, dass nur die notwendigsten Benutzer Schreibrechte auf bestimmte sensible Attribute von LDAP Einträgen erlangen, kann dem Anhang unter A.2 entnommen werden. 5OpenLDAP unterstützt mehrere Datenbanktypen: Die Berkeley Database (BDB) und die Lightweight Database Manager (LDBM) sind dabei die am häugsten verwendeten Backends. Technisch wäre jedoch auch eine simple Abspeicherung in einer einzelnen Datei möglich (passwd Backend). 58

71 Indizes Für eine raschere Suche nach häug benötigten Attributen, empehlt es sich mehrere Indizes in der Datenbank einzurichten:... index objectclass, uidnumber, gidnumber eq index cn,sn,uid, displayname pres,sub,eq index memberuid, mail, givenname eq, subinitial index sambasid, sambaprimarygroupsid, sambadomainname eq... Somit wurden drei verschiedene Index-Typen angelegt: Ein Gleichheitsindex (eq), ein Präsenzindex (pres) und ein Teilstringindex (subinitial). Replikation Um die Replikation sämtlicher LDAP Einträge auf einen oder mehreren Slave- Server(n) zu ermöglichen, müssen zusätzlich der Pfad zum replogle und die jeweiligen Slave- Server angegeben werden:... # Replication config replogfile "/ var / lib / ldap / replog " # Slave #1 replica uri = ldap :// server1. berlin. skilldeal.de :389 binddn =" cn= replica,ou=dsa,dc= skilldeal,dc=de" bindmethod = simple credentials = geheim... Die slapd.conf Datei des Slave-Servers (siehe Anhang unter A.5) unterscheidet sich nicht sonderlich vom Master-Server. Um die LDAP Server von Anfang an zu synchronisieren, ist es notwendig diese zu stoppen und die Datenbankdateien des Master-Server auf den Slave- Server zu kopieren. Diese benden sich bei Debian standardmäÿig unter /var/lib/ldap. scp - pdc3 :/ var / lib / ldap /* :/ var / lib / ldap / LDAP Client Einstellung Die Datei /etc/ldap/ldap.conf ist die zentrale Datei in einem Debiansystem von welcher Programme, die LDAP unterstützen, ihre Basiseinstellungen beziehen. Diese kann nun auf das neu eingerichtete Verzeichnis verweisen:... BASE dc= skilldeal,dc=de URI ldap :// Neustart des Servers Nachdem alle Änderungen durchgeführt wurden, wird es Zeit sowohl Master als auch Slave Server neuzustarten, damit die Änderungen wirksam werden: / etc / init.d/ slapd restart 59

72 Anlegen der Basis-Einträge Dem eben erstellten Verzeichnis können nun die Basis- Einträge hinzugefügt werden. Diese sind der Wurzeleintrag (dc=skilldeal,dc=de) und die DSA Einträge in welchen die Zugangs-Passwörter zum Verzeichnis für die benötigten Softwaretools abgespeichert werden. Dazu muss dem ldapadd Programm eine LDIF Datei (Anhang A.3) mit den dafür benötigten Einträgen angegeben werden. Bei der Erstellung wird das Administrator-Passwort des LDAP Servers abgefragt. ldapadd -x -D "cn=admin,dc= skilldeal,dc=de" -f dsa. ldif -W Dadurch wurden die Einträge cn=samba, cn=linux, cn=replica und cn=smbldap-tools unter ou=dsa,dc=skilldeal,dc=de angelegt. Diese sollten jetzt per ldappasswd mit neuen Passwörtern belegt werden. Das Passwort wird dabei mit der Option -s passwort angegeben: ldappasswd -x -D "cn=admin,dc= skilldeal,dc=de" -s geheim -W cn= samba,ou=dsa,dc= skilldeal,dc=de ldappasswd -x -D "cn=admin,dc= skilldeal,dc=de" -s geheim -W cn= linux,ou=dsa,dc= skilldeal,dc=de ldappasswd -x -D "cn=admin,dc= skilldeal,dc=de" -s geheim -W cn= smbldap -tools,ou=dsa,dc= skilldeal,dc=de ldappasswd -x -D "cn=admin,dc= skilldeal,dc=de" -s geheim -W cn= replica,ou=dsa,dc= skilldeal,dc=de Anmerkung: Natürlich sollten dafür sicherere Passwörter als im angegebenen Beispiel verwendet werden Samba Als nächstes folgt die Installation und Konguration des Samba 3 Servers. Der Server wird so konguriert, dass die folgenden Punkte erfüllt werden: Samba wird als Primary Domänen Controller eingesetzt. Der Domänen Name wird SD-SAMBA3 lauten. Der NetBIOS Name des Samba Servers ist PDC-SMB3. Der Samba Server ist auch der Domain Master Browser. Das Teamdrive liegt unter /home-net/teamdrive. Die persönlichen Verzeichnisse liegen unter /home-net/<benutzer>. Prole werden unter /home-net/samba/profiles abgelegt. Netlogon Skripte liegen unter /home-net/samba/netlogon. 60

73 Installation Auch für Samba müssen unter Debian Woody backport Pakete installiert werden, um in den Genuss einer aktuellen Samba 3 Version zu kommen. Dazu kann folgende Quelle, welche von der oziellen Sambaseite angeboten wird, in /etc/apt/source.conf hinzugefügt werden:... deb http :// us4. samba. org / samba / ftp / Binary_Packages / Debian / samba3 / dists / stable / main / binary - i386 / deb... Anschlieÿend kann per apt - get update ; apt - get install samba samba - doc das Samba 3 Paket inklusive Dokumentation installiert werden. Konguration Der Samba 3 Server wird über die zentrale Kongurationsdatei /etc/samba/smb.conf angepasst. Die Kongurationsdatei enthält zunächst einen allgemeinen Bereich (global) für generelle Servereinstellungen, und anschlieÿend folgen die Einstellungen für die gewünschten Netzwerkfreigaben (teamdrive, homes, prole, netlogon). Für den Einsatz als Domänen Controller inklusive LDAP Unterstützung für die Benutzerdatenbank müssen folgende Parameter auf jeden Fall im globalen Teil angegeben werden:... # Serverkennung festlegen workgroup = SD - SAMBA3 netbios name = PDC - SMB3 server string = SAMBA 3 PDC Server... # Benutzerdatenbank Einstellungen passdb backend = ldapsam : ldap :// / ldap admin dn = cn=samba,ou=dsa,dc= skilldeal,dc=de ldap suffix = dc= skilldeal,dc=de enable privileges = yes... # Domain Controller Einstellungen domain logons = Yes os level = 65 preferred master = Yes domain master = Yes wins support = Yes... Mit dem Parameter ldap admin dn =... wurde dem Samba Server der LDAP Benutzer mitgeteilt, welcher zum Anmelden im Verzeichnis verwendet wird. Das Passwort für diesen Account muss Samba nun noch explizit mittels dem folgenden Befehl mitgeteilt werden: pdc - smb3 :/# smbpasswd -w geheim Anmerkung: Die vollständige smb.conf Datei kann dem Anhang A.6 entnommen werden. 61

74 Privilegien Mit Samba wurde ein Privilegien System auf Benutzerbasis eingeführt. Dies ermöglicht es, administrative Rechte (Privilegien) auf beliebige Domänen Benutzter oder Gruppen zu verteilen. Vorher wäre einzig der Domänen-Administrator in der Lage gewesen, Rechner (oder Benutzer) in die Domäne hinzuzufügen oder zu entfernen. Tabelle 5.1 listet alle 5 möglichen Privilegien auf. Aktiviert wird diese neue Funktionalität über den folgenden Parameter in smb.conf: enable privileges = yes Privileg Beschreibung SeMachineAccountPrivilege Hinzufügen von neuen Rechnern zur Domäne SeAddUsersPrivilege Hinzufügen von neuen Benutzern zur Domäne SePrintOperatorPrivilege Verwaltung der Drucker SeRemoteShutdownPrivilege Rechner ferngewartet Herunterfahren SeDiskOperatorPrivilege Verwaltung von Dateifreigaben Tabelle 5.1: Privilegien seit Samba Anschlieÿend bietet es sich an, die Domain Admins' Gruppe mit den neuen Privilegien zu versehen. Dies erfolgt mittels folgendem Befehl: net -S PDC - SMB3 rpc rights grant " SD - SAMBA3 \ Domain Admins " \ SeMachineAccountPrivilege SePrintOperatorPrivilege \ SeAddUsersPrivilege SeDiskOperatorPrivilege \ SeRemoteShutdownPrivilege Notwendige Verzeichnisse und Dateien anlegen Als letztes müssen noch die benötigten Samba Arbeitsverzeichnisse für Netlogon, Prole, und Drucker am Server mit korrekten Rechten angelegt werden: mkdir mkdir mkdir mkdir mkdir chmod chmod -p / home - net / teamdrive -p /home - net / samba / netlogon /home - net / samba / profiles /home - net / samba / spool /home - net / samba / printers 1777 /home - net / samba / profiles 0777 / home - net / teamdrive Im Verzeichnis /home-net/samba/netlogon kann schlieÿlich noch eine Windows Batchdatei mit dem Namen login.bat und folgenden Inhalt angelegt werden: NET USE / HOME H: NET USE T: \\ pdc - smb3 \ teamdrive NET TIME \\ pdc - smb3 / SET / YES Diese Kommandos sorgen dafür, dass die Arbeitsrechner das persönliche Homelaufwerk unter dem Laufwerksbuchstaben H: und das Teamdrive unter T: beim Anmelden einbinden. Auch wird die Uhrzeit mit der des Domänen Controllers synchronisiert. 62

75 Natürlich können beliebige weitere Befehle angegeben werden, welche automatisch nach einer Anmeldung am Windows Arbeitsrechner ausgeführt werden sollen. Auch wäre es möglich einem Benutzer oder einer Gruppe ein gesondertes Netlogon Skript zuzuweisen. Neustart des Servers Um alle durchgeführten Änderungen wirksam zu machen, muss der Server neugestartet werden: / etc / init.d/ samba restart smbldap-tools Um die Verwaltung des neuen Samba DCs zu erleichtern, empehlt es sich die freien smbldaptools von IDEALX einzusetzen. Diese stehen aktuell (April 2005) in der Version zur Verfügung. Sie bieten hilfreiche Perlskripte zum Anlegen und Entfernen von Benutzereinträgen im LDAP Verzeichnis. Auÿerdem bietet das smbldap-populate Skript eine sehr bequeme Funktion das Verzeichnis mit sinnvollen Anfangswerten aufzufüllen. Dieses legt automatisch sämtliche Standardbenutzer und Gruppen an, welche eine Windows NT 4 Domäne zum reibungslosen Betrieb benötigt. Installation Die oziellen smbldap-tools sind leider nicht vollständig kompatibel zu Debian Woody Systemen. Im Zuge dieser Arbeit wird eine modizierte Version zur Verfügung gestellt, welche auch unter Woody einwandfrei funktioniert: wget http :// www. innsurfers.at/ debian / smbldap - tools / smbldap - tools woody. tgz tar xfvz smbldap - tools tgz cd smbldap - tools make install Durch den letzten Aufruf als root werden die Skripte in das Verzeichnis /usr/local/sbin installiert. Die Kongurationsdateien sind anschlieÿend unter /etc/smbldap-tools zu nden. Konguration Die smbldap-tools sind nun an den bestehenden LDAP- und Samba-Server anzupassen. Zunächst werden die Zugangsdaten für das LDAP Verzeichnis benötigt. Diese werden in der Datei smbldap_bind.conf festgelegt:... masterdn =" cn= smbldap -tools,ou=dsa,dc= skilldeal,dc=de" masterpw =" geheim " slavedn =" cn=smbldap -tools,ou=dsa,dc= skilldeal,dc=de" slavepw =" geheim "... Nun kann die Hauptkongurationsdatei smbldap.conf angepasst werden. Diese legt die Standardwerte fest mit denen neue Benutzer in der Domäne erzeugt werden. Besonders wichtig ist die Angabe der Secure ID (SID) des Samba DC's. Diese kann mit dem Kommando 63

76 pdc - smb3 :/# net getlocalsid SID for domain PDC - SMB3 is: S vom Samba Server abgefragt werden und muss anschlieÿend in smbldap.conf gemeinsam mit dem Basis DN des Verzeichnisses eingetragen werden.... # Put your own SID # to obtain this number do: net getlocalsid SID =" S " suffix =" dc= skilldeal,dc=de"... Alles weitere kann nach den eigenen Vorstellungen angepasst werden. Die für skilldeal AG erstellte Version ist im Anhang unter Punkt A.7 zu nden Abhängige Perl Module Die smbldap-tools sind von einer Reihe von Perl Modulen abhängig. Falls diese noch nicht installiert sein sollten kann dies mittels apt - get install libnet - perl libnet -ldap - perl libdigest -md4 - perl libdigest - sha1 - perl libssleay - perl zum Groÿteil nachgeholt werden. Auÿerdem wird das Modul Crypt/SmbHash, mit dessen Hilfe NT LM Hashes für die Passwörter berechnet werden, benötigt. Dieses bendet sich bei Debian nicht in Woody's Paketumfang und muss daher manuell installiert werden: wget http :// search. cpan. org / CPAN / authors /id/b/bj/ BJKUIT /Crypt - SmbHash tar. gz tar xvfz Crypt - SmbHash tar. gz cd Crypt - SmbHash perl Makefile. PL make make test make install Das Verzeichnis befüllen Nun können die Basisgruppen und Benutzer angelegt werden. Ein Aufruf von smbldap-populate erledigt dies. Bei erfolgreichem Anlegen aller Einträge muss anschlieÿend das Passwort des Domänen-Administrators angegeben werden. Bestehende Samba 2 Benutzereinträge migrieren Als nächstes können die bestehenden Benutzereinträge von Samba 2, welche im alten LDAP Server abgelegt sind, zur neuen mit Samba 3 eingeführten sambasamaccount Objektklasse konvertiert werden. Praktischerweise werden diesbezüglich bereits fertige Skripte dem Samba Projekt beigelegt. Diese sind im Verzeichnis /usr/share/doc/samba-doc/examples/ldap zu nden 6. 6Nähere Informationen dazu liefert die ozielle Samba Dokumentation unter URL: org/samba/docs/man/samba-howto-collection/upgrading-to-3.0.html [13. April 2005]. 64

77 Neue Domänen-Benutzer anlegen Wenn alles geklappt hat können von nun an mit folgendem Befehl neue Domänen-Benutzer angelegt werden: smbldap - useradd -a -m -P aweiler Der neue Benutzer wird im LDAP Verzeichnis unter uid=aweiler,ou=users,dc=skilldeal,dc=de angelegt und wird mit sinnvollen Attributen aus der sambasamaccount Objektklasse ausgefüllt. Die Tabelle 5.2 liefert eine Beschreibung der wichtigsten Attribute. Weiters ist im Anhang unter A.4 ein vollständiger Benutzereintrag, wie er im LDAP Verzeichnis abgelegt ist, ersichtlich. Attribut Bedeutung sambalogontime Zeitpunkt der letzten Anmeldung. sambapwdmustchange Zeitpunkt wann das Passwort abläuft. sambaacctflags Legt den Typ des Eintrags fest (Beispiel: U = Benutzer, W = Arbeitsrechner). sambabadpasswordcount Anzahl der ungültigen Anmeldeversuche. sambasid Die Secure ID (SID) des Benutzers. sambaprimarygroupid Die Relative ID (RID) der Hauptgruppe des Benutzers. sambahomepath Gibt den Netzwerkpfad zum persönlichen Homelaufwerk des Benutzers an. sambalogonscript Der Dateiname des Netlogon Skriptes des Benutzers. sambalmmpassword Das LANMAN Passwort. sambantpassword Das Windows NT Passwort (MD4 Hash). sambahomedrive Gibt den Laufwerksbuchstaben an unter welchem das persönliche Homelaufwerk eingebunden werden soll. sambaprolepath Gibt den Netzwerkpfad zum Benutzerprol an. Tabelle 5.2: Auswahl an sambasamaccount Attributen Anmerkung: Dieser neue Benutzer ist automatisch auch ein gültiger Linux Benutzer! Linux Einstellungen (PAM - NSS - NFS) Als letzter Punkt der serverseitigen Konguration muss das interne Authentizierungssystem von Linux (Plugable Authentication Modul (PAM)) an das LDAP Verzeichnis als zusätzliche Quelle für gültige Benutzer und Gruppen angepasst werden. Auÿerdem muss sichergestellt werden, dass die interne Namensauösung von UIDs und GIDs mit den zugehörigen Namen per Name Service Switch (NSS) auch mit den LDAP Konten funktioniert. Zusätzliche Pakete installieren Damit PAM und NSS per LDAP funktionieren müssen für diese spezielle LDAP Bibliotheken installiert werden. Optional empehlt es sich den Name Service Caching Daemon (NSCD) zur rascheren Namensauösung ebenfalls zu installieren. apt - get install libpam - ldap libpam - cracklib libnss - ldap nscd 65

78 Konguration /etc/nssswitch.conf... passwd : compat ldap group : compat ldap shadow : compat ldap... /etc/libnss-ldap.conf... host pdc - smb3. berlin. skilldeal.de base dc= skilldeal,dc=de ldap_version 3 nss_base_passwd dc= skilldeal,dc=de?sub nss_base_shadow dc= skilldeal,dc=de?sub nss_base_group ou=groups,dc= skilldeal,dc=de?one... /etc/pam_ldap.conf... host pdc - smb3. berlin. skilldeal.de base dc= skilldeal,dc=de ldap_version 3 rootbinddn cn=linux,ou=dsa,dc= skilldeal,dc=de pam_password crypt... Die /etc/pam.d/* Dateien für LDAP Unterstützung austauschen: pdc - smb3 :/# cp / usr / share / doc / libpam - ldap / examples / pam.d/* / etc / pam.d/ Nun muss noch das Passwort dem PAM Modul mitgeteilt werden. Dies erfolgt über die Datei /etc/ldap.secret, welche neu anzulegen ist und als Inhalt nur das Passwort für cn=linux,ou=dsa,dc=skilldeal,dc=de enthält. Wie üblich, darf diese Datei nur mit minimalsten Rechten ausgestattet sein (chmod 600). Nähere Informationen zu den weiteren Kongurationsmöglichkeiten der LDAP NSS und PAM Module können der Homepage des Softwareunternehmens PADL 7, welches die Module unter der LGPL veröentlicht hat, entnommen werden. NFS Exporte erstellen Um die Einrichtung abzuschlieÿen kann nun noch ein Network File System (NFS) Export des gesamten Home-Laufwerkes eingerichtet werden. Somit können auch Linux Clients im Netzwerk raschen Zugri auf die Dateien bekommen. NFS ist ähnlich dem SMB/CIFS ein Protokoll zum Austausch von Dateien im Unix/Linux Umfeld. 7URL: [12. April 2005] 66

79 /etc/exports... / home *. berlin. skilldeal.de(rw)... Anmerkung: Damit wird festgelegt, dass sämtliche Rechner die sich in der DNS Zone berlin.skilldeal.de benden das Homeverzeichnis einbinden dürfen Clients Dieser Abschnitt behandelt alle Schritte die notwendig sind, um die Arbeitsrechner (sowohl Linux als auch Windows) auf den neuen Benutzerauthentizierungs- und Dateiserver umzustellen Debian GNU/Linux Die Linux Clients wurden so umgestellt, dass sie sich per PAM LDAP Modul gegen die neue Benutzerdatenbank authentizieren. Auch wird das Homelaufwerk und das gemeinsame Arbeitslaufwerk automatisch per NFS in das lokale Dateisystem eingebunden. Die nötigen Einstellungen um PAM und NSS auf LDAP umzustellen wurden schon groÿteils im Abschnitt aufgezeigt und können auch auf den Clients direkt angewendet werden. Man muss jedoch anmerken, dass aus Sicherheitsgründen die Verwendung einer verschlüsselten Client/Server Kommuniktaion per TLS dringent anzuraten ist. Die ozielle OpenLDAP Dokumentation liefert eine umfassende Anleitung wie TLS unter OpenLDAP ermöglicht wird 8. Weiters gibt es bei der NFS Konguration zu beachten: Die NFS Freigabe, die am Server exportiert wurde, muss nun eingebunden werden. Dies wird mit folgendem Eintrag in der Datei /etc/fstab ermöglicht:... pdc - smb3. berlin. skilldeal.de :/ home /home - net nfs rsize =8192, wsize =8192, timeo =14, intr... Anmerkung: Um nicht mit einem bestehenden lokalen Homeverzeichnis zu kollidieren wurde das Verzeichnis /home-net als Netzwerkhomelaufwerk gewählt. Dies ist auch im Benutzerattribut homedir des LDAP Verzeichnisses standardmäÿig für alle neuen Benutzer eingetragen Windows 98 Um einen Windows 98 Client an einer Windows NT Domäne teilnehmen zu lassen, sind folgende Änderungen durchzuführen: 8URL: [13. April 2005] 67

80 1. In den Windows 98 Netzwerkeinstellungen (Start -> Einstellungen -> Systemsteuerung -> Netzwerk) muss die primäre Netzwerkanmeldung auf den Dienst Client für Microsoft-Netzwerke umgestellt werden. 2. Diesen Dienst in der Liste markieren und unter Einstellungen die NT Domäne angeben, die der Windows 98 Rechner angehören soll (siehe Abbildung 5.3). 3. Optional kann noch unter dem Reiter Identikation die Arbeitsgruppe ebenfalls auf den Domänen Namen SD-SAMBA3 umgestellt werden um sämtliche Netzwerkteilnehmer in der Netzwerkumgebung angezeigt zu bekommen. Abbildung 5.3: Windows 98 Domänen Einstellung 4. Als letzter Punkt muss der Rechner neugestartet werden. Von nun an wird der Benutzer des Rechners mit dem Domänen Anmeldungsfenster (siehe Abbildung 5.4) begrüÿt werden. 68

81 Abbildung 5.4: Windows 98 Domänen-Login Windows 2000 / XP Professional Im Unterschied zu Windows 98 werden bei Windows 2000 und XP auch die Arbeitsrechner auf ihre Domänenmitgliedsberechtigung überprüft. Rechner die einer Domäne angehören sollen, müssen ebenfalls über einen gültigen Eintrag in der Benutzerdatenbank verfügen. Sollte ein Rechner erstmals in der Domäne verwendet werden, muss somit einmalig dafür gesorgt werden, dass dessen Computername registriert wurde. Dazu genügt es, folgenden Befehl als root auf dem Samba Server auszuführen: smbldap - useradd -w computername Alternativ bieten Windows 2000 und Windows XP Professional auch die Unterstützung einer Domäne beizutreten und dabei automatisch den Computernamen zu registrieren: 1. Den Reiter Computername in den Systemeinstellungen (Start -> Einstellungen -> Systemsteuerung -> System) önen. 2. Nun auf Ändern klicken und im erscheinenden Fenster (siehe Abbildung 5.5) die Domäne SD-SAMBA3 angeben. 69

82 Abbildung 5.5: Windows XP Konguration Schritt 1 3. Durch den Klick auf OK muss man sich als Domänen-Administrator (oder ein Benutzer der der Gruppe Domain Admins angehört) authentizieren (Abbildung 5.6). Abbildung 5.6: Windows XP Konguration Schritt 2 4. Anschlieÿend wird der Arbeitsrechner mit dem angegebenen Computernamen automatisch in der Domäne registriert und im LDAP Verzeichnis unter ou=computers angelegt. Hat alles geklappt wird dies vom Betriebssystem mit einer Begrüÿung zur Domäne bestätigt (Abbildung 5.7). 70

83 Abbildung 5.7: Windows XP Bestätigung 5. Nach dem nächsten Neustart kann man sich nun mit gültigen Domänen-Benutzern am Arbeitsrechner anmelden. Es werden nach dem Login alle notwendigen Netzwerkfreigaben durch das Netlogon Skript automatisch eingebunden und das standardmäÿige Windows Prol wird zentral am Server abgespeichert. Anmerkung: Windows XP Home bietet keine Unterstützung für die Teilnahme an einer Windows Domäne. 71

84 Kapitel 6 Graphische Samba 3 Administrationstools In diesem Kapitel sollen die aktuell erhältlichen graphischen Administrationstools für einen Samba 3 Server vorgestellt werden. Besonderes Augenmerk wird dabei auf die intuitive Benutzerverwaltung und Sicherheitsschutz gelegt. 6.1 smbldap-tools Diese bieten zwar an sich kein graphisches Frontend, jedoch sollen sie Vollständigkeitshalber auch nochmals hier vorgestellt werden. Die smbldap Skripte wurden im vorherigen Kapitel installiert und konguriert. Tabelle 6.1 liefert eine Übersicht über die für die Benutzerverwaltung relevanten Skripte und Kommandos. smbldap-useradd -a -m -P username Generierung eines Windows und Linux Accounts (Homelaufwerk wird neu angelegt) smbldap-useradd -m -P username Generierung eines reinen Linux Accounts (Homelaufwerk wird neu angelegt) smbldap-useradd -w computer Generierung eines neuen gültigen Windows Domänen Rechners smbldap-userdel -r username Löschung des Benutzers username smbldap-usermod username Ändern von Benutzerdaten smbldap-groupadd groupname Erstellung einer neuen Gruppe smbldap-groupdel groupname Löschung einer bestehenden Gruppe smbldap-populate Erzeugt sinnvolle Anfangseinträge im LDAP Verzeichnis, die für den Einsatz als Samba DC notwendig sind smbldap-passwd username Änderung des Passwortes von username Tabelle 6.1: Die wichtigsten Kommandos der smbldap-tools 72

85 Vorteile: Maximale Sicherheit durch Aufruf per Secure Shell (SSH). Homeverzeichnisse werden automatisch angelegt. Arbeitet direkt mit dem Samba Server zusammen. Perl Skripte sind gut dokumentiert und können leicht angepasst werden. Aktives Entwicklungsteam durch freiwillige Open Source Programmierer und der Firma IDEALX. Nachteile: Keine Graphische Benutzer-Oberäche - dadurch nicht benutzerfreundlich. Linux Grundkenntnisse erforderlich. Skripte müssen für Debian Woody leicht angepasst werden. Root Passwort des Servers notwendig. Projekt-Homepage: URL: [17. April 2005] 73

86 6.2 Samba Console Die Samba Console (siehe Abbildung 6.1) ist die Bezeichnung eines weiteren Open Source Projektes von denselben Entwicklern der smbldap-tools. Dieses Projekt hat sich zur Aufgabe gemacht eine einfache graphische Administrationsumgebung für den Samba 3 Server zu schaen. Samba Console ist noch ein relativ junges Projekt, hat aber dennoch schon jetzt erstaunliche Features vorzuweisen. Abbildung 6.1: Benutzerübersicht der Samba-Console Vorteile: Moderne Web-Oberäche Übersichtliche Benutzerverwaltung (hinzufügen/ändern/löschen) Privilegien der Domain Admins Gruppe werden korrekt erkannt. Standardmäÿige SSL Verschlüsselung Verschiedene Benutzerrollen Optisch aufbereitete Auswertung der Server-Logles Modularer Aufbau durch ein Plugin System Aktives Programmierungsteam Nachteile: Abhängig von Perl nicht unter Debian Woody lauähig. Keine automatische Generierung von neuen Homeverzeichnissen. Perl-Kenntnisse sind für die Installation notwendig. Projekt-Homepage: URL: [17. April 2005] 74

87 6.3 phpldapadmin Das Open Source Projekt phpldapadmin (siehe Abbildung 6.2) bietet ein vollständiges LDAP Administrations-Werkzeug per Web-Oberäche. Es ist es ein hilfreiches Tool, mit welchem man sämtliche Einträge und Attribute eines LDAP Verzeichnisses überprüfen und modizieren kann. Zusätzlich bietet es auch eine vorlagenbasierte Generierung von neuen Samba 3 Benutzer- oder Gruppeneinträgen. Abbildung 6.2: phpldapadmin Hauptmenü Vorteile: Übersichtliche Darstellung des kompletten Verzeichnisses. Kann in bestehenden Intranet Webserver integriert werden. Zugrisschutz wird durch Login und SSL ermöglicht. Vorlage zur Erzeugung von neuen Benutzer-, Gruppen- oder Computereinträgen. Einfache Installation. Nachteile: Sehr gute LDAP-Kenntnisse des Anwenders notwendig. Keine automatische Generierung von neuen Homeverzeichnissen. Falsche Benutzung kann das komplette Verzeichnis zerstören. Projekt-Homepage: URL: [17. April 2005] 75

88 6.4 LDAP Account Manager - LAM Der LDAP Account Manager (siehe Abbildung 6.3) ist ein webbasierendes LDAP Verwaltungstool, welches auf Benutzereinträge spezialisiert ist. Abbildung 6.3: LDAP Account Manager Vorteile: Webbasierter Kongurationsassistent. Generierung einer PDF Datei mit sämtlichen notwendigen Benutzerdaten. Zugrisschutz wird durch Login und SSL ermöglicht. Vorlage zur Erzeugung von neuen Benutzer-, Gruppen- oder Computereinträgen. Einfache Installation Nachteile: Nicht kompatibel zu Samba 3 Benutzereinträgen, welche mittels den smbldaptools erzeugt wurden (Fehlermeldung). Unterstützt nicht sämtliche Samba 3 Schema Attribute. Keine automatische Generierung von neuen Homeverzeichnissen. Projekt-Homepage: URL: [17. April 2005] 76

89 6.5 Windows User Manager Das ozielle Benutzerverwaltungstool für Windows NT 4 Domänen Controller aus dem Hause Microsoft nennt sich User Manager (siehe Abbildung 6.4) und es wird gratis von Microsoft auf deren Homepage zur Verfügung gestellt. Es kann als graphisches Frontend zu den smbldap-tools Skripten betrachtet werden, welches administrative Operationen per Remote Procedure Calls (RPC) 1 an den Samba 3 Server schickt. Dieser wiederum leitet sie an die jeweiligen smbldap-tools Skripte weiter. Abbildung 6.4: Microsoft's Benutzerverwaltungstool User Manager Vorteile: Zugrisschutz anhand der Rechte des angemeldeten Windowsbenutzers. Privilegien der Domain Admins Gruppe werden korrekt erkannt. Umfassendste Unterstützung für Windows-spezische Benutzerrechte (Passwortrichtlinien, Accountlebensdauer, uhrzeitbasierende Anmeldeerlaubnis, Zuweisung von für Benutzer erlaubte Arbeitsrechner) Automatische Generierung von Homeverzeichnissen. Ozielles Administrationstool von Microsoft für Windows NT 4 DC. Nachteile: Ein Windows Rechner ist notwendig. Registrierung neuer Mitgliedsrechner funktioniert nicht. Download-Seite: URL: [17. April 2005] 1Remote Procedure Call ist ein Netzwerkprotokoll, mit welchem Funktionsaufrufe über ein Netzwerk auf entfernten Rechnern durchgeführt werden können. RPC wurde ursprünglich von Sun Microsystems entwickelt und wird im RFC 1057 [1057] genauer beschrieben. 77

Directory Services mit LDAP

Directory Services mit LDAP Directory Services mit LDAP Dipl.-Chem. Technische Fakultät Universität Bielefeld ro@techfak.uni-bielefeld.de AG Rechnerbetrieb WS 2003/04 Directory Services mit LDAP 1 von 21 Übersicht Directory Services

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.15 Verzeichnisdienst - LDAP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik, Trier Prof. Dr. sc. nat. Christoph Meinel,

Mehr

Directory Services für heterogene IT Landschaften. Basierend auf LDAP und OSS

Directory Services für heterogene IT Landschaften. Basierend auf LDAP und OSS Directory Services für heterogene IT Landschaften. Basierend auf LDAP und OSS Bernd@Eckenfels.net Linuxtag 2001, Stuttgart http://eckenfels.net/ldap/ Agenda LDAP Eine Begriffsbestimmung OSS Keyplayer Typische

Mehr

LDAP und Kerberos. Folien unter http://ca.tu-berlin.de/docs/pdf/ldap-vortrag.pdf. 1 Gerd Schering 29.05.07

LDAP und Kerberos. Folien unter http://ca.tu-berlin.de/docs/pdf/ldap-vortrag.pdf. 1 Gerd Schering 29.05.07 LDAP und Kerberos Folien unter http://ca.tu-berlin.de/docs/pdf/ldap-vortrag.pdf 1 Gerd Schering LDAP: Agenda Was ist LDAP? LDAP Strukturen / Datenmodell LDAP Operationen LDAP Anwendungen tubit LDAP Server

Mehr

Dateninseln. Andere Applikationen: Calendar Server Web Server Telefonbücher...

Dateninseln. Andere Applikationen: Calendar Server Web Server Telefonbücher... Das Problem Dateninseln Andere Applikationen: Calendar Server Web Server Telefonbücher... NIS Flache Datenstruktur Alle Benutzerinformationen in einem File Zugriff auf alles oder nichts Nicht oder schwer

Mehr

Inhaltsverzeichnis Vorwort Konzepte des Active Directory

Inhaltsverzeichnis Vorwort Konzepte des Active Directory Vorwort.................................................................. XI Warum dieses Buch.................................................... XI Kapitelübersicht.......................................................

Mehr

[11-4] https://de.wikipedia.org/wiki/lightweight_directory_access_protocol

[11-4] https://de.wikipedia.org/wiki/lightweight_directory_access_protocol Literatur [11-1] http://www.syn-wiki.de/lan-wan- Analysis/htm/ger/_0/Namensdienst.htm [11-2] https://de.wikipedia.org/wiki/remote_method_invocation [11-3] https://de.wikipedia.org/wiki/verzeichnisdienst

Mehr

Doris Jung. 27. Mai 2001

Doris Jung. 27. Mai 2001 Einführung in LDAP Doris Jung 27. Mai 2001 1 LDAP Protokoll LDAP ist ein Netz Protokoll, ein erweiterbares Directory Access Protokoll, also eine Sprache in der Klient und Server miteinander kommunizieren

Mehr

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Lightweight Directory Access Protokoll Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Was ist LDAP? Was sind Verzeichnisdienste? Was ist ein Verzeichnis? Geschichte http://directory.apache.org/apacheds/basic-ug/1.2-some-background.html

Mehr

Verzeichnisdienste: Eine Einführung zu X.500/LDAP. am Beispiel von Novells NetWare Directory Services

Verzeichnisdienste: Eine Einführung zu X.500/LDAP. am Beispiel von Novells NetWare Directory Services Verzeichnisdienste: Eine Einführung zu X.500/LDAP am Beispiel von Novells NetWare Directory Services Thomas Uhle Technische Universität Dresden Fakultät Elektrotechnik und Informationstechnik Inhaltsübersicht

Mehr

Zentrale Benutzerverwaltung für Linux im Active Directory

Zentrale Benutzerverwaltung für Linux im Active Directory Zentrale Benutzerverwaltung für Linux im Active Directory 15. März 2007 Inhalt Identitätsmanagement Zugriff über offene Standards Interaktion Linux und Active Directory Linux-Clients im Active Directory

Mehr

Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit. Unix-Benutzerverwaltung: Grundlagen, OpenLDAP. Daniel Bast daniel.bast@gmx.

Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit. Unix-Benutzerverwaltung: Grundlagen, OpenLDAP. Daniel Bast daniel.bast@gmx. Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit Unix-Benutzerverwaltung: Grundlagen, OpenLDAP Daniel Bast daniel.bast@gmx.net Überblick Klassische Benutzerverwaltung OpenLDAP Verzeichnisdienste

Mehr

LDAP verstehen, OpenLDAP einsetzen

LDAP verstehen, OpenLDAP einsetzen Dieter Klünter Jochen Laser LDAP verstehen, OpenLDAP einsetzen Grundlagen, Praxiseinsatz und Single-sign-on-Mechanismen Technische Universität Darmstadt FACHBEREICH INFORMATIK Invanter-Nr, J Standort:

Mehr

LDAP Vortragsreihe - Teil 1 Konzepte und Möglichkeiten

LDAP Vortragsreihe - Teil 1 Konzepte und Möglichkeiten LDAP Vortragsreihe - Teil 1 Konzepte und Möglichkeiten Jörg Rödel 22. März 2004 Jörg Rödel Was ist LDAP? Lightweight Directory Access Protocoll eigentlich nur ein Protokollstandard allgemein

Mehr

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

LDAP. Universität zu Köln IT-Zertifikat Allgemeine Technologien 1 Dozentin: Susanne Kurz M.A. 14.7. Referent: Branko Dragoljic LDAP Universität zu Köln IT-Zertifikat Allgemeine Technologien 1 Dozentin: Susanne Kurz M.A. 14.7. Referent: Branko Dragoljic Allgemeines Lightweight Directory Access Protocol Kommunikation zwischen LDAP-Client

Mehr

LDAP für Benutzer-Accounts Vorteile, technische Umsetzung und Risiken

LDAP für Benutzer-Accounts Vorteile, technische Umsetzung und Risiken LDAP für Benutzer-Accounts Vorteile, technische Umsetzung und Risiken 25. Januar 2006 Karsten Reineck Björn Wontora Agenda Motivation und Vorteile Technische Umsetzung Benutzer-Accounts für Linux Benutzer-Accounts

Mehr

18. September 2005 Linuxweekend Dietrichingen Manuel Schneider

18. September 2005 Linuxweekend Dietrichingen Manuel Schneider Samba-Workshop Ziele - SMB Grundlagen - Komponenten kennenlernen - verschiedenen Passwort-Datenbanken anbinden - Anbindung an andere Systeme Ablauf - Dauer: rund eine Stunde - bei Bedarf mit einer Pause

Mehr

Benutzerverwaltung. Contentmanagementsysteme Sommersemester 2004 FH-Augsburg. Daniel Pluta

Benutzerverwaltung. Contentmanagementsysteme Sommersemester 2004 FH-Augsburg. Daniel Pluta Benutzerverwaltung Contentmanagementsysteme Sommersemester 2004 FH-Augsburg Daniel Pluta Benutzerverwaltung wozu? Zugriff auf Informationen schützen und einschränken nken kontrollieren und überwachen Sichere

Mehr

MS Active Directory Services & MS Group Policy Object. ITTK A09 Laßnig-Walder Karl Surtmann Klaus

MS Active Directory Services & MS Group Policy Object. ITTK A09 Laßnig-Walder Karl Surtmann Klaus MS Active Directory Services & MS Group Policy Object ITTK A09 Laßnig-Walder Karl Surtmann Klaus Inhaltsverzeichnis Was ist MS Active Directory? Aufbau Struktur DC, GC, Replikation, FSMO Hauptkomponenten

Mehr

Technische Mitteilung LDAP

Technische Mitteilung LDAP Technische Mitteilung LDAP Einrichten einer LDAPgestützten Benutzerverwaltung Informationen zum Dokument Kurzbeschreibung Dieses Dokument enthält wichtige Hinweise zum Einrichten einer Benutzerverwaltung

Mehr

LDAP Informationsmodell

LDAP Informationsmodell LDAP Informationsmodell von Präsentation im Rahmen der Vorlesung im WS 05/06 bei Prof. Dr. Martin Leischner. Gliederung LDAP Modelle LDAP Informationsmodell Anwendungsdaten Schemadaten Beispiel FH Fachbereichs

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

Inhaltsverzeichnis XIII XIII XIV XIV XIV XIV XV XV XV XV XV XV XV XVI XVI

Inhaltsverzeichnis XIII XIII XIV XIV XIV XIV XV XV XV XV XV XV XV XVI XVI Vorwort.................................................................................. Warum dieses Buch?................................................................... Kapitelübersicht........................................................................

Mehr

rojekt: Aufbau eines Informationssystems für eine Organisation LDAP

rojekt: Aufbau eines Informationssystems für eine Organisation LDAP LDAP Unix Systeme Zentrale Kundendatenbank Autorisierungs-Datenbank LDAP ndere Datenquellen, z.b. UB Helpdesk Das Verhältnis zwischen Datenbanken und Directories Man kann Directories als spezielle Datenbankanwendungen

Mehr

Benutzerverwaltung - LDAP

Benutzerverwaltung - LDAP REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] Benutzerverwaltung - LDAP Systemausbildung - Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten Andrei Galea, 20.05.2015 AGENDA Einführung

Mehr

Verzeichnisdienste am Beispiel LDAP

Verzeichnisdienste am Beispiel LDAP Hochschule für Technik Zürich Studiengang Informatik 29.10.2008 Outline Einführung 1 Einführung Was ist ein Verzeichnisdienst? Geschichtlicher Rückblick Wieso LDAP? 2 3 4 Wieso Sun Java System Directory

Mehr

Linux als File- und Printserver - SAMBA

Linux als File- und Printserver - SAMBA Linux als File- und Printserver - SAMBA Wolfgang Karall karall@mail.zserv.tuwien.ac.at 18.-21. März 2002 Abstract Durchführung der Installation, Konfiguration und Administration eines File- und Printservers

Mehr

Active Directory REGIONALES RECHENZENTRUM ERLANGEN [RRZE]

Active Directory REGIONALES RECHENZENTRUM ERLANGEN [RRZE] REGIONALES RECHENZENTRUM ERLANGEN [RRZE] Active Directory Systemausbildung Grundlagen und Aspekte von Betriebssystemen und systemnahen Diensten Sebastian Schmitt, 27.05.2015 Agenda Einführung Hauptkomponenten

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Active Directory Integration Mac OS X. René Meusel Betriebssystemadministration

Active Directory Integration Mac OS X. René Meusel Betriebssystemadministration Active Directory Integration Mac OS X René Meusel Betriebssystemadministration Sommersemester 2009 Gliederung 2 Motivation Was ist Active Directory? Allgemeine Definition Funktionsweise Unterstützung in

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Basisdienste und Basisapplikationen

Basisdienste und Basisapplikationen Basisdienste und Basisapplikationen Domain Name System (Vertiefung) Dynamic Host Configuration MIME-Signalisierung Verzeichnisdienste Funktionen des DNS Das Domain Name System hält Namen und Adressen des

Mehr

Dokumentation Schulprojekt: Samba als Serverdienst

Dokumentation Schulprojekt: Samba als Serverdienst Dokumentation Schulprojekt: Samba als Serverdienst Sandra Schreiner und Sascha Lenhart 20. September 2007 Inhaltsverzeichnis 1 Einleitung 3 1.1 Projektbeschreibung.............................. 3 1.2 Projektziele...................................

Mehr

Samba 3 für Unix/Linux- Administratoren

Samba 3 für Unix/Linux- Administratoren Volker Lendecke Karolin Seeger Björn Jacke Michael Adam Samba 3 für Unix/Linux- Administratoren Konfiguration und Betrieb von Samba-Servern 3., überarbeitete und erweiterte Auflage j dpunkt.verlag IX!

Mehr

Sichere Einbindung von Open Source in kommerzielle Projekte

Sichere Einbindung von Open Source in kommerzielle Projekte Sichere Einbindung von Open Source in kommerzielle Projekte Urs Böhm BU Embedded Juli 2014 Noser Engineering AG 2014, Alle Rechte vorbehalten. Disclaimer: Ich bin kein Jurist! Dies ist keine juristische

Mehr

Die Open Source -Bewegung. 1. Was ist Open Source? (Das GNU-Projekt)

Die Open Source -Bewegung. 1. Was ist Open Source? (Das GNU-Projekt) Die Open Source -Bewegung Christian Klauer 1. Was ist Open Source? (Das GNU-Projekt) GNU: o Abkürzung für: GNU s Not Unix o Das erste mal 1989 von Richard Stallman erwähnt o Betriebssystem, welches vollkommen

Mehr

Verzeichnisbasiertes Benutzer- und Systemmanagement mit LDAP und Gosa

Verzeichnisbasiertes Benutzer- und Systemmanagement mit LDAP und Gosa Verzeichnisbasiertes Benutzer- und Systemmanagement mit und Gosa Dipl.-Inform. Holger Burbach GONICUS GmbH Arnsberg/Bonn http://www.gonicus.de info@gonicus.de Agenda Über GONICUS Einführung in smöglichkeiten

Mehr

http://timof.qipc.org/ldap Timo Felbinger 20.09.2006 Eine kleine Einführung LDAP

http://timof.qipc.org/ldap Timo Felbinger 20.09.2006 Eine kleine Einführung LDAP LDAP Eine kleine Einführung Timo Felbinger 20.09.2006 http://timof.qipc.org/ldap LDAP: Überblick und einige Anwendungen 2 Server < LDAP > (Lightweight Directory Access Protocol) Client(s) Kommandozeilenbefehle:

Mehr

Step by Step Active Directory unter Windows Server 2003. von Christian Bartl

Step by Step Active Directory unter Windows Server 2003. von Christian Bartl Step by Step Active Directory unter Windows Server 2003 von Active Directory unter Windows Server 2003 Um Active Directory zu installieren muss der Server eine fixe IP-Adresse besitzen. Außerdem wird die

Mehr

z/os LDAP ein zentraler Security Service Mit IBM System z in die Zukunft

z/os LDAP ein zentraler Security Service Mit IBM System z in die Zukunft Mit IBM System z in die Zukunft Empalis z/os-tag 2008 IBM Forum Stuttgart, 2008-07-09 Oliver Paukstadt, Millenux GmbH Christian Tatz, Empalis GmbH Agenda LDAP Theorie & Grundlagen Anbindung eines Linux/Unix

Mehr

Implementierung einer LDAP basierenden Patientenverwaltung

Implementierung einer LDAP basierenden Patientenverwaltung FH Heilbronn / Uni Heidelberg Studiengang Medizinische Informatik Praktikum Datenbank- und Informationssysteme im Gesundheitswesen Implementierung einer LDAP basierenden Patientenverwaltung Handout zur

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Softwarelizenzen und Open Source

Softwarelizenzen und Open Source 02. Februar 2016 Softwarelizenzen und Open Source Juristisches IT-Projektmanagement Vortrag von Michael Woborschil Inhalt 1. Einführung 2. Lizenzen allgemein 3. Open Source 4. Copyleft 4. Beispiele für

Mehr

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

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security Agenda Was ist LDAP Aufbau einer Sicherheitsmaßnahmen Was ist LDAP Abstract RFC4510 The Lightweight Directory Access Protocol (LDAP) is an Internetprotocol for accessing distributed directory services

Mehr

OpenLDAP, adieu? Ein LDAP Server in Java: ApacheDS Reality Check. Stefan Zörner

OpenLDAP, adieu? Ein LDAP Server in Java: ApacheDS Reality Check. Stefan Zörner OpenLDAP, adieu? Ein LDAP Server in Java: ApacheDS Reality Check Stefan Zörner Zusammenfassung. Short Talk: OpenLDAP, adieu? Ein LDAP Server in Java: ApacheDS Reality Check Das Apache Directory Projekt

Mehr

Active Directory unter Linux

Active Directory unter Linux CeBIT 2015 Active Directory unter Linux Prof- Dr.-Ing. Kai-Oliver Detken DECOIT GmbH Fahrenheitstraße 9 D-28359 Bremen http://www.decoit.de detken@decoit.de DECOIT GmbH Kurzvorstellung der DECOIT GmbH

Mehr

Medienkompetenz, Grafik und DTP

Medienkompetenz, Grafik und DTP VO 340381 Informationsdesign; Medienkompetenz, Grafik und DTP Zentrum für Translationswissenschaft Letztes Mal sprachen wir über: Computer Aufbau Software Was ist Software? Software Soft im Sinne von weich/veränderbar

Mehr

LDAP Server & Clients Benutzer-Authentifizierung mit LDAP LDAP. Philipp Wendler. IEEE Student Branch Passau. 28. Mai 2009 1 / 29

LDAP Server & Clients Benutzer-Authentifizierung mit LDAP LDAP. Philipp Wendler. IEEE Student Branch Passau. 28. Mai 2009 1 / 29 Server & Clients Benutzer-Authentifizierung mit IEEE Student Branch Passau 28. Mai 2009 1 / 29 Server & Clients Benutzer-Authentifizierung mit Inhalt 1 2 Server & Clients 3 Benutzer-Authentifizierung mit

Mehr

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP Inhaltsverzeichnis Dokumenteninformation... 2 Voraussetzungen... 2 Einschränkungen... 2 Installation von ESTOS Metadir...

Mehr

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web Michael Weiser, Steffen Wolf, 99IN 22. Mai 200 WEB-INTERFACE 2 Web-Interface. Softwareschnittstellen Webserver in Entwicklung

Mehr

Rollen von Domänencontrollern (DC s) Tag 04/00 - Thomas Fakler

Rollen von Domänencontrollern (DC s) Tag 04/00 - Thomas Fakler Rollen von Domänencontrollern (DC s) Multimastermodus Multimastermodus Active Directory unterstützt den Multimastermodus d.h. in vielen Bereichen z.b. DDNS mit Active Directory integrierten Zonen, können

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Internet Security Vortrag

Internet Security Vortrag Internet Security Vortrag SMB / CIFS Sicherheit Mario Bacic 27.04.2004 27.04.2004 SMB/CIFS Security Mario Bacic Seite 1 Inhalt 1.Einordnung 2.Geschichte 3.Klassisches SMB Protokoll 4.Erweiterungen in CIFS

Mehr

Fileserver mit OSL Storage Cluster Hochverfügbare NFS und Samba Server in heterogenen Netzwerkumgebungen. 11.10.2007 Christian Schmidt

Fileserver mit OSL Storage Cluster Hochverfügbare NFS und Samba Server in heterogenen Netzwerkumgebungen. 11.10.2007 Christian Schmidt Fileserver mit OSL Storage Cluster Hochverfügbare NFS und Samba Server in heterogenen Netzwerkumgebungen 11.10.2007 Christian Schmidt Agenda Ausgangssituation am Beispiel der IBB Einführung in NFS und

Mehr

Verteilte Dateisysteme

Verteilte Dateisysteme Verteilte Dateisysteme Proseminar: Speicher und Dateisysteme Hauke Holstein Gliederung 1/23 - Einleitung - NFS - AFS - SMB Einleitung Was sind Verteilte Dateisysteme? 2/23 - Zugriff über ein Netzwerk -

Mehr

Zur Person. Michael Ströder. Freiberuflicher Berater Schwerpunkte Verzeichnisdienste & IT Sicherheit. OSS Projekte im LDAP Umfeld

Zur Person. Michael Ströder. Freiberuflicher Berater Schwerpunkte Verzeichnisdienste & IT Sicherheit. OSS Projekte im LDAP Umfeld Zur Person Michael Ströder Freiberuflicher Berater Schwerpunkte Verzeichnisdienste & IT Sicherheit LDAP / X.500 Benutzerverwaltung (Identity Management / Provisioning) PKI / X.509, Verschlüsselung, Digitale

Mehr

LDAP in der GWDG Einsatzspektrum

LDAP in der GWDG Einsatzspektrum LDAP in der GWDG Einsatzspektrum Konrad Heuer, Andreas Ißleiber Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen Einleitung In diesem Vortrag wird dargestellt, wie sich das Einsatzspektrum

Mehr

Enterprise User Security mit Active Directory

Enterprise User Security mit Active Directory Enterprise User Security mit Active Directory Jürgen Kühn Trivadis GmbH Düsseldorf Schlüsselworte: Enterprise User Security, Active Directory, Directory Integration and Provisioning, Active Directory Passwort

Mehr

IT Asset Management mit LDAP. Boguslaw Sylla

IT Asset Management mit LDAP. Boguslaw Sylla IT Asset Management mit LDAP Boguslaw Sylla 2 1. LDAP-Systeme Übersicht Fedora Directory Server (jetzt 389 Direcrory Server) OpenDS (von Sun als Java-Implementation) ApacheDS (wie meist bei Apache üblich

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

4 Zugriffskontrolle mit ACLs

4 Zugriffskontrolle mit ACLs 4 Zugriffskontrolle mit ACLs In diesem Kapitel lernen Sie wie man mit ACLs Zugriffsrechte auf einzelne Ressourcen vergibt. Unter einer ACL (Access Control List) versteht man eine Liste mit Zugriffsrechten.

Mehr

Freie und Quelloffene Softwarelizenzen im Vergleich

Freie und Quelloffene Softwarelizenzen im Vergleich Freie und Quelloffene Softwarelizenzen im Vergleich Themen Geschichte Idee der Freien und Quelloffenen Software Gesetzeslage in Deutschland Institute Definition von freier Software Definition von quelloffener

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Active Directory. Agenda. Michael Flachsel. TU-Windows Konzept Vorhandene Umgebung. Allgemeiner Aufbau & Struktur an der TUB

Active Directory. Agenda. Michael Flachsel. TU-Windows Konzept Vorhandene Umgebung. Allgemeiner Aufbau & Struktur an der TUB Michael Flachsel Active Directory Allgemeiner Aufbau & Struktur an der TUB 6. Juni 2007 Agenda TU-Windows Vorhandene 2 (c) 2007 Michael Flachsel Active Directory" 1 Warum Active Directory Ca. 2000 Ca.

Mehr

Open Source. Eine kleine Geschichte zum Konzept der freien Software

Open Source. Eine kleine Geschichte zum Konzept der freien Software Open Source Eine kleine Geschichte zum Konzept der freien Software Open Source Definition (1) Freie Weitergabe Die Lizenz darf niemanden darin hindern, die Software zu verkaufen oder sie mit anderer Software

Mehr

Sysadmin Day 2010. Windows & Linux. Ralf Wigand. MVP Directory Services KIT (Universität Karlsruhe)

Sysadmin Day 2010. Windows & Linux. Ralf Wigand. MVP Directory Services KIT (Universität Karlsruhe) Sysadmin Day 2010 Windows & Linux just good friends? friends!!! Ralf Wigand MVP Directory Services KIT (Universität Karlsruhe) Voraussetzungen Sie haben ein Active Directory Sie haben einen Linux Client

Mehr

Herzlich willkommen im Modul Informatik Grundlagen

Herzlich willkommen im Modul Informatik Grundlagen Herbstsemester 2010/2011 Herzlich willkommen im Modul Informatik Grundlagen Wirtschaftsingenieurwesen: 1. Semester Dozent: Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler 1 Ablauf: 1.

Mehr

6 NetWare-Clients. 6.1 Native File Access für Windows. Novell NetWare 6.0/6.5 Administration (Grundlagen)

6 NetWare-Clients. 6.1 Native File Access für Windows. Novell NetWare 6.0/6.5 Administration (Grundlagen) 6 NetWare-Clients Als Microsoft 1993 die ersten eigenen Betriebssysteme für Netzwerke (Windows for Workgroups und Windows NT) vorstellte, wurde die LAN-Industrie von Novell NetWare beherrscht. Um erfolgreich

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Linux & Security. Andreas Haumer xs+s. Einsatz von Linux in sicherheitsrelevanten Umgebungen

Linux & Security. Andreas Haumer xs+s. Einsatz von Linux in sicherheitsrelevanten Umgebungen Linux & Security Andreas Haumer xs+s Einsatz von Linux in sicherheitsrelevanten Umgebungen Einführung Netzwerksicherheit wichtiger denn je Unternehmenskritische IT Infrastruktur Abhängigkeit von E Services

Mehr

Verzeichnisdienste in heterogenen Systemen

Verzeichnisdienste in heterogenen Systemen Verzeichnisdienste in heterogenen Systemen Zielsetzungen Implementierung Aufbau: Active Directory (AD) auf Basis von Windows Server 008 R mit Windows Client(s), Linux Client(s) und einem Linux Server (Dateiserver).

Mehr

Open Source Software. Workshop : Open Source Software 3. Mannheimer Fachtag Medien 23.10.07. Referent : Christopher Wieser (www.opso-it.

Open Source Software. Workshop : Open Source Software 3. Mannheimer Fachtag Medien 23.10.07. Referent : Christopher Wieser (www.opso-it. Open Source Software Workshop : Open Source Software 3. Mannheimer Fachtag Medien 23.10.07 Referent : Christopher Wieser (www.opso-it.de) Open Source Software Ablauf Einführung in die Begriffe Open Source,

Mehr

LDAP-Eine Möglichkeit zur Benutzersynchronisation im KIS/RIS/PACS- Die Verbund neue Präsentation von gap

LDAP-Eine Möglichkeit zur Benutzersynchronisation im KIS/RIS/PACS- Die Verbund neue Präsentation von gap LDAP-Eine Möglichkeit zur Benutzersynchronisation im KIS/RIS/PACS- Die Verbund neue Präsentation von gap warum Benutzersynchronisation Vielzahl von IT-Systemen schützenswerte Daten oder Funktionen Wiederholte

Mehr

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse

SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Fakultät Informatik Institut für Systemarchitektur Professur für Rechnernetze SNMP 1 -basierte dynamische Netzwerkkonfiguration und analyse Versuchsvorgaben (Aufgabenstellung) Der neu zu gestaltende Versuch

Mehr

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

Mehr

Übernahme einer NT4-Domäne mit Samba 3.0

Übernahme einer NT4-Domäne mit Samba 3.0 Übernahme einer NT4-Domäne mit Samba 3.0 Volker Lendecke VL@Samba.ORG 3. April 2003 1 Einleitung Seit Ende 2002 ist der offizielle Support von Microsoft für NT4 ausgelaufen oder zumindest deutlich eingeschränkt

Mehr

OSS & GPL. OPEN SOURCE SOFTWARE & GNU General Public License. Freiheiten, die Ihr Geld wert sind! ANDREAS GÜNTHER IT-NETZWERKSERVICE

OSS & GPL. OPEN SOURCE SOFTWARE & GNU General Public License. Freiheiten, die Ihr Geld wert sind! ANDREAS GÜNTHER IT-NETZWERKSERVICE OPEN SOURCE SOFTWARE & GNU General Public License Freiheiten, die Ihr Geld wert sind! ANDREAS GÜNTHER IT-NETZWERKSERVICE www.it-netzwerkservice.net www.linuxmaker.de Andreas Günther, IT-NETZWERKSERVICE,

Mehr

AFS / OpenAFS. Bastian Steinert. Robert Schuppenies. Präsentiert von. Und

AFS / OpenAFS. Bastian Steinert. Robert Schuppenies. Präsentiert von. Und AFS / OpenAFS Präsentiert von Bastian Steinert Und obert Schuppenies Agenda AFS Verteilte Dateisysteme, allg. Aufbau Sicherheit und Zugriffsrechte Installation Demo Vergleich zu anderen DFs Diskussion

Mehr

A505 Network Attached Storage (NAS)

A505 Network Attached Storage (NAS) Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB A505 Network Attached Storage (NAS) Klassifizierung: Typ: Nicht klassifiziert IKT-Standard Ausgabedatum: 2015-02-03 Version:

Mehr

Samba trifft IT-Grundschutz

Samba trifft IT-Grundschutz Samba trifft IT-Grundschutz FH OÖ Studiengänge Hagenberg Linz Steyr Wels Zur Person Name: Christoph Zauner Masterstudium Sichere Informationssysteme an der Fachhochschule Hagenberg in Österreich. Schwerpunkte

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

OU Verwaltung für CV's

OU Verwaltung für CV's OU Verwaltung für CV's Version Datum Autor Änderung 01 7.12.06 JM Meyer Original 02 14.5.08 JM Meyer Typo und Ergänzungen 03 16.5.08 JM Meyer LMHOSTS lookup entfernt 04 3.7.08 JM Meyer Typo und Ergänzungen

Mehr

Microsoft Azure Fundamentals MOC 10979

Microsoft Azure Fundamentals MOC 10979 Microsoft Azure Fundamentals MOC 10979 In dem Kurs Microsoft Azure Fundamentals (MOC 10979) erhalten Sie praktische Anleitungen und Praxiserfahrung in der Implementierung von Microsoft Azure. Ihnen werden

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Chancen durch Verzeichnisdienste im Intraund. Junited Gründermesse, 4.4.2002, Reutlingen Peter Gietz Peter.Gietz@daasi.de

Chancen durch Verzeichnisdienste im Intraund. Junited Gründermesse, 4.4.2002, Reutlingen Peter Gietz Peter.Gietz@daasi.de Chancen durch Verzeichnisdienste im Intraund Internet Junited Gründermesse, 4.4.2002, Reutlingen Peter Gietz Peter.Gietz@daasi.de 1 Inhalt DAASI International Was ist ein Verzeichnisdienst? Wozu können

Mehr

Samba4 / Active Directory Seminar Betriebsystemadministration

Samba4 / Active Directory Seminar Betriebsystemadministration Samba4 / Active Directory Seminar Betriebsystemadministration Martin Faust Hasso-Plattner-Institut Potsdam Mai 2008 1 Themen 2 Samba SMB Protokoll Aktueller Entwicklungsstand, Ziele Active Directory Funktionsweise

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2 Lizenzierung von Windows Server 2012 R2 Lizenzierung von Windows Server 2012 R2 Das Lizenzmodell von Windows Server 2012 R2 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung

Mehr

Einführung in Freie Software

Einführung in Freie Software Einführung in Freie Software Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim Bei unklaren Begriffen bitte sofort melden Software is like sex. It's better when it's free. Linus Torvalds

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Apache Directory Studio. Ihre Eintrittskarte in die Verzeichniswelt. Über mich

Apache Directory Studio. Ihre Eintrittskarte in die Verzeichniswelt. Über mich Apache Directory Studio Ihre Eintrittskarte in die Verzeichniswelt Über mich Stefan Zörner, Dipl.Math. Berater und Trainer bei oose seit Juli 2006, Stefan.Zoerner@oose.de zuvor u.a. 5 Jahre IT Architect

Mehr

Secure Socket Layer v. 3.0

Secure Socket Layer v. 3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer v. 3.0 (SSLv3) Zheng Yao 05.07.2004-1 - 1. Was ist SSL? SSL steht für Secure Socket Layer, ein Protokoll zur Übertragung

Mehr

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

Grundlagen DNS 1/5. DNS (Domain Name System) Grundlagen DNS 1/5 DNS (Domain Name System) Weltweit gibt es 13 zentrale DNS-Server (Root-Nameserver), auf denen die verschiedenen Domains abgelegt sind. Der Domönennamensraum bzw. das Domain Name Space

Mehr

Open Source - Was ist das eigentlich?

Open Source - Was ist das eigentlich? Open Source - Was ist das eigentlich? VHS Reutlingen Kurt Jaeger, pi@nepustil.net http://nepustil.net/ Reutlingen, 18.Oktober 2006 Übersicht Vorstellung Was ist Open Source? Lizenzen Vorteile Nachteile

Mehr