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

Slides:



Advertisements
Ähnliche Präsentationen
Einer der Dienste im Internet
Advertisements

Was gibt´s neues im Bereich Sicherheit
Apache Authentifizierung am LDAP-Server
OpenLDAP.
Regionale Lehrerfortbildung
Lightweight Directory Access Protocol
Erweiterung B2B Usermanagement / LDAP-Anbindung
XINDICE The Apache XML Project Name: Jacqueline Langhorst
1 NetWork File System © April 2002, G. Hellberg Network File System Konfiguration und Einsatz.
Directory Services - LDAP, JNDI
Samba.
Einrichtung eines File- und Printservers mit
Mailserver-Installation mit LDAP-Schnittstelle für die Firma XYZ GmbH
Netzwerke Peer-to-Peer-Netz Client-Server Alleinstehende Server
Directory Services für Heterogene IT Landschaften
Workshop: Active Directory
Installationsdiskette booten Startdiskette und CD-1 einlegen und den Rechner starten Auswahl: Deutsch Auswahl: Farbbildschirm Auswahl: Deutsch Auswahl:
Service Location Protocol Ein Service Discovery Protokoll Patric Zbinden 20. März 2003.
von Sebastian Streitberger
Systemaufbau / Komponenten
LDAP- Verzeichnis und Protokoll
Sesame Florian Mayrhuber
WINlearn Technische Spezifikation der Benutzerstruktur Gruppe 4.
Samba Seminar Technik SS Alexander Lange,
Domain Name Service Grundlagen, Implementierung im Active Directory und Integration von Win2k-Domains in bestehende Umgebungen Kay Sander.
Michael Hartl, Laurent Steurer
1 Microsoft Windows 2000: Bereitstellen einer Infrastruktur.
Zero Administration Kit für Microsoft® Windows® Jörg Kramer University Support Center.
Planung und Realisierung eines Linux Samba-Servers unter SuSE 9.0
Realisierung und Einführungskonzept einer standortübergreifenden Vereinheitlichung der Benutzerverwaltung mit LDAP Diplomarbeit bei Continental Temic in.
Linux Primary Domain Controller mit
FTP File Transfer Protocol. Geschichte Das File Transfer Protocol (engl. für „Dateiübertragungsverfahren“, kurz FTP) ist ein im RFC 959 von 1985 spezifiziertes.
Singlepoint of Administration Peter Biller und Jessie Bragg.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Vs Verteilte Verzeichnisse können ein verteiltes Betriebssystem unterstützen dienen der Abbildung von „Namen“ auf „Daten“ aller Art sollten ihre.
Novell Server mit NetWare 6.5 und Windows 2003 Server Bernd Holzmann
Universität zu Köln IT – Zertifikat der Philosophischen Fakultät / Kurs: Allgemeine Technologien I mit Susanne Kurz M. A. Open Source Anw. vs. proprietäre.
Linux rules the NT-Domain Samba als PDC für Windows NT.
DNS Grundlagen Wer soll sich das merken !!! Wer soll sich das merken !!!
IIS The microsoft way. © Windows NT Option pack optionale Server Komponenten IIS (Internet Information Server) Webserver von Microsoft.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: LDAP Dr. Wolfgang Wörndl
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
J Walk/GUI400 für Einsteiger Client Win95, Win98, WinNT © NewServ AG, Uitikon Installationsvorgang.
LINUX II Samba Verbindung mit Windows. Samba Übersicht ● Samba dient zur Verbindung von Linux-Clients mit Windows Rechnern ( samba-client ) sowie von.
Einrichtung eines Schulnetzwerkes unter Linux Besondere Lernleistung von Henrik Friedrichsen.
LINUX II Unit 9 Network File Server NFS. NFS Überblick ● Zugriff von lokalen Rechner über Netzwerk auf Dateien oder Ordnern auf entfernten Servern ● Entwickelt.
Grundlagen: Windows Server
Verwalten von Daten mit Hilfe von NTFS
Verzeichnisdienste im Vergleich
TNS-Resolution mit LDAP
Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim
Indico Meeting Dennis Klein
OAuth 2.0 Ralf Hoffmann 03 / 2017
Camil Bartkowiak Serhat Cinar Leonardo Di Lella Jan Finsel
Schulungsunterlagen der AG RDA
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
VPN (Virtual private Network)
Kapitel XI: Transportprotokolle (OSI 3+4) TRANSPORTPROTOKOLLE DER
Du kommst hier nicht rein!
Security Labor MitM-Demonstration
Datenbanken online sowie offline verfügbar machen
Rechenzentrum Zentrum für Kommunikation und Information
PI Infrastruktur in der Max-Planck-Gesellschaft
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

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

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

Ausgangssituation Betrachten einfaches LAN: 1 Linux-Server mit Samba Vers. 2.2.7a Etwa 15-20 Windows NT- und/oder W2K- bzw. XP-Clients Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

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 08.11.2018

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 08.11.2018

User-Account Administration in typischen LAN Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

Authentifizierung mittels PDC Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

Beisp.: Anlegen Maschinekonto für Rechner w2k-1 useradd –u 1001 -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 08.11.2018

smb.conf Einträge für Samba-PDC Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

Beitritt W2K-WS zu Domain Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

Beitritt W2K-WS zu Domain (Forts.) Entfernen Client-Support für Active Directory erst ab Version 3.0 Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

Domain-Logon – Vorgang (nur mit Samba als PDC) Außer Windows-Administrator kein lokaler Win-User erforderlich ! Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

Domain-Logon – Vorgang (Samba als PDC und LDAP-Anbindung) Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

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 08.11.2018

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 08.11.2018

Beispiel 2: LDAP – Abfrage über HTML Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

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 1988 ->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 08.11.2018

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 08.11.2018

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 08.11.2018

Datenaufbau (Forts.) Objektklassen definieren, welche Attribute mit welchen Wertetypen erlaubt sind Attribute: optional oder zwingend (required) einwertig oder mehrwertig (z.B. Emailadressen) 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 08.11.2018

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 08.11.2018

Datenaufbau: Hierarchie Einträge sind hierarchisch aufgebaut Die Objekte bilden den Directory Information Tree (=DIT) Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

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 08.11.2018

Literatur 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 08.11.2018

Literatur (Forts.) „Understanding LDAP“, Heinz Johner, Larry Brown, Franz-Stefan Hinner, Wolfgang Reis, Johan Westman http://www.redbooks.ibm.com/abstracts/sg244986.html „The SAMBA-2.2.4/LDAP PDC HOWTO“, Olivier Lemaire http://samba.idealx.org/dist/samba-ldap-howto.pdf „Zentrale Anmeldung“, Volker Lendecke, http://www.heise.de/ix/artikel/2002/04/148/ “Single-Sign-On unter Linux mit Active Directory und LDAP”, Michael Ganß, http://www.oo-services.com/articles/sso.html Autoren: Rainer Schimmerl & Georg E. Paulusberger 08.11.2018