1 / 28

Benutzerverwaltung mit LDAP

Benutzerverwaltung mit LDAP. Norbert Klasen Directory Services Universität Tübingen norbert.klasen@directory.dfn.de 10.10.2000. Benutzerverwaltung. Authentifizierung. Kerberos, TLS. PAM. PAM_LDAP. Apache. Fazit. Benutzerverwaltung mit LDAP. aktueller Zustand.

Download Presentation

Benutzerverwaltung mit LDAP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Benutzerverwaltung Authentifizierung Kerberos, TLS PAM PAM_LDAP Apache Fazit Benutzerverwaltung mit LDAP

  3. aktueller Zustand Applikation / Datenbank Administrator Client LDAP Authentifizierung

  4. Zentrale Struktur Applikation LDAP basiertes Verzeichnis Administrator Client LDAP Authentifizierung

  5. LDAP als zentrales Repository • Offener Standard • Erweiterbares Datenmodell • Performance • Überwiegend Lesezugriffe • Skalierbarkeit • Replikation • loose consistency • mehrstufige Topologie LDAP Authentifizierung

  6. Authentifizierung • Identitätsfeststellung • Mechanismen • Username und Passwort • public-key Zertifikate • Chip-Karte • Biometrie LDAP Authentifizierung

  7. 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. 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. 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. 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. 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. 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. 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. Applikation Applikation C Bibliothek C Bibliothek PAM Bibliothek “flat files” /etc/passwd /etc/hosts NSS Bibliothek flat files LDAP NIS SMB Unix Authentifizierung LDAP Authentifizierung

  15. 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. 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. 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. PAM Konfiguration • eine Konfigurationsdatei je Dienst • z.B. /etc/pam.d/login #%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_pwdb.so account required /lib/security/pam_pwdb.so auth sufficient /lib/security/pam_ldap.so account sufficient /lib/security/pam_ldap.so #%PAM-1.0 auth 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. 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. 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. PAM_LDAP Konfiguration • Konfigurationsdatei/etc/ldap.conf host 127.0.0.1 port 389 ldap_version 3 base dc=directory,dc=dfn,dc=de rootbinddn cn=dragon.directory.dfn.de, ou=hosts,dc=directory,dc=dfn,dc=de pam_filter objectclass=account pam_login_attribute uid pam_groupdn cn=PAM,ou=Groups,dc=directory,dc=dfn,dc=de pam_member_attribute uniquemember pam_min_uid 500 LDAP Authentifizierung

  22. 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. 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. 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. weitere Einsatzmöglichkeiten • Cyrus SASL Bibliothek • PAM backend für plain text • Sendmail 8.11 • Cyrus IMAPD • proftpd • SAMBA • Radius LDAP Authentifizierung

  26. 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

  27. Fragen? norbert.klasen@directory.dfn.de http://www.directory.dfn.de

  28. 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 LDAP Authentifizierung

More Related