{{tag> Trusty xenial réseau partage nfs sécurité tutoriel }}
----
====== Fixer les ports pour un partage NFS ======
Vous pouvez avoir besoin de fixer les [[wpfr>Port_(logiciel)|ports]] utilisés par [[:NFS]] , lorsque votre [[:partage]] doit se faire à travers un [[:Firewall|pare-feu]] matériel ou logiciel ou un autre équipement filtrant.
{{/nfs-ufw.png}}
Pour sécuriser votre [[:partage]] [[:NFS]] à l'aide d'un [[:firewall|pare-feu]] vous pouvez suivre ce [[https://wiki.debian.org/SecuringNFS|tutoriel debian]] en utilisant [[:ufw]] plutôt que [[:Shorewall]].
===== Partage NFS =====
Le principe de partage fonctionne sur la notion de serveur/client.\\
Le serveur est celui qui propose l'accès à ses données.\\
Le client est celui qui y accède pour les lire ou les modifier. \\
Toutes les manipulations indiquées dans cette page se font sur le serveur.
===== Fixer les ports =====
Il s'agit de déterminer le port qui sera toujours utilisé pour le [[:partage]] [[:NFS]]. On appel cela <>.
==== pour mountd ====
Pour déterminer le port, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/etc/default/nfs-kernel-server**\\
commentez (mettre un # devant) ''RPCMOUNTDOPTS=--manage-gids'' et mettez à la place:
RPCMOUNTDOPTS="--port 42002"
==== Pour STATD ====
[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] ** /etc/default/nfs-common **\\
STATDOPTS="--port 42000"
vous pouvez aussi fixer le port de sortie pour STATD en modifiant la ligne précédente par celle-ci:
STATDOPTS="--port 42000 --outgoing-port 42001"
==== Pour QUOTAD ====
La gestion des [[:quota|quotas]] n'est pas activée par défaut. Fixer ce port est donc optionnel.
[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] ** /etc/default/quota **\\
RPCRQUOTADOPTS="-p 42769"
==== pour LOCKD ====
Pour éviter l'altération des données si plusieurs //clients// se connectent en même temps\\ [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/modprobe.d/options.conf** et y mettre cette ligne:
options lockd nlm_udpport=42010 nlm_tcpport=42010
Si le nom de fichier options.conf ne vous conviens pas, vous pouvez le nommer comme bon vous semble tant qu'il fini par **.conf**
==== si LOCKSD prend toujours des ports aléatoires apres reboot ====
Voir [[https://www.ens-lyon.fr/PSI/technique/doku.php?id=debian:security|ici]]
[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/sysctl.conf**
fs.nfs.nlm_tcpport=42010
fs.nfs.nlm_udpport=42010
en fixant les mêmes ports pour UDP et TCP, **cela peut servir pour le parefeu UFW**.
===== Prise en compte des modifications =====
Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.
Sinon vous pouvez essayer les étapes suivantes :
* Relancer le serveur NFS : sudo invoke-rc.d nfs-kernel-server restart
* Relancer portmap : sudo invoke-rc.d portmap restart
* Relancer le service rpc : sudo rmmod sunrpc
sudo modprobe sunrpc
===== Vérification ======
Pour connaitre les ports de communication utilisés par le **PC1**, dans un [[:terminal]] saisissez:
rpcinfo -p
La commande devrait vous donner un résultat proche de celui-ci:
program no_version protocole no_port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100021 1 udp 42010 nlockmgr
100021 3 udp 42010 nlockmgr
100021 4 udp 42010 nlockmgr
100021 1 tcp 42010 nlockmgr
100021 3 tcp 42010 nlockmgr
100021 4 tcp 42010 nlockmgr
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 42002 mountd
100005 1 tcp 42002 mountd
100005 2 udp 42002 mountd
100005 2 tcp 42002 mountd
100005 3 udp 42002 mountd
100005 3 tcp 42002 mountd
On constate que les ports ne sont plus attribués aléatoirement mais bien comme nous les avons [[#fixer les ports|fixé]].
Il sera alors possible de configurer votre [[:firewall]] en utilisant ces ports.
=====Voir aussi=====
* https://www.ens-lyon.fr/PSI/technique/doku.php?id=debian:security
* [[wpfr>Network_File_System|NFS]]
----
//Contributeurs :[[utilisateurs:ool]]//