Existe-t-il un moyen de définir des exigences de mot de passe minimales, telles qu'une longueur minimale, des alphanumériques à casse mixte et au moins 1 symbole dans le code, et de les appliquer lors des modifications du code?
Existe-t-il un moyen de définir des exigences de mot de passe minimales, telles qu'une longueur minimale, des alphanumériques à casse mixte et au moins 1 symbole dans le code, et de les appliquer lors des modifications du code?
Réponses:
La complexité des mots de passe dans Ubuntu est contrôlée par PAM. Malheureusement, PAM est "typiquement Unix" comme dans son approche. Cela signifie qu'il répartit sa configuration à travers un grand nombre de fichiers très déroutants.
Le fichier qui contrôle la complexité des mots de passe est:
/etc/pam.d/common-password
Il y a une ligne:
password [success=1 default=ignore] pam_unix.so obscure sha512
Ce qui définit les règles de base pour la complexité des mots de passe. Vous pouvez ajouter un remplacement de longueur minimale en le modifiant comme suit:
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=12
ou tout ce que vous voulez. Comme vous pouvez le voir, la valeur par défaut définit déjà quelques règles d'obscurité de base. Ces règles de base peuvent être vues dans:
man pam_unix
Recherchez "obscur".
Il existe un grand nombre de modules pam qui peuvent être installés.
apt-cache search libpam-
Devrait vous les montrer.
Vous aurez besoin de traquer la documentation pour eux, je le crains. Mais le "cracklib" est un ajout courant.
MISE À JOUR: J'aurais dû souligner que le paramètre par défaut "obscur" inclut des tests de complexité basés sur les mots de passe précédents et la simplicité (longueur, nombre de différents types de caractères). L'exemple de la page de manuel montre cracklib en action. Installez libpam_cracklib pour que cela fonctionne.
De plus, une fois que vous avez déterminé quoi changer, les modifications sont les mêmes dans les autres fichiers afin que vous puissiez appliquer les mêmes (ou différents) vérifications de mot de passe pour SSH et d'autres applications.
Les valeurs de mot de passe sont contrôlées dans le fichier
/etc/pam.d/common-password
Pour plus d'informations sur la modification du fichier, voir la page de manuel de pam_unix
man pam_unix
, vous pourrez le voir.
Les modules PAM préinstallés vous permettent de définir les exigences de base en fonction de la complexité. Il y a un joli module qui est un successeur du module pam_cracklib - pam_pwquality. Pour l'installer, tapez ce qui suit
apt-get install libpam-pwquality
alors familiarisez-vous avec celui-ci
man pam_pwquality
surtout avec la section "Options".
Vous pouvez maintenant modifier le mot de passe commun dans /etc/pam.d/
vi /etc/pam.d/common-password
recherchez la ligne qui contient l'instruction "mot de passe requis pam_pwquality.so" suivante et après pam_pwquality.so attachez vos options comme ceci
password requisite pam_pwquality.so minlen=16 ucredit=-4 retry=3
qui signifie "la taille minimale du mot de passe est de 16 caractères, dont au moins 4 en majuscules. Invite l'utilisateur à saisir son mot de passe 3 fois.
pam_pwquality vous permet de faire des exigences de mot de passe beaucoup plus complexes en combinaison avec d'autres modules comme pam_pwhistory. Bonne chance
man pam_unix
, la longueur minimale du mot de passe par défaut est de 6 caractères si vous effectuez une rechercheminlen
.