Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universitt
Benutzerverwaltung mit LDAP Norbert Klasen Directory Services Universität Tübingen norbert. klasen@directory. dfn. de 10. 2000
Benutzerverwaltung Authentifizierung Kerberos, TLS Benutzerverwaltung mit LDAP PAM_LDAP Apache Fazit
Benutzerverwaltung Authentifizierung aktueller Zustand Client Applikation / Datenbank Administrato r Kerberos, TLS PAM_LDAP Apache Fazit LDAP Authentifizierung 3
Benutzerverwaltung Authentifizierung Zentrale Struktur Client Applikati on LDAP basiertes Verzeichnis Administrat or Kerberos, TLS PAM_LDAP Apache Fazit LDAP Authentifizierung 4
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache LDAP als zentrales Repository • Offener Standard • Erweiterbares Datenmodell • Performance – Überwiegend Lesezugriffe • Skalierbarkeit – Replikation • loose consistency • mehrstufige Topologie Fazit LDAP Authentifizierung 5
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Authentifizierung • Identitätsfeststellung • Mechanismen – Username und Passwort – public-key Zertifikate – Chip-Karte – Biometrie Apache Fazit LDAP Authentifizierung 6
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache Fazit Autorisierung • Zulässigkeit einer Operation • Auswertung der Zugriffsrichtlinien (ACLs) anhand der • Zugriffsfaktoren – Identität – Ziel – Operation – IP-Adresse – Verschlüsselungsstärke • Authentifizierungs. ID Autorisierungs. ID LDAP Authentifizierung 7
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Authentifizierungs-Verfahren in LDAP (rfc 2829) • anonym • simple bind (plain text) • SASL (Simple Authentication and Security Layer, rfc 2222) – Challenge-Response (Digest-MD 5) – GSSAPI (Kerberos 5) – EXTERNAL Apache Fazit LDAP Authentifizierung 8
Benutzerverwaltung Authentifizierung Kerberos, TLS 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) Apache Fazit LDAP Authentifizierung 9
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache Fazit 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 Open. LDAP 2. 0 • Reines Authentifikations System • Kann keine weiteren Daten speichern LDAP Authentifizierung 10
Benutzerverwaltung Authentifizierung Kerberos, TLS Transport Layer Security • SSL auf Port 636 • TLS (rfc 2830) – LDAP Extended Request (STARTTLS) PAM_LDAP Apache Fazit • simple bind • SASL EXTERNAL Mechanismus – implizit: Autorisierungs. ID = Subject aus X. 509 Zertifikat – explizite Angabe der Autorisierungs. ID LDAP Authentifizierung 11
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache Fazit 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, Free. BSD, Mac. OS X, Solaris, HPUX, Irix LDAP Authentifizierung 12
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM Authentifizierung ohne PAM • Authentifizierung fest eincompiliert: pwd = getpwnam (user); if (strcmp(crypt(password, pwd->pw_passwd) != 0) return AUTH_ERROR; return AUTH_SUCCESS; PAM_LDAP Apache Fazit LDAP Authentifizierung 13
Benutzerverwaltung Unix Authentifizierung Kerberos, TLS Applikation C Bibliothek PAM_LDAP Apache “flat files” NSS Bibliothek /etc/passwd flat LDAP NIS /etc/hosts files SMB Fazit LDAP Authentifizierung 14
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache 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 (. . . ); Fazit LDAP Authentifizierung 15
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Modul-Typen • auth - Login und Paßwortabfrage • account – Überprüft / setzt Systemressourcen • session – An- bzw. abmelden der Sitzung • password - Ändern des authentifizierungs Tokens, meistens das Paßwort Apache Fazit LDAP Authentifizierung 16
Benutzerverwaltung Authentifizierung Control-Flags • required - Erfolg des Moduls ist zwingend, trotzdem weitere abarbeiten Kerberos, TLS • requisite - ähnlich, aber bei Mißerfolg sofort abbrechen PAM • sufficient - Bei Erfolg sofort abbrechen, folgende Module werden ignoriert PAM_LDAP • optional - Ergebnis des Moduls wird ignoriert Apache Fazit LDAP Authentifizierung 17
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache PAM Konfiguration • eine Konfigurationsdatei je Dienst • z. B. /etc/pam. d/login #%PAM-1. 0 auth required /lib/security/pam_securetty. so auth required sufficient /lib/security/pam_pwdb. so /lib/security/pam_ldap. so account required /lib/security/pam_pwdb. so auth required /lib/security/pam_pwdb. so account use_first_pass sufficient /lib/security/pam_ldap. so account required /lib/security/pam_pwdb. so Fazit LDAP Authentifizierung 18
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP und NSS_LDAP • gemäß rfc 2307 „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 Apache Fazit LDAP Authentifizierung 19
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache PAM_LDAP Funktionen • auth – suche nach UID – bind • account – account und password expiration – Gruppenzugehörigkeit – Beschränkung auf bestimmte Hosts • password – Änderungs des Passworts Fazit LDAP Authentifizierung 20
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache Fazit 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 21
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache NSS_LDAP • Konfigurationsdatei /etc/nsswitch. conf passwd: files ldap group: files ldap hosts: files dns Name Service Caching Daemon – passwd, group und hosts Fazit LDAP Authentifizierung 22
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache auth_ldap • Ausschnitt aus der httpd. conf <Directory /usr/local/htdocs/> Auth. Name ”LDAP Authentifizierung" Auth. Type Basic Auth. LDAPURL ldap: //host: port/ basedn? attribute? scope? filter Auth. LDAPBind. DN dc=directory, dc=dfn, dc=de Auth. LDAPBind. Password geheim Auth. LDAPRemote. User. Is. DN on require valid-user </Directory> Fazit LDAP Authentifizierung 23
Benutzerverwaltung Authentifizierung Kerberos, TLS auth_ldap Funktionen • irgendein eingetragener Benutzer – require valid-user • ein bestimmter Benutzer – require user [USERNAME] – require dn [DN] • Benutzer einer Gruppe PAM – require group [GROUPDN] PAM_LDAP Apache Fazit • weitere Restriktionen über den filter Parameter • Cashing • SSL LDAP Authentifizierung 24
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP weitere Einsatzmöglichkeiten • Cyrus SASL Bibliothek – PAM backend für plain text – Sendmail 8. 11 – Cyrus IMAPD • proftpd • SAMBA • Radius Apache Fazit LDAP Authentifizierung 25
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM_LDAP Apache 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) Fazit LDAP Authentifizierung 26
Fragen? norbert. klasen@directory. dfn. de http: //www. directory. dfn. de LDAP Authentifizierung 27
Benutzerverwaltung Authentifizierung Kerberos, TLS PAM Links • Kerberos und Active Directory – http: //www. pdc. kth. se/heimdal/ – http: //www. microsoft. com/windows 2000/library/planning/s ecurity/kerbsteps. asp – http: //msdn. microsoft. com/library/techart/kerberossamp. h tm – http: //www. microsoft. com/windows 2000/sfu/psync. asp • SASL – http: //asg. web. cmu. edu/sasl/ PAM_LDAP • PAM_LDAP – http: //www. padl. com Apache • Open. LDAP – http: //www. openldap. org Fazit • LDAP im Netscape Navigator – http: //developer. netscape. com/docs/manuals/communica tor/ldap 45. htm LDAP Authentifizierung 28
- Slides: 28