Comment verrouiller les comptes d'utilisateurs après des tentatives de connexion ratées

Comment verrouiller les comptes d'utilisateurs après des tentatives de connexion ratées

Ce guide montrera comment verrouiller le compte d'un utilisateur système après un nombre spécifiable de tentatives de connexion ratées dans Centos, Rhel et Fedora distribution. Ici, l'objectif est de faire respecter la sécurité simple du serveur en verrouillant le compte d'un utilisateur après un nombre consécutif d'authentifications infructueuses.

Lire aussi: Utilisez PAM_TALLY2 pour verrouiller et déverrouiller les tentatives de connexion SSH

Cela peut être réalisé en utilisant le pam_faillock module qui aide à verrouiller temporaire les comptes d'utilisateurs en cas de multiples tentatives d'authentification échouées et conserve un enregistrement de cet événement. Échec des tentatives de connexion sont stockées dans des fichiers par utilisateur dans le répertoire Tally qui est / var / run / faillock / par défaut.

pam_faillock fait partie de Linux Pam (Modules d'authentification enfichables), un mécanisme dynamique pour la mise en œuvre des services d'authentification dans les applications et divers services système que nous avons brièvement expliqués sous la configuration de PAM pour auditer l'activité du shell de connexion des utilisateurs.

Comment verrouiller les comptes d'utilisateurs après des authentifications ratées consécutives

Vous pouvez configurer les fonctionnalités ci-dessus dans le / etc / pam.D / System-Auth et / etc / pam.d / mot de passe-auth fichiers, en ajoutant les entrées ci-dessous au authentification section.

Auth exigé PAM_FALLOCK.Donc Preauth Silent Audit Deny = 3 Unlock_time = 600 Auth [Default = Die] PAM_FALLOCK.So Authfail Audit Deny = 3 unlock_time = 600 

Où:

  • Audit - Permet l'audit des utilisateurs.
  • refuser - utilisé pour définir le nombre de tentatives (3 dans ce cas), après quoi le compte d'utilisateur doit être verrouillé.
  • se débrouiller - définit le temps (300 secondes = 5 minutes) pour laquelle le compte doit rester verrouillé.

Notez que l'ordre de ces lignes est très important, les mauvaises configurations peuvent entraîner la verrouillage de tous les comptes d'utilisateurs.

Le authentification La section dans les deux fichiers doit avoir le contenu ci-dessous organisé dans cet ordre:

Auth exigé PAM_ENV.donc Auth exigé PAM_FALLOCK.Donc Preauth Silent Audit Deny = 3 Unlock_time = 300 autheat suffisant pam_unix.donc nullok try_first_pass auth [default = die] pam_faillock.So authfail Audit deny = 3 unlock_time = 300 AUTH requis PAM_SUCCEPED_IF.Donc uid> = 1000 Quiet_Success Auth requis PAM_DENY.donc 

Ouvrez maintenant ces deux fichiers avec votre choix d'éditeur.

# vi / etc / pam.D / System-Auth # vi / etc / pam.d / mot de passe-auth 

Les entrées par défaut dans authentification Section Les deux fichiers ressemblent à ceci.

#% Pam-1.0 # Ce fichier est généré automatiquement. # Les modifications de l'utilisateur seront détruites la prochaine fois qu'Authconfig est exécuté. Auth exigé PAM_ENV.donc authentique suffisant pam_fprintd.Alors authentique suffisant Pam_Unix.So nullok try_first_pass authans requis pam_succeed_if.Donc uid> = 1000 silencieux Auth requis Pam_Deny.donc 

Après avoir ajouté les paramètres ci-dessus, il devrait apparaître comme suit.

#% Pam-1.0 # Ce fichier est généré automatiquement. # Les modifications de l'utilisateur seront détruites la prochaine fois qu'Authconfig est exécuté. Auth exigé PAM_ENV.donc Auth exigé PAM_FALLOCK.Donc Preauth Silent Audit Deny = 3 Unlock_time = 300 autheat suffisant pam_fprintd.Alors authentique suffisant Pam_Unix.donc nullok try_first_pass auth [default = die] pam_faillock.So authfail Audit deny = 3 unlock_time = 300 AUTH requis PAM_SUCCEPED_IF.Donc uid> = 1000 silencieux Auth requis Pam_Deny.donc 

Puis ajoutez l'entrée en surbrillance suivante au compte Section dans les deux fichiers ci-dessus.

compte requis PAM_UNIX.Alors compte suffisant de PAM_LOCALUSER.Alors compte suffisant de pam_succeed_if.So uid < 500 quiet account required pam_permit.so compte requis PAM_FAILLOCK.donc 

Comment verrouiller le compte racine après les tentatives de connexion ratées

Pour verrouiller le compte racine après les tentatives d'authentification ratées, ajoutez le même_deny_root option aux lignes dans les deux fichiers dans le authentification section comme celle-ci.

Auth exigé PAM_FALLOCK.Donc, pré-auteur audit silencieux nier = 3 même_deny_root unlock_time = 300 auth [default = die] pam_faillock.So Authfail Audit Deny = 3 même_deny_root look_time = 300 

Une fois que vous avez tout configuré. Vous pouvez redémarrer les services d'accès à distance comme SSHD, Pour que la politique ci-dessus prenne effet, c'est si les utilisateurs utiliseront SSH pour se connecter au serveur.

# systemctl redémarrer sshd [sur Systemd] # service sshd redémarrer [sur Sysvinit]] 

Comment tester les tentatives de connexion échouées de l'utilisateur SSH

À partir des paramètres ci-dessus, nous avons configuré le système pour verrouiller le compte d'un utilisateur après 3 Échec des tentatives d'authentification.

Dans ce scénario, l'utilisateur Tecmint essaie de passer à l'utilisateur aaronkilik, mais après 3 Connects incorrects en raison d'un mauvais mot de passe, indiqué par le «Permission refusée»Message, l'utilisateur Aaronkilik Le compte est verrouillé comme indiqué par «échec d'authentification»Message de la quatrième tentative.

Tester les tentatives de connexion échouées de l'utilisateur

L'utilisateur racine est également informé des tentatives de connexion échouées sur le système, comme indiqué dans la capture d'écran ci-dessous.

Message de connexion échoué tente

Comment afficher les tentatives d'authentification ratées

Vous pouvez voir tous les journaux d'authentification ratés à l'aide du faillock Utilité, qui est utilisée pour afficher et modifier le journal d'échec d'authentification.

Vous pouvez afficher les tentatives de connexion ratées pour un utilisateur particulier comme celui-ci.

# Faillock --User Aaronkilik 
Afficher les tentatives de connexion échouées de l'utilisateur

Pour afficher toutes les tentatives de connexion infructueuses, exécutez Faillock sans aucun argument comme ainsi:

# faillock 

Pour effacer les journaux d'échec d'authentification d'un utilisateur, exécutez cette commande.

# FALLOCK --User AaronKilik - Resset ou # FAIL - RENET #CLEARS Tous les enregistrements de défaillance d'authentification 

Enfin, pour dire au système de ne pas verrouiller les comptes d'utilisateur ou d'utilisateur après plusieurs tentatives de connexion infructueuses, ajoutez l'entrée marquée en couleur rouge, juste au-dessus de l'endroit où pam_faillock est d'abord appelé sous le authentification Section dans les deux fichiers (/ etc / pam.D / System-Auth et / etc / pam.d / mot de passe-auth) comme suit.

Ajouter simplement le côlon complet séparé noms d'utilisateur à l'option utilisateur.

Auth exigé PAM_ENV.donc auth [Success = 1 default = ignore] pam_succeed_if.Donc, utilisateur à Tecmint: Aaronkilik Auth exigé PAM_FALLOCK.Donc Preauth Silent Audit Deny = 3 Unlock_time = 600 Auth suffisant PAM_UNIX.donc nullok try_first_pass auth [default = die] pam_faillock.So.Donc uid> = 1000 Quiet_Success Auth requis PAM_DENY.donc 

Pour plus d'informations, voir le pam_faillock et faillock pages d'homme.

# man pam_faillock # man faillock 

Vous aimerez peut-être également lire ces articles utiles suivants:

  1. TMOUT - Shell Linux déconnecté automatique quand il n'y a pas d'activité
  2. Mode utilisateur unique: réinitialisation / récupération du compte de compte d'utilisateur racine oublié
  3. 5 meilleures pratiques pour sécuriser et protéger le serveur SSH
  4. Comment obtenir des alertes par e-mail de connexion SSH racine et utilisateur

C'est tout! Dans cet article, nous avons montré comment appliquer la sécurité simple du serveur en verrouillant le compte d'un utilisateur après le nombre de connexions incorrectes ou des tentatives d'authentification ratées. Utilisez le formulaire de commentaire ci-dessous pour partager vos requêtes ou vos réflexions avec nous.