Bonjour encore! Les cours commenceront demain dans le nouveau groupe du cours
Administrateur Linux , et à cet égard, nous publions un article utile sur le sujet.

Dans le dernier tutoriel, nous avons
pam_cracklib
comment utiliser
pam_cracklib
pour compliquer les mots de passe sur les systèmes
Red Hat 6 ou CentOS. Dans Red Hat 7,
pam_pwquality
remplacé
cracklib
comme module
pam
pour la vérification des mots de passe. Le module
pam_pwquality
également pris en charge sur Ubuntu et CentOS, ainsi que sur de nombreux autres systèmes d'exploitation. Ce module facilite la création de politiques de mot de passe pour s'assurer que les utilisateurs acceptent vos normes de complexité de mot de passe.
Pendant longtemps, l'approche habituelle des mots de passe consistait à forcer l'utilisateur à utiliser des majuscules et des minuscules, des chiffres ou d'autres caractères. Ces règles de base sur la complexité des mots de passe ont été activement promues au cours des dix dernières années. Il y a eu beaucoup de discussions pour savoir si c'est une bonne pratique ou non. Le principal argument contre la création de conditions aussi difficiles était que les utilisateurs écrivent des mots de passe sur papier et les stockent de manière non sécurisée.
Une autre politique récemment remise en cause oblige les utilisateurs à changer de mot de passe tous les x jours. Plusieurs études ont été menées qui ont montré que cela est également préjudiciable à la sécurité.
De nombreux articles ont été écrits sur le sujet de ces discussions qui justifient tel ou tel point de vue. Mais ce n'est pas ce que nous allons discuter dans cet article. Cet article vous expliquera comment définir correctement la complexité du mot de passe et ne pas gérer la stratégie de sécurité.
Paramètres de stratégie de mot de passeCi-dessous, vous verrez les paramètres de stratégie de mot de passe et une brève description de chacun d'eux. Beaucoup d'entre eux sont similaires aux paramètres du module
cracklib
. Cette approche facilite le portage de vos stratégies à partir de l'ancien système.
- difok - Le nombre de caractères dans votre nouveau mot de passe qui ne devraient PAS être présents dans votre ancien mot de passe. (La valeur par défaut est 5)
- minlen - La longueur minimale du mot de passe. (La valeur par défaut est 9)
- ucredit - Le nombre maximum de crédits pour l'utilisation de caractères majuscules (si paramètre> 0), ou le nombre minimum requis de caractères majuscules (si paramètre <0). La valeur par défaut est 1.
- lcredit - Le nombre maximum de crédits pour l'utilisation de caractères minuscules (si paramètre> 0), ou le nombre minimum requis de caractères minuscules (si paramètre <0). La valeur par défaut est 1.
- dcredit - Le nombre maximum de crédits pour l'utilisation de chiffres (si paramètre> 0), ou le nombre minimum requis de chiffres (si paramètre <0). La valeur par défaut est 1.
- ocredit - Le nombre maximum de crédits pour l'utilisation d'autres symboles (si paramètre> 0), ou le nombre minimum requis d'autres symboles (si paramètre <0). La valeur par défaut est 1.
- minclass - Définit le nombre de classes requises. Les classes incluent les paramètres ci-dessus (majuscules, minuscules, nombres, autres caractères). La valeur par défaut est 0.
- maxrepeat - Le nombre maximum de fois qu'un caractère est répété dans un mot de passe. La valeur par défaut est 0.
- maxclassrepeat - Le nombre maximum de caractères consécutifs dans une même classe. La valeur par défaut est 0.
- gecoscheck - Vérifie si le mot de passe contient des mots des lignes GECOS de l'utilisateur. (Informations utilisateur, c'est-à-dire nom réel, emplacement, etc.) Par défaut 0 (désactivé).
- dictpath - Permet de cracker les dictionnaires.
- badwords - Mots séparés par des espaces qui sont interdits dans les mots de passe (nom de l'entreprise, mot "mot de passe", etc.).
Si le concept de prêt semble étrange, ça va, ça va. Nous en parlerons plus en détail dans les sections suivantes.
Configuration de la politique de mot de passeAvant de commencer à modifier les fichiers de configuration, il est recommandé de pré-écrire la stratégie de base de mot de passe. Par exemple, nous utiliserons les règles de complexité suivantes:
- Le mot de passe doit avoir une longueur minimale de 15 caractères.
- Dans le mot de passe, le même caractère ne doit pas être répété plus de deux fois.
- Dans un mot de passe, les classes de caractères peuvent être répétées jusqu'à quatre fois.
- Le mot de passe doit contenir des caractères de chaque classe.
- Le nouveau mot de passe doit avoir 5 nouveaux caractères par rapport à l'ancien.
- Activez la validation GECOS.
- Refuser les mots "mot de passe, passe, mot, putorius"
Désormais, dès que nous avons défini la politique, nous pouvons modifier le fichier
/etc/security/pwquality.conf
pour renforcer les exigences de complexité des mots de passe. Voici un exemple de fichier de commentaires pour une meilleure compréhension.
Comme vous l'avez peut-être remarqué, certains paramètres de notre fichier sont redondants. Par exemple, le paramètre
minclass
redondant, car nous utilisons déjà au moins deux caractères de la classe en utilisant les champs de
[u,l,d,o]credit
. Notre liste de mots qui ne peuvent pas être utilisés est également redondante, car nous avons interdit la répétition de toute classe 4 fois (tous les mots de notre liste sont écrits en minuscules). J'ai inclus ces options uniquement pour montrer comment les utiliser pour configurer une politique de mot de passe.
Une fois que vous avez créé votre stratégie, vous pouvez forcer les utilisateurs à modifier leur mot de passe lors de leur prochaine connexion.
Une autre chose étrange que vous avez pu remarquer est que les champs de
[u,l,d,o]credit
contiennent un nombre négatif. En effet, les nombres supérieurs ou égaux à 0 donneront le crédit d'utiliser le caractère dans votre mot de passe. Si le champ contient un nombre négatif, cela signifie qu'un certain montant est requis.
Quels sont les prêts?Je les appelle des prêts, car ils expriment précisément leur objectif. Si la valeur du paramètre est supérieure à 0, vous ajoutez le nombre de "crédits par caractère" égal à "x" à la longueur du mot de passe. Par exemple, si tous les paramètres
(u,l,d,o)credit
définis sur 1 et que la longueur de mot de passe requise est 6, vous aurez besoin de 6 caractères pour satisfaire à la longueur requise, car chaque caractère est en majuscule, minuscule, chiffre ou autre caractère vous accordera un prêt.
Si vous définissez
dcredit
sur 2, vous pourriez théoriquement pouvoir utiliser un mot de passe avec une longueur de 9 caractères et obtenir 2 crédits pour les caractères pour les nombres, et le mot de passe peut déjà être 10.
Jetez un oeil à cet exemple. J'ai défini la longueur du mot de passe sur 13, défini dcredit sur 2 et tout le reste sur 0.
$ pwscore Thisistwelve Password quality check failed: The password is shorter than 13 characters $ pwscore Th1sistwelve 18
Ma première vérification a échoué car le mot de passe comptait moins de 13 caractères. La prochaine fois, j'ai changé la lettre «I» en «1» et j'ai reçu deux crédits pour les chiffres, ce qui équivaut à 13 pour le mot de passe.
Test de mot de passeLe package
libpwquality
fournit les fonctionnalités décrites dans l'article. Il est également livré avec le programme
pwscore
, qui est conçu pour vérifier la complexité du mot de passe. Nous l'avons utilisé ci-dessus pour vérifier les prêts.
L'utilitaire
pwscore
lit à partir de
stdin . Exécutez simplement l'utilitaire et écrivez votre mot de passe, il donnera une erreur ou une valeur de 0 à 100.
Le score de qualité du mot de passe est lié au paramètre
minlen
dans le fichier de configuration. En général, un indicateur inférieur à 50 est considéré comme un «mot de passe normal» et surtout comme un «mot de passe fort». Tout mot de passe qui réussit les contrôles de qualité (en particulier les contrôles forcés de
cracklib
) doit résister aux attaques par dictionnaire, et un mot de passe avec un score supérieur à 50 avec le paramètre
minlen
par défaut
minlen
même une
brute force
.
ConclusionLa configuration de
pwquality
est
pwquality
et facile par rapport à l'inconvénient d'utiliser
cracklib
avec l'édition directe de fichiers
pam
. Dans ce guide, nous avons couvert tout ce dont vous avez besoin pour configurer des politiques de mot de passe sur Red Hat 7, CentOS 7 et même les systèmes Ubuntu. Nous avons également parlé du concept de prêt, qui est rarement écrit en détail, de sorte que ce sujet est souvent resté incompréhensible pour ceux qui ne l'avaient pas rencontré auparavant.
Sources:page de manuel pwqualitypage de manuel de pam_pwqualitypage de manuel pwscoreLiens utiles:Choisir des mots de passe sécurisés - Bruce SchneierLorrie Faith Cranor discute de ses études sur les mots de passe à la CMULe dessin animé infâme de xkcd sur Entropy