Dies ist das neue Wiki von debianforum.de. Der bisherige Wiki-Inhalt ist unter http://oldwiki.debianforum.de noch eine Zeit lang verfügbar.


NFS-Server feste IP-Ports

Aus DebianforumWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

NFS-Server auf feste IP-Ports umstellen

Normalerweise verwendet NFS-Server bzw. der Portmapper nicht vorhersehbare IP-Ports zur Kommunikation mit einem NFS-Client. Daher ist es nur schwer möglich, einen Standard-NFS-Server mittels eines Paketfilters wie iptables oder ipchains abzusichern bzw. die Kommunikation zwischen NFS-Client und -Server durch einen Paketfilter zu ermöglichen.

Die Lösung des Problems heißt die NFS-Komponenten (rpc.statd, rpc.mountd, rpc.lockd) auf feste IP-Ports einstellen. Ich verwende in dem Beispiel die Portnummer 4000 für rpc.statd, die Portnummer 4001 für rpc.lockd und die 4002 für rpc.mountd. Zusätzlich verwendet der notwendige Portmapper noch den Port 111 (udp und tcp) und der nfsd selbst den Port 2049 (udp). Die aktuellen verwendeten Ports kann man sich mittels "rpcinfo -p" anschauen.

rpc.statd

In der Datei `/etc/init.d/nfs-common` müssen Veränderungen vorgenommen werden; auf Zeile 34/35 wird rpc.statd mittels `start-stop-daemon` gestartet:

      start-stop-daemon --start --quiet \
           --exec $PREFIX/sbin/rpc.statd 

Am Ende der letzten Zeile wird dann folgendes eingefügt "`-- -p PORTNUMMER`", so das der Abschnitt dann so aussehen kann:

      start-stop-daemon --start --quiet \
           --exec $PREFIX/sbin/rpc.statd -- -p 4000 

In Debian Sarge befindet sich unter `/etc/defaults/` eine Datei "nfs-common", dort einfach

 STATDOPTS="--port 4000" 

eintragen.

rpc.lockd

In der Datei `/etc/init.d/nfs-common` müssen Veränderungen vorgenommen werden; auf Zeile 39/40 wird rpc.lockd mittels start-stop-daemon gestartet:

      start-stop-daemon --start --quiet \
           --exec $PREFIX/sbin/rpc.lockd 

Am Ende der letzten Zeile wird dann folgendes eingefügt "-- -p PORTNUMMER", so das der Abschnitt dann so aussehen kann:

      start-stop-daemon --start --quiet \
           --exec $PREFIX/sbin/rpc.lockd -- -p 4001

Wenn der Kernelmode-NFS-Server (Paket Debianpackage.png nfs-kernel-server) verwendet wird, dann ist die Portnummer via append-Zeile in Lilo (oder per Grub) zu übergeben; die rpc.lockd-Einstellungen in der `/etc/init.d/nfs-common` wirken dann nicht:

 append="lockd.udpport=4001 lockd.tcpport=4001" 

Nicht vergessen nach der Änderung `/sbin/lilo` auszuführen!


rpc.mountd

In der Datei `/etc/init.d/nfs-[kernel|user]-server` muss in der Variable die zu Verwendende Portnummer eingetragen werden:

 RPCMOUNTDOPTS="-p 4002" 

Damit sollte der NFS-Server auf den festen Ports 4000-4002 laufen und via iptables absicherbar sein.

Meine Werkzeuge