skip to content

Recherche

Passwd & Faillock

Gestion des comptes verrouillés & mots de passe sur Linux !

Gestion des comptes utilisateur, mots de passe expirés, verrouillage et déverrouillage sur un système Linux hardené.

👤 Informations compte

📋 Voir l’état complet d’un compte

sudo chage -l nomducompte

✅ Vérifier le statut du mot de passe

sudo passwd -S nomducompte
# "LK" = locked, "P" = actif, "NP" = pas de mot de passe

⚙️ Consulter les stratégies système

sudo cat /etc/login.defs
 
# Paramètres importants :
# PASS_MAX_DAYS   90    # Durée max mot de passe
# PASS_MIN_DAYS   1     # Délai min entre changements  
# PASS_WARN_AGE   7     # Avertissement avant expiration

🔒 Verrouillage des comptes

Deux types de verrouillage :

🔒 Lock via passwd -l (manuel)

  • Ajoute un ”!” devant le hash dans /etc/shadow
  • L’utilisateur ne peut plus se connecter avec son mot de passe
  • Verrouillage permanent jusqu’au déverrouillage manuel

⚠️ Lock via faillock (automatique)

  • Surveille les tentatives de connexion ratées
  • Verrouillage temporaire après plusieurs échecs
  • Protection contre les attaques par bruteforce

🛠️ Gestion des verrouillages

🔒 Verrouiller/Déverrouiller un utilisateur

# Verrouiller
sudo passwd -l nomducompte
 
# Déverrouiller
sudo passwd -u nomducompte

❗ Gérer les échecs de connexion (faillock)

# Voir les échecs d'un utilisateur
sudo faillock --user nomducompte
 
# Réinitialiser les échecs (déverrouiller)
sudo faillock --user nomducompte --reset
 
# Voir tous les utilisateurs avec des échecs
sudo faillock

⚙️ Configuration faillock

📜 Configuration système

# Voir la configuration
sudo cat /etc/security/faillock.conf

Paramètres principaux :

audit              # Active les logs d'audit
silent             # Messages discrets côté client
deny = 3           # Verrouillage après 3 échecs
fail_interval = 900 # Fenêtre de temps (15 min)
unlock_time = 0    # Pas de déverrouillage automatique (0 = manuel)

⏰ Gestion de l’expiration

🔧 Modifier les paramètres d’expiration

# Expiration à 90 jours, avertissement 7 jours avant
sudo chage -M 90 -W 7 nomducompte
 
# Forcer le changement au prochain login
sudo chage -d 0 nomducompte
 
# Désactiver l'expiration
sudo chage -M -1 nomducompte

Paramètres utiles :

  • -M : Durée max du mot de passe (jours)
  • -W : Avertissement avant expiration (jours)
  • -I : Délai d’inactivité avant verrouillage (jours)
  • -E : Date d’expiration du compte

📜 Logs et surveillance

🔍 Consulter les logs de connexion

# Logs d'authentification
sudo cat /var/log/auth.log | grep nomducompte
 
# Logs récents
sudo tail -f /var/log/auth.log
 
# Rechercher les échecs de connexion
sudo grep "Failed password" /var/log/auth.log

📊 Dernières connexions

# Dernières connexions réussies
last nomducompte
 
# Tentatives de connexion échouées
lastb nomducompte

🚨 Diagnostic rapide

🔍 Compte verrouillé ? Checklist :

# 1. Vérifier si passwd est locké
sudo passwd -S nomducompte
 
# 2. Vérifier les échecs faillock
sudo faillock --user nomducompte
 
# 3. Vérifier l'expiration
sudo chage -l nomducompte
 
# 4. Voir les derniers logs
sudo grep nomducompte /var/log/auth.log | tail -5

🔧 Déverrouillage complet

# Déverrouiller passwd + réinitialiser faillock
sudo passwd -u nomducompte && sudo faillock --user nomducompte --reset