5.4. Sécurisation de NFS

Le système de fichiers réseau (ou NFS, de l'anglais Network File System) est un service RPC utilisé de concert avec portmap et d'autres services connexes afin de fournir des systèmes de fichiers accessibles par réseau à des ordinateurs clients. Pour davantage d'informations sur le fonctionnement de NFS, reportez-vous au chapitre intitulé Système de fichiers réseau (NFS) du Guide de référence de Red Hat Enterprise Linux. Pour obtenir de plus amples informations sur la configuration de NFS, consultez le Guide d'administration système de Red Hat Enterprise Linux. Les sous-sections suivantes supposent que le lecteur dispose de connaissances élémentaires sur NFS.

ImportantImportant
 

Il est recommandé à toute personne ayant l'intention d'implémenter un serveur NFS de bien sécuriser auparavant le service portmap comme l'explique la Section 5.2, avant de traiter les points suivants :

5.4.1. Planifier prudemment le réseau

Puisque NFS transmet les informations sur le réseau de manière non-cryptée, il est important d'exécuter le service non seulement derrière un pare-feu, mais également sur un réseau segmenté et sécurisé. Lors de toute transmission d'informations par NFS sur un réseau non-sécurisé, elles courent le risque d'être interceptées. À cet égard, une conception prudente de réseau peut aider à lutter contre des brèches de sécurité.

5.4.2. Attention aux erreurs de syntaxe

Le serveur NFS détermine quels systèmes de fichiers à exporter et quels hôtes doivent recevoir ces répertoires au moyen du fichier /etc/exports. Faites bien attention de ne pas ajouter d'espaces superflus lors de la modification du fichier.

Par exemple, la ligne suivante présente dans le fichier /etc/exports permet le partage du répertoire /tmp/nfs/ avec l'hôte bob.example.com avec des permissions de lecture et écriture.

/tmp/nfs/     bob.example.com(rw)

En revanche, la ligne suivante dans le fichier /etc/exports permet le partage du même répertoire d'une part avec l'hôte bob.example.com avec une permission de lecture-seule et d'autre part avec tout le monde avec des permissions de lecture et écriture, et ce en raison d'un seul espace ajouté après le nom d'hôte.

/tmp/nfs/     bob.example.com (rw)

Il est donc bon de toujours vérifier tout partage NFS configuré en utilisant la commande showmount afin d'obtenir une idée claire des éléments offerts en partage.

showmount -e <hostname>

5.4.3. N'utilisez pas l'option no_root_squash

Par défaut, les partages NFS changent la propriété de fichiers appartenant au super-utilisateur à celle de l'utilisateur nfsnobody (personne), un compte d'utilisateur sans privilèges. De plus, tous les fichiers créés par le super-utilisateur appartiennent à l'utilisateur nfsnobody, ce qui évite le téléchargement de programmes avec le bit setuid défini.

Si no_root_squash est utilisé, les super-utilisateurs à distance pourront changer tout fichier sur le système de fichiers partagé et laisser des applications avec des chevaux de Troie que d'autres utilisateurs pourraient exécuter par inadvertance.