Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gudrun Junge Geändert vor über 5 Jahren
1
Single Sign On (zentrale Benutzer-Account-Verwaltung) mittels Samba und OpenLDAP
Autoren: Rainer Schimmerl & Georg E. Paulusberger
2
Begriffsdefinitionen (Eigenschaften & Implikationen)
Authentifizierung (Authentication) Prozess Dabei wird die eindeutige Identität eines Benutzers festgestellt und in elektronischer Form repräsentiert Beide Begriffe sind zentral/wesentlich für das Verständnis von SSO Betrachten nur die klassische Authentifizierung mittels dem Tupel (Benutzerkennung, Passwort) Autoren: Rainer Schimmerl & Georg E. Paulusberger
3
Begriffsdefinitionen (Forts.) (Eigenschaften & Implikationen)
Authentifizierung (Authentication) Klassische Form der Authentifizierung: Tupel: (Benutzerkennung, Passwort) Weitere Möglichkeiten: ID-Card, biometrische Verfahren Autoren: Rainer Schimmerl & Georg E. Paulusberger
4
Begriffsdefinitionen (Forts.) (Eigenschaften & Implikationen)
Autorisierung (Authorization) Setzt Authentifizierung voraus Bereits authentifiziertes Individuum wird als berechtigt identifiziert auf einen bestimmten Dienst oder ein bestimmtes Datum zuzugreifen Autoren: Rainer Schimmerl & Georg E. Paulusberger
5
Motivation für SSO Definition von SSO: Pro BenutzerIn:
genau eine Benutzerkennung genau ein zugehöriges Passwort dieses Tupel ist für die gesamte Dauer einer Arbeitssitzung gültig Autoren: Rainer Schimmerl & Georg E. Paulusberger
6
Motivation für SSO (Forts.)
Abkehr von zentralistischen Mainframes Diese hatten: Mehrere Apps auf einem großen Host Authentifizierung & Autorisierung wurden über das Host-OS geregelt (Apps-spezifische Autorisierungstabellen) Autoren: Rainer Schimmerl & Georg E. Paulusberger
7
Motivation für SSO (Forts.)
Konsequenzen der C/S-Systeme Pro Apps/zu nutzender Dienst eigene (Benutzerkennung, Passwort) Praxis: 3, 4 oder noch mehr digitale Identitäten Folglich: PostIts, Zettel am Schreibtisch Moderne Variante: Unverschlüsselter Textfile im PDA Autoren: Rainer Schimmerl & Georg E. Paulusberger
8
Nächstes Teilziel Samba als Primary Domain Controller Ersatz für NT 4.0 – Server D.h.: Zentrale Account-Verwaltung mit Samba Allgemeine Lösung: D.h.: Samba mit OpenLDAP-Anbindung Autoren: Rainer Schimmerl & Georg E. Paulusberger
9
Ausgangssituation Betrachten einfaches LAN:
1 Linux-Server mit Samba Vers a Etwa Windows NT- und/oder W2K- bzw. XP-Clients Autoren: Rainer Schimmerl & Georg E. Paulusberger
10
Aufgabenstellung im LAN
Anwender X arbeitet auf Windows-Client A Um Daten von Server S abzurufen Account auf A und S erforderlich Rechner A wird defekt X weicht auf Rechner B aus Um von B aus auf Server S zuzugreifen ist auch auf B lokaler Account nötig! Anwender X will sein Passwort ändern! Änderung auf Server S und jedem Client A, B, ... nötig D.h., mindestens linearer Aufwand bei Passwort- bzw. Account-Administration Autoren: Rainer Schimmerl & Georg E. Paulusberger
11
Zieldefinition (Benutzerkennung, Passwort) weg von Zentrale Verwaltung Benutzer soll sich genau einmal anmelden Effekt: Alle lokal und am Samba-Server für ihn freigegebenen Resourcen (Dateien, Drucker, ...) sind für gesamte Session verfügbar Autoren: Rainer Schimmerl & Georg E. Paulusberger
12
User-Account Administration in typischen LAN
Autoren: Rainer Schimmerl & Georg E. Paulusberger
13
Authentifizierung mittels PDC
Autoren: Rainer Schimmerl & Georg E. Paulusberger
14
Wesentliche Windows-NT Begriffe
Share = Freigegebene Resource am NT bzw. Samba-Server (Verzeichnisse, Drucker) Domain = Bereich administrativer Kontrolle & Sicherheit Benutzer melden sich bei Domäne an, nicht bei individuellen Server Danach stehen ihm alle freigegebenen Domänen-Resourcen zur Verfügung Autoren: Rainer Schimmerl & Georg E. Paulusberger
15
Komponenten einer Domäne
Ein Primary Domain Controller (= PDC) Ein oder mehrer Backup Domain Controller (= BDC) Resource Servers (etwa File- und/oder Print-Server) Windows-Clients (Win 9x, NT 4.0, W2K, XP) Autoren: Rainer Schimmerl & Georg E. Paulusberger
16
Primary Domain Controller (PDC) (Funktionen)
Validiert Benutzeranmeldung an der Domäne Zentrale Benutzerverwaltung und Sicherheitsregeln in einer Datenbank (SAM = Security Account Manager) Stellt eindeutige administrativer Einheit für das Netzwerk zur Verfügung Autoren: Rainer Schimmerl & Georg E. Paulusberger
17
Zwei zentrale SAM-Komponenten
Maschinenkonto = Eintrag in SAM-DB für jeden zur Domain gehörenden Windows-Client Benutzerkonto = Eintrag in SAM-DB für jeden menschlichen Domänen-User Autoren: Rainer Schimmerl & Georg E. Paulusberger
18
Samba als PDC Verwaltet alle User-Accounts
weist u.a. folgende Eigenschaften auf Verwaltet alle User-Accounts Führt Authentifizierung durch Hat spezielles Verzeichnis für Domain-Anmeldedienst Autoren: Rainer Schimmerl & Georg E. Paulusberger
19
Maschinenkonten einrichten
Pro Windows-WS ein Maschinenkonto Maschinenkonto = Gewöhnliches Benutzerkonto aus Linux-Sicht (mit speziellen Eigenschaften) Username = NetBIOS-Name der Win-WS UID aus dafür reservierten Bereich nehmen z.B.: UID für Maschinenkonten >= 1001 Autoren: Rainer Schimmerl & Georg E. Paulusberger
20
Maschinenkonten einrichten (Forts.)
Alle Windows-WS mit NetBIOS-Namen und IP-Adresse in /etc/hosts oder DNS-DB eintragen Autoren: Rainer Schimmerl & Georg E. Paulusberger
21
Beisp.: Anlegen Maschinekonto für Rechner w2k-1
useradd –u d /dev/null –s /bin/false w2k-1 passwd –l w2k-1 smbpasswd –am w2k-1 Domain-Logon W2K/XP-Clients: „root“ in Samba-Passwortdatei eintragen: smbpasswd -a root Autoren: Rainer Schimmerl & Georg E. Paulusberger
22
smb.conf Einträge für Samba-PDC
Autoren: Rainer Schimmerl & Georg E. Paulusberger
23
Beitritt W2K-WS zu Domain
Autoren: Rainer Schimmerl & Georg E. Paulusberger
24
Beitritt W2K-WS zu Domain (Forts.)
Entfernen Client-Support für Active Directory erst ab Version 3.0 Autoren: Rainer Schimmerl & Georg E. Paulusberger
25
Domain-Logon – Vorgang (nur mit Samba als PDC)
Außer Windows-Administrator kein lokaler Win-User erforderlich ! Autoren: Rainer Schimmerl & Georg E. Paulusberger
26
Domain-Logon – Vorgang (Samba als PDC und LDAP-Anbindung)
Autoren: Rainer Schimmerl & Georg E. Paulusberger
27
LDAP – Leightweight Directory Access Protocol
Protokoll, das den Zugriff auf Verzeichnis-(Informations-)dienste definiert. Offener Standard : RFC 1487, 1777, 2251 und weitere Verzeichnis vs. Datenbank: Verzeichnis: v.a. Lesezugriffe Datenbank: auch viele Schreibzugriffe Autoren: Rainer Schimmerl & Georg E. Paulusberger
28
LDAP – Beispiel 1: Benutzerinformationen im Active Directory
In Windows 2000 ist LDAP integraler Bestandteil des Active Directory - Verzeichnisdienstes Novell Directory Service ? Autoren: Rainer Schimmerl & Georg E. Paulusberger
29
Beispiel 2: LDAP – Abfrage über HTML
Autoren: Rainer Schimmerl & Georg E. Paulusberger
30
Geschichte von LDAP LDAP ist aus dem Standard X.500 DAP entstanden
Protokoll zur Beschreibung eines Informationsdienstes auf Basis einer baumähnlichen Datenbankstruktur Zu speichernde Informationen werden in Objektklassen beschrieben: Attributnamen, Typen und deren Wertebereich benutzt den OSI-Protokollstapel X.500 DAP entworfen vom CCITT >ISO 9594 The first version of LDAP was defined in X.500 Lightweight Access Protocol (RFC 1487), which was replaced by Lightweight Directory Access Protocol RFC 1777 defines the LDAP protocol itself. RFC 1777, along with • The String Representation of Standard Attribute Syntaxes (RFC 1778) • A String Representation of Distinguished Names (RFC 1779) • An LDAP URL Format (RFC 1959) • A String Representation of LDAP Search Filters (RFC 1960) define LDAP Version 2. (RFC 1777). LDAP Version 3 is defined by Lightweight Directory Access Protocol (v3) (RFC 2251). Related RFCs that are new or updated for LDAP Version 3 are: • Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions (RFC 2252) • Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names (RFC 2253) • The String Representation of LDAP Search Filters (RFC 2254) • The LDAP URL Format (RFC 2255) • A Summary of the X.500(96) User Schema for use with LDAPv3 (RFC 2256) RFC 2251 is a proposed standard, one step below a draft standard. Autoren: Rainer Schimmerl & Georg E. Paulusberger
31
Geschichte von LDAP (Forts.)
LDAP (Lightweight Directory Access Protocol) Version 1 an der Universität Michigan entwickelt. Idee dahinter: LDAP soll als Mittler zwischen IP-Clients und einem OSI-X.500 Server dienen Aktuelle Version: LDAP v.3 Unterschiede zu X.500 DAP: benutzt TCP/IP Vereinfachung einiger Operationen einige speziellere Funktionen weggelassen Autoren: Rainer Schimmerl & Georg E. Paulusberger
32
LDAP: Datenaufbau Objekte, Attribute, Werte:
Im LDAP-Datenaufbau definiert eine Objektklasse eine Sammlung aus verschiedenen Attributen, die dazu benutzt werden können, einen Verzeichniseintrag zu beschreiben. Es existieren vordefinierte Objektklassen, die man für die Definition von Lokationen, Organisationen beziehungsweise Firmen, Personen oder Gruppen benutzen kann. Objekte – Attribute – Werte - Schema Bsp.: Objekt: Person Atribute: cn (=commonName), sn(= surname), telephoneNumber, ... Autoren: Rainer Schimmerl & Georg E. Paulusberger
33
Datenaufbau (Forts.) Objektklassen definieren, welche Attribute mit welchen Wertetypen erlaubt sind Attribute: optional oder zwingend (required) einwertig oder mehrwertig (z.B. adressen) Wertetypen sind unter anderem: IA5 (ASCII) Zeichenketten, JPEG Fotos, Sounddaten, URLs und PGP Schlüssel Objekte können abgeleitet werden: z.B.: Objekt organizationalPerson abgeleitet von Objekt Person: erbt alle Attribute von Person + eigene Attribute ? Definition von Objekten und Attributen in einem Schema Autoren: Rainer Schimmerl & Georg E. Paulusberger
34
Datenaufbau (Forts.) Zu den am meisten benutzten Objekten gehören:
country locality organization organizationalUnit person Häufig genutzte Attribute sind unter anderem: commonName (cn) organizationName (o) organizationalUnitName (ou) localityName (l) country (c) Autoren: Rainer Schimmerl & Georg E. Paulusberger
35
Datenaufbau: Hierarchie
Einträge sind hierarchisch aufgebaut Die Objekte bilden den Directory Information Tree (=DIT) Autoren: Rainer Schimmerl & Georg E. Paulusberger
36
LDAP: Distinguished Names (DN), Relative Distinguished Names (RDN)
Über den Distinguished Name (=DN) werden Einträge eindeutig identifiziert. Dazu wird der hierarchische Pfad herangezogen z.B.: cn=John Smith,o=IBM,c=DE DNs bestehen aus aneinandergereihten RDNs (=Relative Distinguished Names): cn=John Smith o=IBM c=DE RDNs: auch „Namensattribute“ genannt -> Bsp.: Benutzer John Smith in der Organisation IBM im Land Deutschland Autoren: Rainer Schimmerl & Georg E. Paulusberger
37
Distinguished Names (Forts.)
Es gibt alternative Möglichkeiten, den DN zu schreiben: z.B.: LDAP-URL (RFC 1959) : „ldap://“ + DNS des LDAP-Servers + / + DN des betreffenden Objekts z.B.: ldap://ldap.ibm.de/cn=John Smith,o=IBM,c=DE DN - URI- Format Autoren: Rainer Schimmerl & Georg E. Paulusberger
38
LDAP: Schema Objektklassen, Attribute und ihre Wertebereiche werden in einem Schema festgelegt. Dieses ist frei zu gestalten, allerdings gibt es zum Zweck der Interoperabilität standardisierte Schemata: z.B.: RFC 2252: Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions RFC 2256: A Summary of the X.500(96) User Schema for use with LDAPv3. Schema-Bsp... Autoren: Rainer Schimmerl & Georg E. Paulusberger
39
LDAP: Operationen 3 Gruppen:
QUERY: Informationen im LDAP-Verzeichnis suchen: SEARCH UPDATE: ADD: Hinzufügen eines neuen Eintrages MODIFY: Daten ändern REMOVE: Einträge löschen AUTHENTIFICATION: BIND, UNBIND: Verbindungsauf-, abbau mit LDAP-Server ABANDON: Verbindung mit Server beenden Schnittstellen (API) definiert für C, Java, HTML, Oracle,... Beispiel für search-Befehl Autoren: Rainer Schimmerl & Georg E. Paulusberger
40
LDAP und Sicherheit Sicherheitsproblematik: standardmäßig werden Informationen (z.B. Passwörter) im Klartext über die Leitungen geschickt und können mit Paketsniffern leicht ausgelesen werden Abhilfe: Verbindung zwischen Rechnern sollte über SSL/TLS laufen TLS: Transport Layer Security mit SSL (Secure Socket Layer9 von Netscape) Autoren: Rainer Schimmerl & Georg E. Paulusberger
41
Beispielaufbau SSO Notwendige Pakete: Serverseite:
Samba OpenLDAP: Open Source LDAP-Server UNIX-/ Linux - Clients: OpenLDAP: Client nss_ldap: Paket, das dafür sorgt, dass die Password-Informationen vom LDAP-Server geholt werden (und nicht aus /etc/passwd) pam_ldap: PAM ermöglicht flexible Authentifizierungsvarianten (z.B. smart cards,...) PAM = Pluggable Authentification Modules: unterschiedliche Authentifizierungsverfahren: Kerberos, smart cards, ... Konfigurationseinstellungen für smb.conf Autoren: Rainer Schimmerl & Georg E. Paulusberger
42
Konfiguration des OpenLDAP-Servers (/etc/openldap/slapd.conf)
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/samba.schema pidfile /var/run/slapd.pid argsfile /var/run/slapd.args database ldbm suffix "dc=SOHO,dc=org“ rootdn "cn=admin,dc=SOHO,dc=org“ rootpw {SSHA}CNpEOM8/teaC3jY6wBjF13saNejdngDc Die Option suffix teilt dem Server mit, für welchen Teilbaum er zuständig ist Der DN für den Administrator des LDAP-Verzeichnisses Die benötigten Schemata werden inkludiert Autoren: Rainer Schimmerl & Georg E. Paulusberger
43
Samba-Konfigurationseinstellungen
[global] workgroup = SOHO encrypt passwords = yes domain logons = yes domain master = yes ldap server = localhost ldap port = 389 ldap suffix = dc=SOHO,dc=org ldap admin dn = cn=admin,dc=SOHO,dc=org ldap filter = (&(objectclass=sambaaccount)(uid=%u)) ldap ssl = no Autoren: Rainer Schimmerl & Georg E. Paulusberger
44
Literatur Linux-Magazin 2/2003: www.linux-magazin.de
„Linux Samba Server Administration“ Roderick W. Smith, Sybex-Verlag „The Unofficial Samba HOWTO“: Samba Project Documenation Documenation page „Single Sign-On and the System Administrator“, Michael Fleming Grubb and Rob Carter, Duke University Autoren: Rainer Schimmerl & Georg E. Paulusberger
45
Literatur (Forts.) „Understanding LDAP“, Heinz Johner, Larry Brown, Franz-Stefan Hinner, Wolfgang Reis, Johan Westman „The SAMBA-2.2.4/LDAP PDC HOWTO“, Olivier Lemaire „Zentrale Anmeldung“, Volker Lendecke, “Single-Sign-On unter Linux mit Active Directory und LDAP”, Michael Ganß, Autoren: Rainer Schimmerl & Georg E. Paulusberger
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.