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 - 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  -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 , 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

 / 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