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