Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen...

28
Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen [email protected] e 10.10.2000

Transcript of Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen...

Page 1: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

Benutzerverwaltung mit LDAP

Norbert Klasen

Directory Services Universität Tübingen

[email protected]

10.10.2000

Page 2: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

Benutzerverwaltung mit LDAP

Benutzerverwaltung

Authentifizierung

Kerberos, TLS

PAM

Fazit

Apache

PAM_LDAP

Page 3: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 3

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

aktueller Zustand

AdministratorApplikation / DatenbankClient

Page 4: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 4

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Zentrale Struktur

AdministratorApplikationClientLDAP

basiertes Verzeichnis

Page 5: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 5

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

LDAP als zentrales Repository

• Offener Standard• Erweiterbares Datenmodell• Performance

– Überwiegend Lesezugriffe• Skalierbarkeit

– Replikation• loose consistency• mehrstufige Topologie

Page 6: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 6

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Authentifizierung

• Identitätsfeststellung

• Mechanismen– Username und Passwort– public-key Zertifikate– Chip-Karte– Biometrie

Page 7: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 7

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Autorisierung

• Zulässigkeit einer Operation• Auswertung der Zugriffsrichtlinien

(ACLs) anhand der • Zugriffsfaktoren

– Identität– Ziel– Operation– IP-Adresse– Verschlüsselungsstärke

• AuthentifizierungsID AutorisierungsID

Page 8: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 8

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Authentifizierungs-Verfahren in LDAP (rfc2829)

• anonym• simple bind (plain text)• SASL (Simple Authentication and

Security Layer, rfc2222)– Challenge-Response (Digest-MD5)– GSSAPI (Kerberos 5)– EXTERNAL

Page 9: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 9

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Kerberos

• Network Authentication Protocol• Authentication Service (AS) stellt Tickets

für Services aus• Ticket Granting Service (TGS) stellt

Ticket für AS• ermöglicht Single-Sign-On• AS und TGS bilden Key Distribution

Center (KDC)

Page 10: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 10

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Kerberos 5 und LDAP

• Kerberos 5 GSSAPI SASL• Standard in Windows 2000

– Interoperabel mit Unix Implementierungen

– Active Directory integriert KDC und LDAP Server

• Unterstützt in OpenLDAP 2.0

• Reines Authentifikations System• Kann keine weiteren Daten speichern

Page 11: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 11

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Transport Layer Security

• SSL auf Port 636• TLS (rfc2830)

– LDAP Extended Request (STARTTLS)

• simple bind• SASL EXTERNAL Mechanismus

– implizit: AutorisierungsID = Subject aus X.509 Zertifikat

– explizite Angabe der AutorisierungsID

Page 12: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 12

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Pluggable Authentification Modules

• Modularisierung der Authentifizierung unter Unix

• Module– /etc/passwd, Shadow, SMB, Radius,

Kerberos, LDAP• Name Service Switch

– Auflösung Namen Nummern– z.B. UID oder Ports

• verfügbar unter Linux, FreeBSD, MacOS X, Solaris, HPUX, Irix

Page 13: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 13

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Authentifizierung ohne PAM

• Authentifizierung fest eincompiliert:

pwd = getpwnam (user);

if (strcmp(crypt(password,pwd->pw_passwd), pwd->pw_passwd) != 0)

return AUTH_ERROR;

return AUTH_SUCCESS;

Page 14: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 14

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Unix Authentifizierung

Applikation

C Bibliothek

“flat files”

/etc/passwd

/etc/hosts

Applikation

C Bibliothek

flat files

NSS Bibliothek

LDAP NIS SMB

PAM Bibliothek

Page 15: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 15

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Authentifizierung mit PAM

• PAM-Applikationen rufen generische PAM-Funktionen auf:

pam_start (...);if (!pam_authenticate(...) ||

!pam_acct_mgmt(...))

{ pam_end (...); exit (1); }pam_open_session (...);user_service ();pam_close_session (...);pam_end (...);

Page 16: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 16

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Modul-Typen

• auth - Login und Paßwortabfrage• account – Überprüft / setzt

Systemressourcen• session – An- bzw. abmelden der

Sitzung• password - Ändern des authenti-

fizierungs Tokens, meistens das Paßwort

Page 17: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 17

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Control-Flags

• required - Erfolg des Moduls ist zwingend, trotzdem weitere abarbeiten

