web-dev-qa-db-fra.com

Comment définissez-vous les exigences (telles que la longueur minimale) sur les mots de passe?

Existe-t-il un moyen de définir des exigences minimales en matière de mot de passe, telles qu'une longueur minimale, des exigences relatives aux caractères alphanumériques en casse mixte et au moins un symbole dans le code secret, et de les appliquer lors des modifications de code secret?

18
Thomas Ward

La complexité des mots de passe dans Ubuntu est contrôlée par PAM. Malheureusement, PAM est "typiquement Unix" comme dans son approche. Ce qui signifie qu'il étend sa configuration à travers un grand nombre de fichiers très déroutants.

Le fichier qui contrôle la complexité du mot 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é du mot 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 le minimum que vous voulez. Comme vous pouvez le constater, la valeur par défaut définit déjà certaines règles d’obscurité de base. Ces règles de base peuvent être vues dans:

man pam_unix

Recherchez "obscure".

Un grand nombre de modules pam peuvent être installés.

apt-cache search libpam-

Devrait vous les montrer.

Je crains que vous n'ayez besoin de traquer la documentation pour eux. Mais le "cracklib" est un ajout commun.

UPDATE: J'aurais dû souligner que le paramètre par défaut "obscure" inclut des tests de complexité basés sur les mots de passe précédents et sur la simplicité (longueur, nombre de types de caractères différents). L'exemple de la page de manuel montre cracklib en action. Installez libpam_cracklib pour que cela fonctionne.

En outre, une fois que vous avez défini les modifications à apporter, les modifications sont identiques dans les autres fichiers, de sorte que vous pouvez appliquer les mêmes vérifications de mot de passe (ou différentes) pour SSH et d'autres applications.

21
Julian Knight

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 page de manuel pam_unix

1
Mitch

Les modules PAM préinstallés vous permettent de définir les exigences de base en tenant compte de la complexité. Il existe un module Nice qui succède au module pam_cracklib - pam_pwquality. Pour l'installer tapez ce qui suit

apt-get install libpam-pwquality

puis se familiariser avec celui-ci

man pam_pwquality

en particulier avec la section "Options".

Vous pouvez maintenant éditer le mot de passe commun dans /etc/pam.d/

vi /etc/pam.d/common-password

recherchez la ligne qui contient l'instruction "pam_pwquality.so" requise pour "mot de passe requis" et, après pam_pwquality.so, attachez vos options comme ceci

password        requisite         pam_pwquality.so minlen=16 ucredit=-4 retry=3

ce qui signifie "la taille minimale du mot de passe est de 16 caractères, minimum 4 en majuscules. Demander 3 fois le mot de passe à l'utilisateur.

pam_pwquality vous permet de définir des exigences de mot de passe beaucoup plus complexes en combinaison avec d’autres modules tels que pam_pwhistory. Bonne chance

1
Piotr Kowalczyk