Upload
elsie-dreis
View
116
Download
1
Embed Size (px)
Citation preview
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