Single Sign On zentrale BenutzerAccountVerwaltung mittels Samba und
Single Sign On (zentrale Benutzer-Account-Verwaltung) mittels Samba und Open. LDAP Autoren: Rainer Schimmerl & Georg E. Paulusberger 1 21. 11. 2020
Begriffsdefinitionen (Eigenschaften & Implikationen) l Authentifizierung (Authentication) – Prozess – Dabei wird die eindeutige Identität eines Benutzers festgestellt und – in elektronischer Form repräsentiert Autoren: Rainer Schimmerl & Georg E. Paulusberger 2 21. 11. 2020
Begriffsdefinitionen (Forts. ) (Eigenschaften & Implikationen) l Authentifizierung (Authentication) - Klassische Form der Authentifizierung: - - Tupel: (Benutzerkennung, Passwort) Weitere Möglichkeiten: - ID-Card, biometrische Verfahren Autoren: Rainer Schimmerl & Georg E. Paulusberger 3 21. 11. 2020
Begriffsdefinitionen (Forts. ) (Eigenschaften & Implikationen) l 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 4 21. 11. 2020
Motivation für SSO l Definition von SSO: – Pro Benutzer. In: l genau eine Benutzerkennung genau ein zugehöriges Passwort l dieses Tupel ist für die gesamte Dauer einer Arbeitssitzung gültig Autoren: Rainer Schimmerl & Georg E. Paulusberger 5 21. 11. 2020
Motivation für SSO (Forts. ) – Abkehr von zentralistischen Mainframes Diese hatten: Mehrere Apps auf einem großen Host l Authentifizierung & Autorisierung wurden über das Host-OS geregelt (Apps-spezifische Autorisierungstabellen) l Autoren: Rainer Schimmerl & Georg E. Paulusberger 6 21. 11. 2020
Motivation für SSO (Forts. ) l Konsequenzen der C/S-Systeme – Pro Apps/zu nutzender Dienst eigene (Benutzerkennung, Passwort) – Praxis: 3, 4 oder noch mehr digitale Identitäten l Folglich: Post. Its, Zettel am Schreibtisch l – Moderne Variante: Unverschlüsselter Textfile im PDA Autoren: Rainer Schimmerl & Georg E. Paulusberger 7 21. 11. 2020
Nächstes Teilziel (1) Samba als Primary Domain Controller Ersatz für NT 4. 0 – Server D. h. : Zentrale Account-Verwaltung mit Samba (2) Allgemeine Lösung: D. h. : Samba mit Open. LDAP-Anbindung Autoren: Rainer Schimmerl & Georg E. Paulusberger 8 21. 11. 2020
Ausgangssituation Betrachten einfaches LAN: Ø 1 Linux-Server mit Samba Vers. 2. 2. 7 a Ø Etwa 15 -20 Windows NT- und/oder W 2 K- bzw. XP-Clients Autoren: Rainer Schimmerl & Georg E. Paulusberger 9 21. 11. 2020
Aufgabenstellung im LAN (1) (2) 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! (3) 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 10 21. 11. 2020
Zieldefinition (1) (Benutzerkennung, Passwort) weg von (2) 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 11 21. 11. 2020
User-Account Administration in typischen LAN Autoren: Rainer Schimmerl & Georg E. Paulusberger 12 21. 11. 2020
Authentifizierung mittels PDC Autoren: Rainer Schimmerl & Georg E. Paulusberger 13 21. 11. 2020
Wesentliche Windows-NT Begriffe (1) Share = Freigegebene Resource am NT bzw. Samba-Server (Verzeichnisse, Drucker) (2) Domain = Bereich administrativer Kontrolle & Sicherheit a) b) 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 14 21. 11. 2020
Komponenten einer Domäne l Ein Primary Domain Controller (= PDC) l Ein oder mehrer Backup Domain Controller (= BDC) l Resource Servers (etwa File- und/oder Print-Server) l Windows-Clients (Win 9 x, NT 4. 0, W 2 K, XP) Autoren: Rainer Schimmerl & Georg E. Paulusberger 15 21. 11. 2020
Primary Domain Controller (PDC) (Funktionen) l Validiert Benutzeranmeldung an der Domäne l Zentrale Benutzerverwaltung und Sicherheitsregeln in einer Datenbank (SAM = Security Account Manager) l Stellt eindeutige administrativer Einheit für das Netzwerk zur Verfügung Autoren: Rainer Schimmerl & Georg E. Paulusberger 16 21. 11. 2020
Zwei zentrale SAM-Komponenten (1) Maschinenkonto = Eintrag in SAMDB für jeden zur Domain gehörenden Windows-Client (2) Benutzerkonto = Eintrag in SAM-DB für jeden menschlichen Domänen-User Autoren: Rainer Schimmerl & Georg E. Paulusberger 17 21. 11. 2020
Samba als PDC weist u. a. folgende Eigenschaften auf (1) Verwaltet alle User-Accounts (2) Führt Authentifizierung durch (3) Hat spezielles Verzeichnis für Domain -Anmeldedienst Autoren: Rainer Schimmerl & Georg E. Paulusberger 18 21. 11. 2020
Maschinenkonten einrichten Ø Pro Windows-WS ein Maschinenkonto Ø Maschinenkonto = Gewöhnliches Benutzerkonto aus Linux-Sicht (mit speziellen Eigenschaften) • Username = Net. BIOS-Name der Win-WS • UID aus dafür reservierten Bereich nehmen z. B. : UID für Maschinenkonten >= 1001 Autoren: Rainer Schimmerl & Georg E. Paulusberger 19 21. 11. 2020
Maschinenkonten einrichten (Forts. ) Ø Alle Windows-WS mit Net. BIOS-Namen und IP-Adresse in /etc/hosts oder DNS-DB eintragen Autoren: Rainer Schimmerl & Georg E. Paulusberger 20 21. 11. 2020
Beisp. : Anlegen Maschinekonto für Rechner w 2 k-1 (2) useradd –u 1001 -d /dev/null –s /bin/false w 2 k-1 passwd –l w 2 k-1 (3) smbpasswd –am w 2 k-1 (4) Domain-Logon W 2 K/XP-Clients: „root“ in Samba-Passwortdatei eintragen: smbpasswd -a root (1) Autoren: Rainer Schimmerl & Georg E. Paulusberger 21 21. 11. 2020
smb. conf Einträge für Samba-PDC Autoren: Rainer Schimmerl & Georg E. Paulusberger 22 21. 11. 2020
Beitritt W 2 K-WS zu Domain Autoren: Rainer Schimmerl & Georg E. Paulusberger 23 21. 11. 2020
Beitritt W 2 K-WS zu Domain (Forts. ) Entfernen Client-Support für Active Directory erst ab Version 3. 0 Autoren: Rainer Schimmerl & Georg E. Paulusberger 24 21. 11. 2020
Domain-Logon – Vorgang (nur mit Samba als PDC) Ø Außer Windows-Administrator kein lokaler Win-User erforderlich ! Autoren: Rainer Schimmerl & Georg E. Paulusberger 25 21. 11. 2020
Domain-Logon – Vorgang (Samba als PDC und LDAP-Anbindung) Autoren: Rainer Schimmerl & Georg E. Paulusberger 27 21. 11. 2020
LDAP – Leightweight Directory Access Protocol Protokoll, das den Zugriff auf Verzeichnis(Informations-)dienste definiert. l Offener Standard : RFC 1487, 1777, 2251 und weitere l Verzeichnis vs. Datenbank: l – Verzeichnis: v. a. Lesezugriffe – Datenbank: auch viele Schreibzugriffe Autoren: Rainer Schimmerl & Georg E. Paulusberger 28 21. 11. 2020
LDAP – Beispiel 1: l l Benutzerinformationen im Active Directory In Windows 2000 ist LDAP integraler Bestandteil des Active Directory Verzeichnisdienstes Autoren: Rainer Schimmerl & Georg E. Paulusberger 29 21. 11. 2020
Beispiel 2: LDAP – Abfrage über HTML Autoren: Rainer Schimmerl & Georg E. Paulusberger 30 21. 11. 2020
Geschichte von LDAP ist aus dem Standard X. 500 DAP entstanden l X. 500 l – 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 Autoren: Rainer Schimmerl & Georg E. Paulusberger 31 21. 11. 2020
Geschichte von LDAP (Forts. ) l LDAP (Lightweight Directory Access Protocol) – Version 1 an der Universität Michigan entwickelt. – Idee dahinter: LDAP soll als Mittler zwischen IPClients und einem OSI-X. 500 Server dienen – Aktuelle Version: LDAP v. 3 l Unterschiede zu X. 500 DAP: – benutzt TCP/IP – Vereinfachung einiger Operationen – einige speziellere Funktionen weggelassen Autoren: Rainer Schimmerl & Georg E. Paulusberger 32 21. 11. 2020
LDAP: Datenaufbau l Objekte, Attribute, Werte: • Bsp. : Objekt: Person Atribute: cn (=common. Name), sn(= surname), telephone. Number, . . . Autoren: Rainer Schimmerl & Georg E. Paulusberger 33 21. 11. 2020
Datenaufbau (Forts. ) l l Objektklassen definieren, welche Attribute mit welchen Wertetypen erlaubt sind Attribute: – optional oder zwingend (required) – einwertig oder mehrwertig (z. B. Emailadressen) l l Wertetypen sind unter anderem: IA 5 (ASCII) Zeichenketten, JPEG Fotos, Sounddaten, URLs und PGP Schlüssel Objekte können abgeleitet werden: – z. B. : Objekt organizational. Person abgeleitet von Objekt Person: erbt alle Attribute von Person + eigene Attribute Autoren: Rainer Schimmerl & Georg E. Paulusberger 34 21. 11. 2020
Datenaufbau (Forts. ) l Zu den am meisten benutzten Objekten gehören: – – – l country locality organizational. Unit person Häufig genutzte Attribute sind unter anderem: – – – common. Name (cn) organization. Name (o) organizational. Unit. Name (ou) locality. Name (l) country (c) Autoren: Rainer Schimmerl & Georg E. Paulusberger 35 21. 11. 2020
Datenaufbau: Hierarchie l l Einträge sind hierarchisch aufgebaut Die Objekte bilden Directory Information Tree (=DIT) Autoren: Rainer Schimmerl & Georg E. Paulusberger 36 21. 11. 2020
LDAP: Distinguished Names (DN), Relative Distinguished Names (RDN) l l Ü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 Autoren: Rainer Schimmerl & Georg E. Paulusberger 37 21. 11. 2020
Distinguished Names (Forts. ) l 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 l Autoren: Rainer Schimmerl & Georg E. Paulusberger 38 21. 11. 2020
LDAP: Schema l 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 (v 3): Attribute Syntax Definitions – RFC 2256: A Summary of Autoren: Rainer Schimmerl & Georg E. Paulusberger the X. 500(96) User 39 21. 11. 2020
LDAP: Operationen l 3 Gruppen: – QUERY: Informationen im LDAP-Verzeichnis suchen: l SEARCH – UPDATE: l l l ADD: Hinzufügen eines neuen Eintrages MODIFY: Daten ändern REMOVE: Einträge löschen – AUTHENTIFICATION: l l l BIND, UNBIND: Verbindungsauf-, abbau mit LDAP-Server ABANDON: Verbindung mit Server beenden Schnittstellen (API) definiert für C, Java, HTML, Oracle, . . . Autoren: Rainer Schimmerl & Georg E. Paulusberger 41 21. 11. 2020
LDAP und Sicherheitsproblematik: standardmäßig werden Informationen (z. B. Passwörter) im Klartext über die Leitungen geschickt und können mit Paketsniffern leicht ausgelesen werden l Abhilfe: Verbindung zwischen Rechnern sollte über SSL/TLS laufen l Autoren: Rainer Schimmerl & Georg E. Paulusberger 43 21. 11. 2020
Beispielaufbau SSO l l Notwendige Pakete: Serverseite: – Samba – Open. LDAP: Open Source LDAP-Server l UNIX-/ Linux - Clients: – Open. LDAP: 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, . . . ) Autoren: Rainer Schimmerl & Georg E. Paulusberger 44 21. 11. 2020
Konfiguration des Open. LDAPServers (/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 Die. Der Option DN suffix für denteilt pidfile /var/run/slapd. pid dem Serverdes mit, LDAPfür Administrator argsfile /var/run/slapd. args Die benötigten welchen Teilbaum er Verzeichnisses database ldbm Schemata werden zuständig ist suffix "dc=SOHO, dc=org“ inkludiert rootdn "cn=admin, dc=SOHO, dc=org“ rootpw {SSHA}CNp. EOM 8/tea. C 3 j. Y 6 w. Bj. F 13 sa. Nejdng. Dc Autoren: Rainer Schimmerl & Georg E. Paulusberger 45 21. 11. 2020
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 46 21. 11. 2020
Literatur l l l Linux-Magazin 2/2003: www. linux-magazin. de „Linux Samba Server Administration“ Roderick W. Smith, Sybex-Verlag „The Unofficial Samba HOWTO“: http: //hr. uoregon. edu/davidrl/samba. html Samba Project Documenation www. samba. org: Documenation page „Single Sign-On and the System Administrator“, Michael Fleming Grubb and Rob Carter, Duke University Autoren: Rainer Schimmerl & Georg E. Paulusberger 48 21. 11. 2020
Literatur (Forts. ) l „Understanding LDAP“, Heinz Johner, Larry Brown, Franz-Stefan Hinner, Wolfgang Reis, Johan Westman http: //www. redbooks. ibm. com/abstracts/sg 244986. html l „The SAMBA-2. 2. 4/LDAP PDC HOWTO“, Olivier Lemaire http: //samba. idealx. org/dist/samba-ldap-howto. pdf l „Zentrale Anmeldung“, Volker Lendecke, l “Single-Sign-On unter Linux mit Active Directory und LDAP”, Michael Ganß, http: //www. heise. de/ix/artikel/2002/04/148/ http: //www. oo-services. com/articles/sso. html Autoren: Rainer Schimmerl & Georg E. Paulusberger 49 21. 11. 2020
- Slides: 45