Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen...
-
Upload
elsie-dreis -
Category
Documents
-
view
116 -
download
1
Transcript of Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen...
Benutzerverwaltung mit LDAP
Norbert Klasen
Directory Services Universität Tübingen
10.10.2000
Benutzerverwaltung mit LDAP
Benutzerverwaltung
Authentifizierung
Kerberos, TLS
PAM
Fazit
Apache
PAM_LDAP
LDAP Authentifizierung 3
Benutzer-verwaltung
Authentifi-zierung
Kerberos,TLS
PAM
Fazit
Apache
PAM_LDAP
aktueller Zustand
AdministratorApplikation / DatenbankClient
LDAP Authentifizierung 4
Benutzer-verwaltung
Authentifi-zierung
Kerberos,TLS
PAM
Fazit
Apache
PAM_LDAP
Zentrale Struktur
AdministratorApplikationClientLDAP
basiertes Verzeichnis
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
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
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
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
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)
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
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
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
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;
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
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 (...);
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
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
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
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
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
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
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
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>
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
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
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)
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