28
Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit Unix-Benutzerverwaltung: Grundlagen, OpenLDAP Daniel Bast [email protected]

Konzepte von Betriebssystem-Komponenten Schwerpunkt ... · Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit Unix-Benutzerverwaltung: Grundlagen, OpenLDAP Daniel Bast

  • Upload
    dodat

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Konzepte von Betriebssystem-KomponentenSchwerpunkt Sicherheit

Unix-Benutzerverwaltung:Grundlagen, OpenLDAP

Daniel [email protected]

© 2003 Daniel Bast 2

Überblick

• Klassische Benutzerverwaltung• OpenLDAP

– Verzeichnisdienste– LDAP im Detail – Zugangskontrolle– Anwendung– Beurteilung

© 2003 Daniel Bast 3

Klassische Benutzerverwaltung

Aufbau der Datei: /etc/passwd

• Besteht aus Zeilen in der Form:

Login-ID:Pwd:UID:GID:Kommentar:Verzeichnis:Shell

• Beispiel:

karl:x:235:100:Karl Müller:/usr/karl/:/bin/sh

© 2003 Daniel Bast 4

Klassische Benutzerverwaltung

Aufbau der Datei: /etc/shadow

• Besteht aus Zeilen in der Form:

Login-ID:Passwort:letzte Änderung:Min:Max:

Vorwarnzeit:Inaktiv:Verfall:unbenutzt

• Beispiel:

sikamuel:*:11680:5:180:10:20:3:0

© 2003 Daniel Bast 5

Klassische Benutzerverwaltung

Aufbau der Datei: /etc/group

• Besteht aus Zeilen in der Form:

Name:Passwort:Group-ID:User-Liste

• Beispiel:

studenten::200:sidabast,sikamuel

© 2003 Daniel Bast 6

Klassische Benutzerverwaltung

Weitere Konfigurationsdateien

• /etc/profile

• /etc/aliases

• /etc/auto.master

• /etc/hosts

• /etc/networks

© 2003 Daniel Bast 7

Klassische Benutzerverwaltung

Beurteilung

• Positiv:– transparent– schnell– Betriebssicher

• Negativ:– Synchronisationsprobleme– Pflegeaufwand linear zur Rechneranzahl– nicht erweiterbar– Unix-spezifisch

© 2003 Daniel Bast 8

Überblick

• Klassische Benutzerverwaltung• OpenLDAP

– Verzeichnisdienste– LDAP im Detail – Zugangskontrolle– Anwendung– Beurteilung

© 2003 Daniel Bast 9

OpenLDAP

Einleitung

• Rechnerinfrastrukturen immer komplexer• Anforderungen an einen Informationsdienst

– plattformunabhängig– zentral u. lokal wartbar– einfach handhabbar– sicher– effektiv

© 2003 Daniel Bast 10

OpenLDAP

LDAP ein Verzeichnisdienst

• LDAP:– Lightweight Directory Access Protocol– 1995 an der University of Michigan als

Alternative zu X.500DAP entwickelt– Ursprünglich nur Zugriffsprotokoll auf X.500

Server

© 2003 Daniel Bast 11

OpenLDAP

LDAP ein Verzeichnisdienst

© 2003 Daniel Bast 12

OpenLDAP

LDAP-Informationsmodell: Objekt und Attribut

• Ein Datensatz ist ein Objekt• Ein Objekt besteht aus Attributen• Ein Attribut besteht aus Attributtyp und Attributwert• Es kann als Single- oder Multivalued definiert werden• Ein Attributtyp hat eine zugehörige Attributsyntax• Ein Attributtyp kann verschieden Vergleichsregeln

haben: – Equality– Substring– Ordering– Extensible

© 2003 Daniel Bast 13

OpenLDAP

LDAP-Informationsmodell: Beispiel

Basis

Objekt Objekt ObjektObjekt

Attribute Attribute Attribute

Attributtyp

Attributwert

Attributwert

© 2003 Daniel Bast 14

OpenLDAP

LDAP-Informationsmodell: Schema

• Schema = Ansammlung von Objektklassen, Attribute, Syntaxen und Vergleichsregeln für eine bestimmten Zweck

• Man kann Schemas selbst definieren und einfach verwenden

• Zur globalen Nutzung können sie standardisiert (IETF) oder registriert werden

© 2003 Daniel Bast 15

OpenLDAP

LDAP-Namensraummodell: DIT, DN u. RDN

• Objekte sind Baumknoten: Directory Information Tree (DIT)– Jeder Knoten hat 0 bis n Kinderknoten– Jeder Konten hat genau 1 Elternknoten

• Jeder Eintrag hat in seiner Hierarchieebene einen eindeutigen Namen: Relativ Distinguished Name (RDN)

• Alle RDNs von Objekt bis Wurzel ergeben den DistinguishedName (DN)

© 2003 Daniel Bast 16

OpenLDAP

LDAP-Namensraummodell: Beispiel

dc=nl dc=dedc=se

o=universityo=company

cn=Mister X

��������� � �� � � � �� �� �� �� � �� ��� �

� ��������

� ����� �� � � � �� ��

� ������ �� � �� ���

���

© 2003 Daniel Bast 17

OpenLDAP

LDAP-Namensraummodell: DN als Zeiger

AliasObjectNameseeAlso

cn=Mister X

Telephone = +30 12345SeeAlso = cn= Mister Xo=university Y, dc=de

