par David Robert david@anrtt.inp-fc.fr
Avec la plupart des distributions actuelles où le système des mots de passe shadow n'est pas installé, les mots de passes encodés des utilisateurs se trouvent dans le fichier /etc/passwd. Or ce fichier doit être en lecture publique car mis a part les mots de passe, il contient des informations importantes comme L'User ID et le Group ID qui sont utilisées par quelques programmes citons par exemple: find(1), chown(8), chgrp(1), tar(1), cpio(1), groups(1), id(1), finger(1) et ls. Par exemple, supprimez l'autorisation en lecture publique du fichier passwd: la commande ls -l affiche désormais le User ID au lieu du nom. Bien que l'algorithme d'encryptage des mots de passe soit à sens unique, Il existe des programmes qui vont exécuter des recherches en encryptant des dictionnaires de mots courant en les comparants à ceux dans votre fichier /etc/passwd. Si vous avez de nombreux utilisateurs, la probabilité pour un pirate de trouver un mot de passe et donc de rentrer sur votre système est loin d'être négligeable.
Il faudrait que personne ne puisse accéder aux mots de passes encodés pour éviter ces attaques. En fait, la seule solution consiste à séparer les mots de passes encodés dans un autre fichier généralement appelé /etc/shadow mais cette fois-ci seul le root y aurait accès. Sur un système linux non prévu, il va falloir mettre-à-jours tous les programmes utilisant l'authentification via les données de /etc/passwd. Si vous êtes intéressés, ou si vous désirez mettre-à-jour votre système linux vers un système shadow, je vous conseille vivement de lire le Shadow-Password HOWTO qui explique toutes les étapes à suivre pour mener à bien cette mise-à-jour. On trouve cet HOWTO sur ibp: ftp://ftp.ibp.fr/pub/linux/french/docs/HOWTO/Shadow-Password-HOWTO.