{{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]]//