cn=Mister X

Telephone= +49 34567…

cn=Mister Y

AliasObjectName = cn=Mister Y, o=university Y, dc=de

cn=Mister Y

Telephone= +49 98765…

o=company…

O=university X…

O=university Y…

......

© 2003 Daniel Bast 18

OpenLDAP

LDAP-Namensraummodell: Verteilung der DatenDaten können auf verschiedenen Servern liegen,

sog Directory Service Agents

C=NL C=US

O=UniversityO=company

cn=Mister X

DSA 3

DSA 2

DSA 1

© 2003 Daniel Bast 19

Überblick

• Klassische Benutzerverwaltung• OpenLDAP

– Verzeichnisdienste– LDAP im Detail– Zugangskontrolle & Authentifizierung– Anwendung– Beurteilung

© 2003 Daniel Bast 20

OpenLDAP

Authentifizierung

• Simple Bind: DN + Passwort• Simple Bind + SSL: Verschlüsselte Session �

DN + Passwort• Alternative mit SASL (=Simple Authentification

and Security Layer): Security Layer zwischen Protokol und der Verbindung

© 2003 Daniel Bast 21

OpenLDAP

Zugangskontrolle

• Mit ACL (= Access Control List)– Nachteil: Zugriffsrechte stehen in der

Serverkonfiguration

• Mit ACI (= Access Control Information)– Vorteile: Zugriffsrechte stehen in der Datenbank– Nachteile: nicht so flexibel, hoher

Verwaltungsaufwand, noch experimentell

© 2003 Daniel Bast 22

OpenLDAP

Anwendung: Login mit OpenLDAP

• Was man braucht:– slap : OpenLDAP Server– libpam-ldap : LDAP Modul für PAM– ldap-utils : Tools um Datenbank zu

modifizieren– gq : zur grafischen Administration

der Datenbank

Kann man unter Debian einfach mit apt-get install slap … installieren.

© 2003 Daniel Bast 23

OpenLDAP

Anwendung: Login mit OpenLDAP

Konfiguration (1/2):

– /etc/ldap/slapd.conf: Serverkonfiguration• Name der Wurzel• Name und Passwort des Administrators

– /etc/ldap/ldap.conf : Zugriff-Infos für die Clienten-Seite• Rechnername oder IP des Servers• Wurzelobjekt, das als Basis für alle Suchaktionen

verwendet wird

© 2003 Daniel Bast 24

OpenLDAP

Anwendung: Login mit OpenLDAP

Konfiguration (2/2):

– /etc/pam.d/login : PAM Konfiguration für login• ersetzten des pam_unix.so Aufrufs gegen:auth requisite /lib/security/pam_ldpa.so

– /etc/pam_ldap.conf : Konfiguration des LDAP-PAM-Modules

• Rechnername oder IP des Servers• Wurzelobjekt, das als Basis für alle Suchaktionen

verwendet wird

© 2003 Daniel Bast 25

OpenLDAP

Anwendung: Login mit OpenLDAP• Einen Benutzer in die Datenbank eintragen:

– Erstellen einer LDAP Directory Interchange Format (LDIF) Datei: sikamuel.ldifdn: ou=user, dc=debianou: userobjectclass: organizationalUnit

dn: uid=sikamuel, ou=user, dc=debiancn: Karl Mülleruid: sikamueluidNumber: 235gidNumber: 100homeDirectory: /usr/sikamuel/userPassword: {CRYPT}kl1s4df3hklje5z87beginShell: /bin/shobjectclass: posixAccount

- Import der Datei:ldapadd –D “cn=admin, dc=debian“ –w secret < sikamuel.ldif

© 2003 Daniel Bast 26

OpenLDAP

Beurteilung

• Vorteile– Objektorientierte Datenmodulierung– Unabhängigkeit von Herstellern– Beliebige Skalierbarkeit– Ausfallsicherheit– Hohe Sicherheit– Anbindung über TCP/IP – Keine unnötige Redundanz

© 2003 Daniel Bast 27

OpenLDAP

Beurteilung

• Nachteil– Schwierige Konsistenzhaltung– Unterstützung von ACIs noch experimentel

© 2003 Daniel Bast 28

Literatur• [1] Unix Benutzerverwaltung, Arnold Willemer

http://www.willemer.de/informatik/unix/unsyuser.htm• [2] Betriebssystem UNIX/Linux, Prof. Jürgen Plate

http://www.fs.ei.tum.de/admin/howto/unix/• [3] Linux: Installation, Konfiguration, Anwendung, Michael Kofler

3. Auflage Addison-Wesley, 1998• [4] LDAP Quellen: Wissen, Anleitungen, Artikel

http://www.sendung.de/ldap/wissen/• [5] LDAP – Überblick über das Chaos, Peter Wachtler, Linux-Magazin 09/1998

http://www.linux-magazin.de/Artikel/ausgabe/1998/09/LDAP/ldap.html• [6] Universalservice, Markus Jünemann, iX 8/1997

http://www.heise.de/ix/artikel/1997/08/118/• [7] OpenLDAP Documentation

http://www.openldap.org/doc/• [8] LDAP – Eine Einführung von Petra Haberer

http://www.mitlinx.de/ldap/assets/LDAP.pdf• [9] LDAP and OpenLDAP (on the Linux Platform), Adam Tauno Williams 2001

ftp://kalamazoolinux.org/pub/pdf/ldapv3.pdf