SelfLinux Linux im Netzwerk NFS - Network File System Abschnitt 4 | SelfLinux-0.13.0

| NFS - Network File System | Autoren Formatierung GFDL

#### 5 Potenzielle Sicherheitsprobleme

Ein grosses Problem mit NFS entsteht aufgrund der Tatsache, dass standardmässig ein vertrauensvolles Verhältnis zwischen Client und NFS-Server besteht. In dem Fall, dass der root-Account des Servers kompromittiert wird, wird auch der des Clients kompromittiert.

Ein Client darf nicht blind einem Server trauen und umgekehrt, deshalb muss man einschränkende Optionen spezifizieren, wenn der Befehl mount benutzt wird. Die erste wurde bereits erwähnt: nosuid. Es macht den Effekt des SUID und SGID Bits rückgängig. Das heisst, eine als root angemeldetet Person auf dem Server muss sich zuerst als Benutzer auf dem Client anmelden und wird erst dann root. Eine andere, restriktivere Option ist noexec. Diese verbietet das Ausführen von Programmen auf exportierten Dateisystemen. Diese Option ist nur auf Systemen sinnvoll, die nur Daten enthalten.

Auf der NFS-Serverseite kann man ebenso spezifizieren, dass dem root-Account des Client nicht vertraut werden soll. Man muss dies in /etc/exports mit der Option root_squash spezifizieren. Wenn ein Benutzer mit UID 0 ( root) auf dem Client auf das Dateisystem, das vom Server exportiert wurde, zugreift, wird er für alle Abfragen zum Benutzer nobody umgewandelt. Diese Option ist standardmäßig unter Linux aktiv, kann aber mit der Option no_root_squash abgeschaltet werden. Eine Menge von UIDs kann spezifiziert werden, auf die diese Option angewendet werden soll. Es ist auch möglich, mit den Optionen anonuid und anongid Optionen den Zielbenutzer zu definieren, auf den die Anfrage umgewandelt werden soll.

Einige Aktionen sind allgemeiner und haben Auswirkungen auf den portmapper. Zum Beispiel kann man mit der folgenden Zeile in der Datei /etc/hosts.deny allen Rechner den Zugriff verbieten:

/etc/hosts.deny

    # hosts.deny :
    #              use the portmap
    portmap: ALL

Die Datei /etc/hosts.allow stellt das Gegengewicht zu diesem strikten Verbot dar und erlaubt den Zugriff von den eingetragenen Maschinen.

Gute Firewall-Regeln tragen auch zu einem besseren Schutz bei. Es werden verschiedene Ports von den unterschiedlichen Diensten genutzt:

Service | Port | Protokoll(e)
--- | --- | ---
portmap | 111 | upd / tcp
nfsd | 2049 | udp
mountd | variabel | udp / tcp

Weitere Informationen zur Sicherheit sind im Kapitel Grundlagen Sicherheit und Iptables zu finden.