[gull] nfs: pas génial?

Marc SCHAEFER schaefer at alphanet.ch
Mon Aug 13 10:30:32 CEST 2007


On Wed, Aug 08, 2007 at 11:30:02PM +0200, Thierry de Coulon wrote:
> Maintenant, si j'essaye de partager un autre répertoire avec (rw,insecure) je 
> n'ai pas ce problème. J'ai donc le choix entre les em... et l'insécurité! Bon 
> je suppose que l'on dira que le wifi n'existait pas quand on a créé nfs...

NFS (et tous les protocoles basés sur RPC) ont été conçus dans un monde
où:

   - les systèmes sont correctement gérés

   - l'accès root n'est connu que par les bonnes personnes

   - aucun système ne correspondant pas à la philosophie UNIX n'existe
     sur le même réseau

En bref, NFS est en clair et vérifie les droits d'accès en fonction que
ce que le client lui dit (pour UID/GID) et peut-être aussi en fonction
de l'adresse IP du client.

Comme NFS par défaut utilise UDP, il est très facile de faire des appels
NFS pour effacer des fichiers, en se faisant passer pour une autre
machine (IP spoofing; fonctionnera sans problème dans un même
sous-réseau, sauf configuration acrobatique des switches; peut être
évité si un routeur est mis en place et configuré en anti-spoofing).

La solution UNIX à ce problème est triple:

soit:

  a. respecter le modèle original (donc pas de laptop avec accès
     root aux utilisateurs, pas de sans-fil, pas d'accès non UNIX)

  b. chiffrer les couches inférieures
        p.ex. avec du OpenVPN, IPsec, IP-sur-SSH; voire WAP
        (originellement: SecureRPC de Sun)

  c. tunneliser NFS (>= v4) via SSH

(d.  rendre aléatoire les numéros d'inodes pour éviter des attaques,
     mais bof, c'est du "security-through-obscurity")

On peut aussi complètement abandonner NFS pour d'autres protocoles,
encore que le gain, sous GNU/Linux, ne me semble pas étonnamment
intéressant. P.ex. AFS + Kerberos me semble un tout petit peu
complexe et pas forcément plus sûr suivant comment il est
configuré.  sshfs est encore trop jeune et peu performant. smbfs/cifs
n'est pas un filesystem POSIX au départ (encore qu'il a été étendu),
Coda est plein de bugs, etc.

Pour la solution c sous Debian:

   http://www.samag.com/documents/s=4072/sam0203d/sam0203d.htm

Sysadmin Magazine était une publication très intéressante, mais qui a
cessé.

> Y a-t-il une autre solution que de mettre le même numéro IP aux deux 
> interfaces (ce qui ne devrait pas poser de gros problème puisqu'elles ne sont 
> pas actives en même temps)?

Sous Debian, on pourrait déclarer les deux interfaces en adresse fixe,
dans /etc/network/interfaces sans le mot clé "auto" ou "hotplug".
Puis démarrer celle qui est à utiliser avec ifup.  Voir aussi
interfaces(5) (man 5 interfaces).

Mais je crois qu'Anne a donné une meilleure solution pour ce problème
particulier.



More information about the gull mailing list