• requisite - ähnlich, aber bei Mißerfolg sofort abbrechen

• sufficient - Bei Erfolg sofort abbrechen, folgende Module werden ignoriert

• optional - Ergebnis des Moduls wird ignoriert

Page 18: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 18

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

PAM Konfiguration

• eine Konfigurationsdatei je Dienst• z.B. /etc/pam.d/login

#%PAM-1.0auth required

/lib/security/pam_securetty.soauth required /lib/security/pam_pwdb.soaccount required /lib/security/pam_pwdb.soauth sufficient /lib/security/pam_ldap.so

account sufficient /lib/security/pam_ldap.so

#%PAM-1.0auth required

/lib/security/pam_securetty.so

auth required /lib/security/pam_pwdb.so use_first_pass

account required /lib/security/pam_pwdb.so

Page 19: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 19

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

PAM_LDAP und NSS_LDAP

• gemäß rfc2307 „LDAP as Network Information Service“

• Alternative zu NIS• sicher bei Verwendung von SSL• Migrationstools• Verwendbar mit allen LDAP-kompatiblen

Servern, z.b. Novell NDS, Microsoft Active Directory

Page 20: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 20

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

PAM_LDAP Funktionen

• auth– suche nach UID– bind

• account– account und password expiration– Gruppenzugehörigkeit– Beschränkung auf bestimmte Hosts

• password– Änderungs des Passworts

Page 21: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 21

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

PAM_LDAP Konfiguration

• Konfigurationsdatei /etc/ldap.conf

host 127.0.0.1port 389ldap_version 3base dc=directory,dc=dfn,dc=derootbinddn cn=dragon.directory.dfn.de,

ou=hosts,dc=directory,dc=dfn,dc=depam_filter objectclass=accountpam_login_attribute uidpam_groupdn

cn=PAM,ou=Groups,dc=directory,dc=dfn,dc=de

pam_member_attribute uniquememberpam_min_uid 500

Page 22: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 22

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

NSS_LDAP

• Konfigurationsdatei /etc/nsswitch.conf

passwd: files ldap

group: files ldap

hosts: files dns

Name Service Caching Daemon– passwd, group und hosts

Page 23: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 23

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Apache auth_ldap

• Ausschnitt aus der httpd.conf

<Directory /usr/local/htdocs/> AuthName ”LDAP Authentifizierung" AuthType Basic AuthLDAPURL ldap://host:port/ basedn?

attribute?scope?filter AuthLDAPBindDN dc=directory,dc=dfn,dc=de AuthLDAPBindPassword geheim AuthLDAPRemoteUserIsDN on require valid-user</Directory>

Page 24: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 24

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

auth_ldap Funktionen

• irgendein eingetragener Benutzer– require valid-user

• ein bestimmter Benutzer– require user [USERNAME]– require dn [DN]

• Benutzer einer Gruppe– require group [GROUPDN]

• weitere Restriktionen über den filter Parameter

• Cashing• SSL

Page 25: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 25

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

weitere Einsatzmöglichkeiten

• Cyrus SASL Bibliothek– PAM backend für plain text– Sendmail 8.11– Cyrus IMAPD

• proftpd• SAMBA• Radius

Page 26: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 26

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Fazit

• Neben den reinen Authentifizierungsdaten können in einem Verzeichnisdienst auch Zugriffsrichtlinien gespeichert werden

• Zusätzlich können White Pages Informationen abgelegt werden

• Verzeichnisdienste als das zentrale Managementtool für Applikationen und Netzwerkdienste

• Directory Enabled Networks (DEN)

Page 27: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

Fragen?

[email protected]

http://www.directory.dfn.de

Page 28: Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000.

LDAP Authentifizierung 28

Benutzer-verwaltung

Authentifi-zierung

Kerberos,TLS

PAM

Fazit

Apache

PAM_LDAP

Links

• Kerberos und Active Directory– http://www.pdc.kth.se/heimdal/– http://www.microsoft.com/windows2000/library/planning/

security/kerbsteps.asp– http://msdn.microsoft.com/library/techart/kerberossamp

.htm– http://www.microsoft.com/windows2000/sfu/psync.asp

• SASL– http://asg.web.cmu.edu/sasl/

• PAM_LDAP – http://www.padl.com

• OpenLDAP – http://www.openldap.org

• LDAP im Netscape Navigator– http://developer.netscape.com/docs/manuals/

communicator/ldap45.htm