Introduction à CrackLib
Le paquet CrackLib contient une
bibliothèque utilisée pour imposer des mots de passe forts en
comparant les mots de passe sélectionnés par l'utilisateur avec des
mots dans des listes choisies.
This package is known to build and work properly using an LFS 12.0
platform.
Informations sur le paquet
Téléchargements supplémentaires
Liste de mots recommandée pour les pays anglophones :
Il y a des listes de mots supplémentaires disponibles au
téléchargement, par exemple sur https://wiki.skullsecurity.org/index.php/Passwords.
CrackLib peut utiliser autant de
listes de mots que vous souhaitez installer.
Important
Les utilisateurs ont tendance à baser leur mot de passe sur des
mots ordinaires de leur langue et les pirates le savent.
CrackLib vise à filtrer de tels
mots de passe dès la source en utilisant un dictionnaire créé à
partir de listes de mots. Pour cela, la/les liste(s) de mots à
utiliser avec CrackLib
doit/doivent être exhaustive(s) et contenir les mots et les
combinaisons de touche qui ont des chances d'être choisies par
les utilisateurs du système comme mots de passe (devinables).
La liste de mots par défaut dont on recommande plus haut le
téléchargement joue en général ce rôle dans les pays anglophones.
Dans d'autres situations, il peut être nécessaire de télécharger
(ou de créer), des listes de mots supplémentaires.
Remarquez que les listes de mots adaptées à la vérification
orthographique ne sont pas utilisables comme listes de mots pour
CrackLib dans des pays ayant des
alphabets à base non latine à cause des « combinaisons de touche basées
sur le mot » qui produisent de mauvais mots de
passe.
Installation de CrackLib
Installez CrackLib en exécutant
les commandes suivantes :
autoreconf -fiv &&
PYTHON=python3 \
./configure --prefix=/usr \
--disable-static \
--with-default-dict=/usr/lib/cracklib/pw_dict &&
make
Maintenant, en tant qu'utilisateur root
:
make install
Lancez les commandes suivantes en tant qu'utilisateur root
pour installer la liste de mots
recommandée et créer le dictionnaire CrackLib. D'autres listes de mots (au format
texte, un mot par ligne) peuvent être utilisées, simplement en les
installant dans /usr/share/dict
et en
les ajoutant à la commande create-cracklib-dict.
install -v -m644 -D ../cracklib-words-2.9.11.xz \
/usr/share/dict/cracklib-words.xz &&
unxz -v /usr/share/dict/cracklib-words.xz &&
ln -v -sf cracklib-words /usr/share/dict/words &&
echo $(hostname) >> /usr/share/dict/cracklib-extra-words &&
install -v -m755 -d /usr/lib/cracklib &&
create-cracklib-dict /usr/share/dict/cracklib-words \
/usr/share/dict/cracklib-extra-words
Si vous le désirez, vérifiez le bon fonctionnement de la
bibliothèque en tant qu'utilisateur non privilégié en exécutant la
commande suivante :
make test
Important
Si vous installez CrackLib après
avoir terminé votre système LFS, et si vous avez installé le
paquet Shadow, vous devez
réinstaller Shadow-4.13 si vous souhaitez fournir le
support des mots de passe forts sur votre système. Si maintenant
vous allez installer le paquet Linux-PAM-1.5.3,
vous pouvez ignorer cette remarque vu que Shadow sera réinstallé après l'installation
de Linux-PAM.
Explication des commandes
autoreconf
-fiv : le script configure embarqué avec ce
paquet est trop vieux pour trouver la bonne chaine de version de
Python 3.10 et supérieur. Cette commande le régénère avec une
version plus récente des autotools, ce qui corrige le problème.
PYTHON=python3
: cela force
l'installation des liaisons python pour Python 3, même si Python 2
est installé.
--with-default-dict=/lib/cracklib/pw_dict
:
Ce paramètre oblige l'installation du dictionnaire CrackLib à se faire dans l'arborescence
/lib
.
--disable-static
: Ce
paramètre empêche l'installation des versions statiques des
bibliothèques.
install -v -m644 -D
... : Cette commande crée le répertoire
/usr/share/dict
(s'il n'existe pas
déjà) et y installe la liste de mots compressée.
ln -v -s cracklib-words
/usr/share/dict/words : La liste de mots est
liée à /usr/share/dict/words
vu
qu'historiquement, words
est la liste
de mots principale dans le répertoire /usr/share/dict
. Supprimez cette commande si vous
avez déjà installé un fichier /usr/share/dict/words
sur votre système.
echo $(hostname)
>>... : La valeur de hostname est envoyée dans un
fichier nommé cracklib-extra-words
.
Ce fichier supplémentaire vise à être une liste locale spécifique
incluant des mots de passe faciles à deviner tels que les noms de
la société ou du département, les noms d'utilisateurs, les noms de
produit, les noms d'ordinateur, les noms de domaine, etc.
create-cracklib-dict
... : Cette commande crée le dictionnaire
CrackLib à partir des listes de
mots. Modifiez la commande pour ajouter une liste de mots
supplémentaire que vous avez installée.