Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
03 octobre 2010

pam authentification sécurité           Pluggable Authentication Modules


pam_cracklib

pam_cracklib

Vérifie le mot de passe via dictionnaire

   ce module peut être utilisé dans la pile password. Il demande un mot de passe et vérifie sa complexité avec un dictionnaire et définis des rêgles pour identifier les choix faibles. Si le mot de passe est jugé suffisemment fort, le module redemande confirmation du mot de passe à l'utilisateur. Si tout s'est bien passé le mot de passe est passé au modules suivants pour être installé comme nouveau token d'authentification.

   La vérification du mot de passe s'effectue comme suit: la routine Cracklib est appelé pour vérifier si le mot de passe est trouvé dans un dictionnaire; et si ce n'est pas le cas, une autre vérification est faite:

        Palindrome Est-ce que le nouveau mot de passe est un palindrome
        case change only Est ce que le nouveau mot de passe et l'ancien non qu'un changement de casse
        similar Si le nouveau mot de passe est trop proche de l'ancien. Principalement contrôlé par un argument, difok qui est un nombre de caractères qui diffèrent. Le défaut est 10 ou la moitié de la taille du nouveau mot de passe s'il est inférieur.
        simple Est ce que le mot de passe est trop petit. Contrôlé par 5 arguments: minlen, dcredit, ucredit, lcredit et ocredit.
        rotated Est ce que le nouveau mot de passe est une rotation de l'ancien mot de passe.
        Same Consecutive characters Vérification optionnelle des caractères consécutifs
        Contains user name Vérification optionnel desmots de passe contenant le nom de l'utiliateur.

   Ce module n'a pas d'argument. Avec le crypte md5, les mots de passe ne peuvent dépasser 8 caractères.

OPTIONS

debug Écrit des informations dans syslog.
authok_type=XXX Remplace le mot UNIX dans "New UNIX password : " et "Retype UNIX password : " par celui spécifié
retry=N Demande à l'utilisateur N fois avant de retourner une erreur. Défaut 1.
difok=N Change la règle par défaut de 5 caractères dans le nouveau mot de passe qui ne doivent pas être présent dans l'ancien mot de passe.
difignore=N Combien de caractères doit avoir le mot de passe avant que difok soit ignoré. Défaut est 23.
minlen=N Taille minimum pour le nouveau mot de passe (plus 1 si credits ne sont pas désactivé - défaut) Défaut 9
dcredit=N Credit maximum pour avoir des chiffres dans le mot de passe. défaut 1
ucredit=N crédit maximum pour avoir des lettres majuscule dans le mot de passe
lcredit=N Crédit maximum pour avoir des lettre minuscule dans le mot de passe.
ocredit=N Crédit maximum pour avoir d'autres caractères dans le mot de passe
minclass=N Nombre minimum de classes de caractère requises. Les 4 classes sont les chiffre, minuscules, majuscules et les autres. défaut 0
maxrepeat=N Nombre maximum de caractères consécutifs identiques dans le mot de passe.
reject_username Rejète le mot de passe s'il contient le nom de l'utilisateur
use_authtok Utilisé pour forcer le module à ne pas demander de nouveau mot de passe mais d'en utiliser un fournis par le module passowrd précédent.
dictpath=/path/to/dict Chemin vers les dictionnaires

Valeurs retournées

PAM_SUCCESS le nouveau mot de passe à passé toutes les vérifications
PAM_AUTHTOK_ERR Aucun nouveau mot de passe n'a été entré, le nom d'utilisateur ne peut pas être déterminé ou le nouveau mot de passe à échoué la vérification
PAM_AUTHTOK_RECOVERY_ERR L'ancien mot de passe n'a pas été fournis par un module précent ou n'est pas fournis par l'utilisateur
PAM_SERVICE_ERR Une erreur interne s'est produite

Exemples

Exemple montrant commant il peut être stacké avec le composant password de pam_unix:
passwd password required pam_cracklib.so retry=3
passwd password required pam_unix.so use_authtok
Autre exemple dans le cas où vous voulez utiliser md5:
password required pam_cracklib.so difok=3 minlen=15 dcredit=2 ocredit=2
password required pam_uix.so use_authtok nullok md5
Autre exemple dans le cas où vous ne voulez pas utiliser les crédits:
password required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit
=0 minlen=0
password required pam_unix.so use_authtok nullok md5