NFS-Server feste IP-Ports

Aus DebianforumWiki
Wechseln zu: Navigation, Suche
WikiDateiserver ‹ NFS-Server feste IP-Ports


Löschen.png Dieser Artikel wurde zum Löschen vorgeschlagen!

Weitere Details zum Löschvorgang gibt es bei den Richtlinien zum Löschen.
Begründung: Artikel ist veraltet.
Antrag von: Cronoik (Diskussion) 00:34, 28. Nov. 2017 (CET)
Unterstützt von: Jph (Diskussion) 18:47, 13. Dez. 2017 (CET)


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.

Hinweis: diese Anleitung ist Stand 2017 veraltet. NFSv4 nutzt den festen Port 2049 über TCP; UDP wird nicht mehr unterstützt. Das Mount- und das Lock-Protokoll werden nicht über separate Daemons implementiert, sondern sind Bestandteil von NFSv4.

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.