Ceci est une ancienne révision du document !



partage NFS et Firewall (UFW )


Pour sécuriser votre partage NFS à l'aide d'un firewall
vous pouvez suivre ce tutoriel debian
préférez ufw à shorewall .
Le principe de partage fonctionne sur la notion de serveur/client.
Le serveur, que nous appellerons PC1, est celui qui propose l'accès à ses données.
Le client, que nous appellerons PC2, est celui qui y accède pour les lire ou les modifier.

Dans le cas de l'utilisation d'un partage NFS, tant qu' un pare-feu n'est pas actif, les données fournies par le PC1 sont visible par le PC2.
Néanmoins, un pare-feu tel que UFW peut-être nécessaire sur le PC1 bloquant alors l'accès aux données depuis les autres machines du réseau.
Il est alors nécessaire de fixer les ports qui sont utilisés pour autoriser un partage NFS.

Toutes les manipulations indiquées dans cette page se font sur le PC1

Il s'agit de déterminer le port qui sera toujours utilisé pour le partage NFS. On appelle cela «fixer un port».

Pour mountd

Pour déterminer le port, ouvrez le fichier /etc/default/nfs-kernel-server
commentez (en mettant un # devant) RPCMOUNTDOPTS=–manage-gids et mettez à la place:

 RPCMOUNTDOPTS="--port 42002" 

Pour lockd

Pour éviter l'altération des données si plusieurs clients se connectent en même temps, il faut ouvrir le fichier /etc/modprobe.d/options et y mettre cette ligne:

 lockd nlm_udpport=42010 nlm_tcpport=42010 
FIXME Si le blocage des ports ne semble pas effectif, d'après ce thread il suffirait de modifier le fichier /etc/sysclt.conf

Prise en compte des modifications

Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.

FIXME A tester: relancer le service nfs par sudo invoke-rc.d nfs-kernel-server restart et peut-être aussi sudo invoke-rc.d nfs-common restart. Il doit aussi falloir recharger un/des modules avec rmmod et un modprobe

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 attribués pour nlockmgr et mountd (en tcp et udp) ne sont plus aléatoires mais bien ceux que nous avons fixés.

Il ne reste plus qu'à paramétrer UFW sur le PC1 pour configurer Netfilter 1), et ce pour chacun des ports préalablement fixés à savoir 42002 et 42010.

Ouvrir les ports correspondants

Dans un terminal saisissez:

  sudo ufw allow in 42002
  sudo ufw allow in 42010

et si portmap et nfs ne sont pas déjà autorisés

sudo ufw allow sunrpc
sudo ufw allow nfs

activer UFW

Dans un terminal saisissez:

sudo ufw enable


1)
Netfilter est un module du noyau Linux qui offre la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit ainsi les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau.
  • nfs-ufw.1296516885.txt.gz
  • Dernière modification: Le 01/02/2011, 00:34
  • par 86.205.15.71