Articlename: NFS4 mit Kerberos und LDAP Keywords: nfs4 kerberos ldap verschlüsselung howto tutorial Date: 27.12.2007, 15:06 Views: 1609 Categoryname: Internet & Netzwerk ---------------------------------------- Vorwort ------------------ Dieser Artikel bezieht sich inhaltlich auf Userverwaltung mit LDAP und Kerberos (http://www.online-tutorials.net/internet-netzwerk/userverwaltung-mit-ldap-und-kerberos/tuto rials-t-29-309.html). Nachdem in den vorherigen Artikeln bereits die Kerberos- und LDAP-Infrastruktur geschaffen wurde und die Benutzeranmeldung funktioniert, behandeln wir nun schlussendlich die zentrale Datenspeicherung mit NFS4. NFS4 bringt dabei gegenüber seinen Vorgängern mehrere Sicherheitsvorteile: - der Client-PC muss sich gegenüber dem NFS-Server per Kerberos authentifizieren - der Client-User muss sich gegenüber dem NFS-Server per Kerberos authentifizieren - die Datenübertragen erfolgt verschlüsselt Vorbereitung ------------------ Zuerst legen wir in Kerberos einen Principal für den Client-PC in Form von nfs/client1.inte rn.beispiel.local an, exportieren diesen in eine keytab-Datei und verschieben sie auf den Client-PC. Analog wird nun das Selbe für den NFS4-Server gemacht. Wichtig ist, dass auf allen Rechnern die /etc/hosts passt. Hier ein Beispiel: ------- Code: /etc/hosts ------- 127.0.0.1 client1.intern.beispiel.local client1 localhost ::1 localhost ------- End-Code ------- Bei manchen Distributionen kann es vorkommen, dass die Datei gssapi_mech.conf fehlt. Ist dies der Fall, kann sie unkompliziert mit folgendem Inhalt erstellt werden. ------- Code: /etc/gssapi_mech.conf ------- /usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init ------- End-Code ------- Server-Konfiguration ------------------ Wie im letzten Tutorial auf dem Client geschehen, muss auch auf dem Server LDAP in die Benutzerverwaltung eingebunden werden. Die Kerberos-Authentifizierung kann dabei entfallen. Dies wird nacher benötigt, um neue Home-Folder für die entsprechenden User anzulegen. Auf dem Server wechseln wir nun ins Verzeichnis /export, erstellen darin den Ordner /export/home und darin wiederum /export/home/testuser. Mit einem chown testuser:users /export/home/testuser geben wir ihm noch die erforderlichen Rechte. Damit der NFS-Dienst das Verzeichnis exportiert, fehlt noch folgende Zeile in der /etc/exports. ------- Code: /etc/exports ------- /export/ gss/krb5p(fsid=0,rw,async,no_subtree_check) ------- End-Code ------- Nun müssen Portmap, Statd, Idmap, Gssd und NFSd gestartet werden, damit der Server seinen Dienst aufnimmt. Client-Konfiguration ------------------ Auf dem Client ergänzen wir folgende Zeile in der fstab-Datei. ------- Code: /etc/fstab ------- nfsserver:/home /home nfs4 sec=krb5p,posix,hard,intr,rsize=8192,wsize=8192 0 0 ------- End-Code ------- Die Option sec bietet vier mögliche Einstellungen. - sys User werden anhand ihrer UID authentifiziert - krb5 User werden anhand des Kerberos-Principals authentifiziert - krb5i entspricht krb5 + Checksumme der übertragenen Daten - krb5p entspricht krb5i + verschlüsselte Übertragung Admins, welche zuvor bereits NFS2,3 eingesetzt haben, erkennen hier sofort, dass auf dem Client nicht mehr der physikalische Pfad des Exports auf dem Server angegeben werden muss. Hingegen exportiert der NFS-Server aufgrund von fsid=0 das /export-Verzeichnis für den Client als Dateisystemwurzel. Abschließend werden auf dem Client-PC ebenfalls Portmap, Statd, Idmap, Gssd sowie NFSmount gestartet. Wenn alles gut geht, können sich die Benutzer jetzt ganz Transparent auf dem PC anmelden, ohne zu bemerken, dass sowohl User-Informationen als auch Daten nicht lokal vorliegen. Praxiserfahrung ------------------ Bei Versuchen mit mehreren Distributionen zeigten sich viele Probleme. Ubuntu 7.10 und Fedora 8 scheiterten an NFS4 mit Kerberos-Unterstützung. Mandriva 2008 und CentOS 5 schien allgemein für diesen Anwendungsfall total ungeeignet. Lediglich mit Gentoo 2007.0 stable und Debian 4 testing ließ sich das Setup problemlos betreiben. Dank NFS4 machen nun auch Programme wie Amarok, Digikam und Firefox 3 keine Probleme mehr aufgrund von SQLite, welches seine Datenbank nicht auf Samba- oder älteren NFS-Shares ablegen kann. Schlusswort ------------------ Treten beim Setup Probleme auf, empfielt es sich die Dienste im Vordergrund zu starten, um möglichst viele Informationen zu erhalten. Meist handelt es sich um eine fehlende Datei, fehlende Keytab oder falsche Berechtigungen.