IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Administration NFS : sécurisation

Date de publication : 12/02/2005 , Date de mise a jour : 12/02/2005

Par david.d (Coredump)
 


1. Le client
2. Le serveur
3. Portmap


Un problème fondamental de NFS vient du fait qu’il existe une relation de confiance, par défaut, entre un client et un serveur NFS. Dans ce cas, si le compte root du serveur est compromis, celui du client le sera également. Le NFS-HOWTO décrit un ensemble de mesures élémentaires nécessaires à prendre.


1. Le client

Un client ne peut croire aveuglément un serveur, il faut donc préciser des options contraignantes lors de l’utilisation de la commande mount :

  1. la première, nosuid, annule l’effet des bits SUID et SGID. Ainsi, une personne root sur le serveur doit se connecter d’abord en tant qu’utilisateur quelconque sur le client pour ensuite seulement redevenir root,
  2. une autre option, plus contraignante, est noexec. Elle interdit l’exécution des programmes contenus sur le système exporté. Cette option n’est utilisable que pour les systèmes contenant uniquement des données.

2. Le serveur

Du côté du serveur NFS, on peut également spécifier qu’on ne fait pas confiance au compte root des clients. Sous Linux, on doit préciser dans le fichier /etc/exports l’option root_squash. Cette option est active par défaut, mais s’annule par l’option no_root_squash.
Ainsi, si un utilisateur avec l’UID 0 (root) sur le client accède au système exporté par le serveur, il se voit attribuer l’UID de nobody pour effectuer les requêtes sur les fichiers.
On peut préciser une plage d’UID pour lesquels l’option s’applique. Les options anonuid et anongid sur Linux permettent de changer l’UID/GID de l’utilisateur nobody en celui souhaité.


3. Portmap

Certaines mesures sont d’un ordre plus général et concernent plutôt le portmapper. Par exemple, on interdit l’accès à ce service à toutes les machines par la ligne suivante dans le fichier /etc/hosts.deny :


	# hosts.deny : interdiction absolue pour tout le monde de se servir du portmap

	...

	portmap: ALL

	...


Ensuite, dans le /etc/hosts.allow, on contrebalance cette interdiction drastique en autorisant l’accès à toutes les machines souhaitées.

Cet article présente l'administration NFS sous Linux. Vous pourrez trouver comment administrer NFS sous FreeBSD sur le site Coredump



Copyright (c) 2004 david d. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Read the full license here : http://www.gnu.org/licenses/fdl.txt