Les mots de passe sont souvent un point faible dans une stratégie de sécurité, car négligés par les utilisateurs, voire par l'administrateur. Voici quelques mesures permettant de réduire ces risques.
la méthode classique de gestion des mots de passe consiste à stocker une image chiffrée de ceux-ci dans un fichier spécial (habituellement /etc/passwd), qui contient les informations principales sur les utilisateurs (Nom, login, répertoire de travail, etc...). Quand l'utilisateur propose un mot de passe pour s'authentifier, il est chiffré de la même façon que le mot de passe stocké et les deux résultats sont comparés. Cette méthode fournit donc déjà un certain niveau de sécurité, puisque les mots de passe ne sont jamais stockés en clair [1], mais il existe quelques méthodes qui permettent d'améliorer la sécurité de cette gestion.
Le fichier /etc/passwd doit être lisible par tous car il contient de nombreuses informations sur les utilisateurs. Chaque utilisateur peut donc récupérer l'ensemble des images des mots de passe puis lancer un programme d'attaque par force brute sur ces images.
Une solution consiste à stocker les images des mots de passe dans un fichier séparé, accessible seulement par root, un programme dédié (et disposant des droits suffisants) permettant de confronter des mots de passe proposés au mot de passe stocké dans le fichier /etc/shadow. C'est ce que propose le méchanisme des Shadow Passwords.
Il est probable que votre distribution vous propose l'utilisation des Shadow Passwords lors de l'installation. Pour plus d'informations à ce sujet, consultez le Shadow-Password HOWTO.
Les mots de passe sont habituellement chiffrés par une variante de l'algorithme DES, qui limite la taille exploitable des mots de passe à 8 caractères: par exemple, tous les mots de passe commencant par la séquence azertyui seront équivalents car ils génèreront la même image chiffrée. Cette limitation rend plus facilement envisageable une attaque par force brute, qui consiste à essayer toutes les combinaisons.
Il existe d'autres méthodes pour générer des images de mots de passe, comme MD5 qui permet d'avoir des mots de passe de 128 bits significatifs, soit 16 caractères, et qui est disponible dans la plupart des distributions de GNU/Linux.
Pour les mots de passe plus que toute autre chose, l'utilisateur est très souvent à l'origine d'un affaiblissement du niveau de sécurité du système.
L'utilisateur moyen n'a pas envie de retenir des mots de passe compliqués, et va donc utiliser des séquences classiques, parmi lesquelles on retrouve souvent '12345', 'soleil', 'azerty', 'toto', des mots ou acronymes spécifiques à son milieu professionnel ou des informations personnelles (le prénom des enfants, le nom du chien, la date de mariage, etc...). Eventuellement, il rusera en inversant 2 lettres, en mettant des majuscules ou en remplaçant une lettre par un signe ($ pour s, @ pour a, etc...).
Il existe de nombreux programmes spécialisés qui tentent toutes les valeurs d'une base de mots de passe, ainsi que toutes leurs variantes << classiques >>. Tous les exemples de mots de passe cités plus haut sont donc très faibles, et peuvent permettre à une personne extérieure de mettre le premier pied sur votre système.
Le cas des mots de passe basés sur les informations personnelles est un peu particulier. En effet, ceux-ci ne sont pas forcément faibles directement (il n'existe pas de base de mots de passe assez spécialisée), mais il est généralement très facile d'obtenir ces informations autour du distributeur de café, sans éveiller le moindre soupçon. Cette technique de récupération d'informations personnelles est l'une des bases du social engineering.
L'utilisateur doit bien comprendre que son mot de passe est strictement personnel, et qu'il ne doit être communiqué à personne (y compris à l'administrateur). N'hésitez pas à insister lourdement sur ce point, cela vous permettra d'éviter les mots de passe sur des post-it collés à l'écran, les comptes personnels utilisés par tout le monde ou les utilisateurs qui donnent leur mot de passe à un inconnu au téléphone qui a réussi à se faire passer pour vous (voir social engineering).
[1] | En fait, la sécurité est en grande partie assurée par le fait qu'il est très difficile de retrouver le mot de passe d'origine à partir de l'image chiffrée. |
Précédent | Sommaire | Suivant |
Gestion des utilisateurs | Niveau supérieur | Les permissions des fichiers |