Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Single Sign On (zentrale Benutzer-Account-Verwaltung) mittels Samba und OpenLDAP Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018.

Ähnliche Präsentationen


Präsentation zum Thema: "Single Sign On (zentrale Benutzer-Account-Verwaltung) mittels Samba und OpenLDAP Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018."—  Präsentation transkript:

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


Herunterladen ppt "Single Sign On (zentrale Benutzer-Account-Verwaltung) mittels Samba und OpenLDAP Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018."

Ähnliche Präsentationen


Google-Anzeigen