IT-Symposium 2005 07.04.2005
Benutzerverwaltung in IVV Naturwissenschaften IV der Fachbereiche Biologie • Chemie • Physik heterogenen Betriebssystemumgebungen mit Active Directory
Westfälische Wilhelms-Universität Münster Am Beispiel der Einbindung von Linux- Rechnern in die Benutzer- und Ressourcenverwaltung eines Active Directory IT-Symposium 2005 Neuss
07-APR-2005 Heinz-Hermann Adam 3D02 ([email protected])
Agenda
Einführung Linux-Authentifizierung Pluggable Authentication Modules Name Service Switch Active Directory Schemaerweiterung Installation und Konfiguration NSS- und PAM-Module SaMBa-Client-Tools Zusammenfassung
2
www.decus.de 1 IT-Symposium 2005 07.04.2005
Was ist die IVV Naturwissenschaften?
Teil des dezentralen IV- Active Directory Domäne & Systems der Universität OpenVMS-Cluster Münster ca. 20 Server Zusammenschluß der über 1.200 Arbeitsplätze naturwissenschaftlichen über 5.000 Benutzer Fachbereiche Betriebssysteme Ziel: Gemeinsame Befriedigung des Bedarfs an Linux fachspezifischen IV-Mitteln Mac OS (Hardware, Software, OpenVMS Dienste) Tru64 UNIX, u.a. Selbsthilfeorganisation Windows Nutzung von Anwendungssoftware Synergieeffekten Windows > 150 Produkte Kein “Rechenzentrum” Mac > 30 Produkte
3
Integration weiterer Betriebssysteme
Einheitlicher Zugang ( Single sign-on ) auf: Windows OpenVMS (Pathworks + EXTAUTH) Tru64 UNIX (SSO, LDAP, Kerberos) Linux (PAM, NSS, LDAP, Kerberos) Mac OS X (Netinfo, LDAP, SSL, Kerberos) Who‘s next? Nutzung zentraler Ressourcen auch durch diese Systeme
4
www.decus.de 2 IT-Symposium 2005 07.04.2005
Ressourcen für Nicht- Windows-Clients
Server Message Block/ Common Internet File System-Shares werden von Windows und Pathworks bereitgestellt Clients hierfür sind auf den anderen Plattformen vorhanden Tru64 Unix: Samba, Sharity Linux: Samba , Sharity Mac OS: Samba, Dave Zusätzlich sind auf Windows Server die Services for Macintosh (SFM) verfügbar
5
Linux-Authentifizierung
User: ? Password: ? login Verwendet Pluggable External Authentication Modules Authentication PAM Gegen interne und externe Quellen (flat Local Authentication files, NIS, Kerberos …) /etc/passwd External UID? Authenticator Benutzer-Informationen GID? Host per Name Service Switch … Mapping Unix spezifische NSS Informationen Account Information ebenfalls aus internen wie externen Quellen /etc/passwd External /etc/groups Name Service …
6
www.decus.de 3 IT-Symposium 2005 07.04.2005
PAM-Architektur
xdm login ssh Services
auth account password session Interface
Unix Unix Password strength Unix pam_unix2.so pam_unix2.so pam_pwcheck.so pam_unix2.so Kerberos root Security Unix Resource limits pam_securetty.so pam_unix2.so pam_limits.so
System Check permissions Modules Maintenance pam_devperm.so pam_nologin.so
Environment Register to Variables Resource Manager pam_env.so pam_resmgr.so
Homedrive Homedrive from Server from Server pam_mount.so pam_mount.so 7
PAM-Architektur
PAM-Interfaces PAM-Control flags auth (Authentifizierung) requisite (notwendig, session (Setup & Stack bricht bei Logging) Fehlschlag ab) account (Login-Policies) required (notwendig, password Stack wird auch bei (Passwortregeln) Fehlschlag abgearbeitet) sufficient (hinreichend, Mehrere verschiedene weitere Module werden Module können pro ignoriert) Interface nacheinander optional (trägt zum abgearbeitet werden Fehlschlag eines Stacks (Stack ) nicht bei) Erfolg oder Scheitern des Stacks wird nach Abarbeitung der Module entschieden
8
www.decus.de 4 IT-Symposium 2005 07.04.2005
NSS (Name Service Switch)
# ls –l Unix Applikation 007 0815 drwxr-xr-x user1 group2 file.txt
return user info 1. /lib/libnss_Quelle_1.so look-up 2. C Library /lib/libnss_Quelle_2.so user info query 3. /lib/libnss_Quelle_3.so sources files LDAP /etc/nsswitch.conf look-up service: Quelle_1 Quelle_2 Quelle_3 info sources return sequence of sources Name Service Switch 9
NSS (Name Service Switch)
Erlaubt es Systeminformationen z.B. user und group Informationen aus verschiedenen Quellen zu beziehen
User Groups 1. Quelle /etc/passwd /etc/group 2. Quelle LDAP LDAP
10
www.decus.de 5 IT-Symposium 2005 07.04.2005
Active Directory
X.500-basierter Verzeichnisdienst Erweiterbares Schema , d.h. Objekt kann um beliebige Attribute erweitert werden oder neue Objekte können kreiert werden Zugriff über Light-weight Directory Access Protocol (plattformunabhängig) Authentifizierung über Kerberos (plattformunabhängig)
11
Schemaerweiterung - Unix
Tru64 UNIX V5 Associated Products Volume 2 Windows2000_SSO\windows_kit\setup.exe Erweitert das Schema basierend auf Microsoft Services for Unix 2.0 (msSFU) Erweitert das Active Directory Users and Computer Interface (nur SSO 2.0, ab T64 V5.1A)
12
www.decus.de 6 IT-Symposium 2005 07.04.2005
Alternative Schemaerweiterungen und weitere Informationen
Schemaerweiterung Microsoft Services for Unix 3.x Kostenlos unter www.microsoft.com/sfu SFU 3.0 Schemaerweiterung MKS AD4Unix Kostenlos unter www.padl.com/download/MKSADPlugins.msi Entspricht SFU 2.0 Schemaerweiterung LDIF-Import Siehe jaxen.ratisle.net/~jj/nss_ldap-AD_Integration_how_to.html Entspricht SFU 2.0 Schemaerweiterung Informationen David „Del“ Elson: Active Directory and Linux www.securityfocus.com/infocus/1563 Vitor Choi Feitosa: Authenticating Windows 2000 users on a Linux Workstation www.interlegis.gov.br/produtos_servicos/20021023023319/view
13
Schemaerweiterung – Unix user
Benutzeraccount gecos : User comment gidNumber : Gid loginShell : Shell msSFUHomeDirectory : Home directory uid : Username uidNumber : Uid
14
www.decus.de 7 IT-Symposium 2005 07.04.2005
Schemaerweiterung – Unix groups
Benutzergruppe gidNumber : Gid memberUID : Group members (obsolete) Nur für ältere nss_ldap Versionen, z.B. SLES 8 msSFUName : Groupname
15
Implementation
Name Service (passwd, group) LDAP V3 mit SSL-Verschlüsselung Authentifizierung Kerberos V5 Homedirectories SaMB a-Client Tools
16
www.decus.de 8 IT-Symposium 2005 07.04.2005
Installation zusätzlicher Pakete
Authentifizierung pam_krb5 (SuSE 9.1/9.2 included) Name Service nss_ldap (SuSE 9.1/9.2 included) Einbindung von Ressourcen pam_mount (SuSE 9.1/9.2 included)
17
NSS Konfiguration
In /etc/nsswitch.conf wird die Liste der Name Service Quellen definiert LDAP SuSE passwd: compat ldap groups: compat ldap
18
www.decus.de 9 IT-Symposium 2005 07.04.2005
LDAP Konfiguration
In /etc/ldap.conf wird die LDAP Anbindung konfiguriert host DC1 DC2 DC3 ssl on base dc= child ,dc= root ,dc= tld binddn cn=ldap,cn=users, dc= child ,dc= root ,dc= tld bindpw […] scope sub pam_filter objectclass=user pam_login_attribute sAMAccountName pam_password ad
19
LDAP Konfiguration
Konfiguration (fortgesetzt) nss_base_passwd dc= child ,dc= root ,dc= tld ?sub nss_base_shadow dc= child ,dc= root ,dc= tld ?sub nss_map_objectclass posixAccount User nss_map_objectclass shadowAccount User nss_map_attribute uid sAMAccountName nss_map_attribute uniqueMember member nss_map_attribute homeDirectory msSFUHomeDirectory nss_map_objectclass posixGroup Group nss_map_attribute cn sAMAccountName
20
www.decus.de 10 IT-Symposium 2005 07.04.2005
LDAP Proxy-Benutzer im Windows
Benötigt Rechte im Active Directory Alle Attribute lesen Benutzer Gruppen Kann durch entsprechende Beschränkungen abgesichert werden Smart Card erforderlich für Anmeldung Pro Linux-Rechner ein Account zweckmäßig Denial-of-Service attacken Verwendung von sicheren Passworten
21
LDAP Anbindung überprüfen
# getent passwd muss zusätzlich zu den lokalen auch Benutzer aus dem Active Directory liefern: root:x:0:0:root:/root:/bin/bash […] ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false […] user1:x: 123456 :123:Benutzer Nummer Eins :/home/user1:/bin/bash user2:x: 123457 :456:Benutzer Nummer Zwei :/home/user2:/bin/ ksh user3:x:1234:890:Benutzer Nummer Drei :/home/user3:/bin/bash […]
22
www.decus.de 11 IT-Symposium 2005 07.04.2005
PAM Konfiguration
Standard-Linux Für jeden Dienst befindet sich in /etc/pam.d eine Konfigurationsdatei mit dessen Namen, deren Inhalt bestimmt wie eine Authentifizierung durchgeführt wird. # ls /etc/pam.d su rlogin other xdm ssh login ...
23
PAM Konfiguration
SuSE Alle Dienste können an einer Stelle konfiguriert werden. Generisches PAM pam_unix2.so in jedem Stack, das verschiedene Authentifizierungsdienste benutzen kann (/etc/passwd , NIS, LDAP, Kerberos ) Wird über /etc/security/pam_unix2.conf konfiguriert Kerberos V5 : auth: use_krb5 nullok account: use_krb5 password: use_krb5 nullok session: none
24
www.decus.de 12 IT-Symposium 2005 07.04.2005
Kerberos Konfiguration
In /etc/krb5.conf wird die Kerberos-Anbindung konfiguriert [libdefaults] default_realm = CHILD .ROOT .TLD default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc dns_lookup_kdc = true clockskew = 300 [realms] CHILD1 .ROOT .TLD = { kdc = DC1 .child .root .tld default_domain = child .root .tld kpasswd_server = DC1 .child .root .tld } [domain_realm] .child .root .tld = CHILD .ROOT .TLD Zeitsynchronisation per NTP aktivieren
25
Homedirectories via SaMBa
Müssen beim Login verfügbar sein pam_mount Modul Für jeden Benutzer ein eigener Mount Session-Security im SMB/CIFS Zwei mögliche Filesysteme smbfs cifs
26
www.decus.de 13 IT-Symposium 2005 07.04.2005
Verwendung von CIFS statt SMBFS
Flag beim mounten von Netzwerk-Dateisystem Statt mount –t smbfs … mount –t cifs … Zur Verwendung von pam_mount Logischer Link /sbin/mount.smbfs -> /usr/bin/smbmount Ändern in /sbin/mount.smbfs -> /sbin/mount.cifs # ln –sf /sbin/mount.cifs /sbin/mount.smbfs
27
Pam_mount Konfiguration für cifs
In /etc/security/pam_mount.conf wird das automatische Mounten beim Login konfiguriert Konfiguration debug 0 mkmountpoint 1 […] umount /bin/umount –l […] volume * smb fileserver & ~ uid=&,gid=&, dir_mode =0 700 , file_mode =0 600 ,domain =CHILD --
28
www.decus.de 14 IT-Symposium 2005 07.04.2005
Pam_mount Konfiguration für smbfs
In /etc/security/pam_mount.conf wird das automatische Mounten beim Login konfiguriert Konfiguration debug 0 mkmountpoint 1 […] umount /bin/umount –l […] volume * smb fileserver & ~ uid=&,gid=&,dmask=0 700 ,fmask=0 600 , workgroup= CHILD --
29
Pam_mount Konfiguration
Einbauen des pam_mount.so in den PAM-Stack, z.B. für KDE-Login /etc/pam.d/xdm #%PAM-1.0 auth required pam_unix2.so nullok#set_secrpc auth optional pam_mount.so use_first_pass […] session required pam_unix2.so debug # trace or none session required pam_devperm.so session required pam_resmgr.so session optional pam_mount.so
30
www.decus.de 15 IT-Symposium 2005 07.04.2005
Pam_mount Konfiguration
Einbauen des pam_mount.so in den PAM-Stack, z.B. /etc/pam.d/sshd #%PAM-1.0 auth required pam_unix2.so # set_secrpc auth required pam_nologin.so auth required pam_env.so auth optional pam_mount.so use_first_pass […] session required pam_unix2.so none # trace or debug session required pam_limits.so session optional pam_mount.so […]
31
Pam_mount Konfiguration
Einbauen des pam_mount.so in den PAM-Stack, z.B. /etc/pam.d/login #%PAM-1.0 auth requisite pam_unix2.so nullok #set_secrpc auth required pam_securetty.so auth required pam_nologin.so #auth required pam_homecheck.so auth required pam_env.so auth required pam_mail.so auth optional pam_mount.so use_first_pass […] session required pam_unix2.so none # debug or trace session required pam_limits.so session required pam_resmgr.so session optional pam_mount.so
32
www.decus.de 16 IT-Symposium 2005 07.04.2005
KDE-Konfiguration
/etc/profile.local export ICEAUTHORITY=/tmp/. $USER - ICEauthority-$HOSTNAME export DCOPAUTHORITY=/tmp/. $USER - DCOPserver-$HOSTNAME'_'on_$DISPLAY /etc/pam.d/xdm auth optional pam_mount.so use_first_pass session optional pam_mount.so Broken in SuSE 9.2/KDE 3.3
33
Homedirectories via SaMBa
Beschränkungen Unterstützt kein Windows Dfs neue Shares , 1 für jeden der ca. 5000 Benutzer Pam_mount Kein Login via ssh möglich Further investigation necessary Stattdessen telnet benutzen Unterstützt keine Special Files , z.B. Sockets und „seltsame“ Zeichen in Dateiname, z.B. „:“ Umleiten von KDE-/GNOME-Files nach /tmp Derzeit SaMBa 3.0 als Fileserver notwendig
34
www.decus.de 17 IT-Symposium 2005 07.04.2005
Zusammenfassung
Integration von Nicht-Windows Betriebssystemen in Active Directory, am Beispiel von Linux Statusbericht , noch nicht alle Fragen sind gelöst Einführung in die verwendeten Konzepte Linux Windows 2000 Active Directory Einbindung einer SuSE Linux 9.1 Workstation in AD Name Service LDAP Authentifizierung Kerberos Homedirectories SMB/ CIFS + pam_mount Offene Fragen und Probleme
35
Q & A – Fragen und Antworten
NWZnet.uni-muenster.deë
36
www.decus.de 18