Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2015, à 19:49

Compte anonymisé

Sécuriser NFSv4

Bonjour,

Je dois mettre en place plusieurs partage au sein d'un serveur NFSv4 :

/exports                *(ro,fsid=0,no_subtree_check)
/exports/test1	192.168.0.0/24(rw,no_root_squash,fsid=1,no_subtree_check,sync)
/exports/test2	192.168.1.0/24(rw,no_root_squash,fsid=2,no_subtree_check,sync)

Ma machine (en 192.168.0.1) est donc capable de monter le répertoire "test1" via un "mount -t nfs server-nfs:/test1".
Cependant, je me rends compte que depuis ce même client NFS je peux monter la racine (correspond au /exports au niveau du serveur NFS) et voir les répertoires "test1" (répertoire légitime auquel le client NFS peut accéder) mais aussi le répertoire "test2".
Même si je ne peux pas voir le contenu de "test2", je souhaiterai que le client NFS ne soit pas du tout capable de lister le contenu du répertoire racine (voir même interdire que celui-ci soit monté si possible) ou du moins, ne pas être capable de lister les répertoires qui ne le concerne pas (en l'occurrence ici "test2").

Est-ce que c'est possible svp ?

Merci d'avance.

Dernière modification par Compte anonymisé (Le 05/03/2015, à 19:50)

#2 Le 05/03/2015, à 20:42

quaego

Re : Sécuriser NFSv4

A mon avis, la première ligne du fichier "/exports * ..." ne devrait pas être là dans ce cas.

S'il n'y a que les lignes "test1" et "test2", le client ne peut pas se connecter à la "racine" /exports, et le masque IP devrait séparer les accès "test1" / "test2" en fonction de l'adresse du client.

Hors ligne

#3 Le 06/03/2015, à 13:33

Compte anonymisé

Re : Sécuriser NFSv4

OK quaego.

Cependant, même si je retire la première ligne je parviens tout de même à monter la racine.
En recherchant des infos, cela semble être l'implémentation inhérente au NFSv4 :
https://www.centos.org/docs/5/html/5.1/ … nfsv4.html

Notamment la notion de "pseudo filesystem".

#4 Le 06/03/2015, à 21:29

quaego

Re : Sécuriser NFSv4

myster78,

Effectivement, après essai dans une machine virtuelle, on peut monter /exports, et même / (qui liste /exports). On en apprend tous les jours. C'est plutôt contre-intuitif.

J'ai une solution de contournement qui semble ok : il faut séparer les exports destinés aux différents clients au niveau de la racine. Au lieu de /exports/test1 et /exports/test2, on utilise /exports1 et /exports2 par exemple (il faut adapter les attributs de partage comme souhaité) :

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#/exports/test1    192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
#/exports/test2    192.168.2.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

/exports1    192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
/exports2    192.168.2.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Avec cet exemple, un poste d'IP 192.168.1.X peut monter /exports1, ou /, mais il ne voit pas et ne peut monter /exports2 (testé avec serveur Ubuntu 14.04 et poste client idem).

Après modification des exports, il vaut mieux pour les tests réinitialiser NFS sur le serveur :

sudo exportsfs -ra
sudo service nfs-kernel-server restart

Hors ligne

#5 Le 06/03/2015, à 23:39

Compte anonymisé

Re : Sécuriser NFSv4

Merci pour ton retour.