Mise en œuvre de politiques de mots de passe
Linux propose plusieurs outils pour appliquer des politiques de mots de passe, ce qui contribue à maintenir la sécurité du système en garantissant que les utilisateurs choisissent des mots de passe robustes. Dans cette étape, vous allez apprendre à mettre en œuvre des politiques de mots de passe de base.
Définition de l'expiration des mots de passe
La commande chage
permet aux administrateurs de définir des politiques d'expiration des mots de passe. Accédez à votre répertoire de projet :
cd ~/project
Définissons l'âge maximal du mot de passe pour le compte cyberuser
à 90 jours :
sudo chage -M 90 cyberuser
Cette commande définit le nombre maximal de jours pendant lesquels un mot de passe reste valide avant que l'utilisateur ne soit obligé de le changer.
Vous pouvez également définir un âge minimal pour le mot de passe, ce qui empêche les utilisateurs de changer leur mot de passe trop souvent :
sudo chage -m 7 cyberuser
Cette commande oblige l'utilisateur à attendre au moins 7 jours avant de changer à nouveau son mot de passe.
Vérifiez les modifications que vous avez apportées :
sudo chage -l cyberuser
Vous devriez voir les informations mises à jour sur la politique de mot de passe :
Last password change : Jul 15, 2023
Password expires : Oct 13, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Création d'un script de politique de mot de passe
Maintenant, créons un script qui mettra en œuvre des politiques de mots de passe plus avancées. Créez un nouveau fichier nommé cyberpolicy.sh
:
nano ~/project/cyberpolicy.sh
Ajoutez le contenu suivant au fichier :
#!/bin/bash
## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password
## Set password expiration policy for all new users
echo "PASS_MAX_DAYS 90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS 7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE 7" | sudo tee -a /etc/login.defs
echo "Password policy has been updated successfully."
Enregistrez le fichier en appuyant sur Ctrl+O
, puis Entrée
, et quittez nano avec Ctrl+X
.
Rendez le script exécutable :
chmod +x ~/project/cyberpolicy.sh
Ce script définit les politiques de mots de passe suivantes :
- Complexité du mot de passe : Minimum 8 caractères, au moins 3 caractères différents du mot de passe précédent, avec 3 tentatives autorisées
- Expiration du mot de passe : Âge maximal du mot de passe de 90 jours
- Restriction de changement de mot de passe : Âge minimal du mot de passe de 7 jours
- Avertissement de mot de passe : 7 jours avant l'expiration du mot de passe
Dans un environnement de production, vous exécuteriez ce script pour appliquer ces politiques. Cependant, pour ce laboratoire, nous allons simplement examiner le contenu pour comprendre comment les politiques de mots de passe peuvent être mises en œuvre.