GNU/Linux >> Tutoriels Linux >  >> Linux

Verrouiller le compte d'utilisateur après n tentatives de connexion infructueuses sous Linux

Le renforcement du serveur Linux est l'une des tâches importantes des administrateurs système en ce qui concerne les serveurs de production. Il est recommandé d'activer la stratégie de connexion ou de tentatives ssh, ce qui signifie que le compte de l'utilisateur doit être verrouillé automatiquement après n nombres de tentatives de connexion ou ssh échouées (ou incorrectes).

Dans les distributions Linux comme CentOS, RHEL et Fedora, cela est réalisé en utilisant le module pam "pam_faillock " et pour les distributions de type Debian, cela peut être réalisé en utilisant " pam_tally2 ” module pam.

Dans ce didacticiel, nous allons apprendre à verrouiller les comptes d'utilisateurs après n tentatives de connexion infructueuses dans CentOS, RHEL, Fedora, Debian et Ubuntu

Pour CentOS/RHEL/Fedora

Ajoutez les lignes suivantes dans deux fichiers /etc/pam.d/password-auth &/etc/pam.d/system-auth,

auth     required       pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth     [default=die]  pam_faillock.so authfail audit deny=3 unlock_time=600
account  required       pam_faillock.so

Où,

  • Audit – il activera les journaux d'audit pour les tentatives de connexion de l'utilisateur dans un fichier journal sécurisé
  • Deny=3 -> il verrouillera l'utilisateur après 3 tentatives de connexion infructueuses, vous pouvez modifier ce numéro selon vos besoins
  • unlock_time=600 -> cela signifie que le compte de l'utilisateur restera verrouillé pendant 10 minutes (600 secondes), si vous voulez que le compte de l'utilisateur soit verrouillé pour toujours, définissez ce paramètre sur "unlock_time=never"

Remarque  :Pour verrouiller le compte root également après n connexions incorrectes, ajoutez "even_deny_root ” paramètre dans les lignes de la section auth, l'exemple est montré ci-dessous

auth    required       pam_faillock.so preauth silent audit even_deny_root deny=3 unlock_time=600
auth    [default=die]  pam_faillock.so authfail audit even_deny_root deny=3 unlock_time=600

Comme nous pouvons le voir ci-dessus, nous avons deux lignes pour la section auth et une ligne pour la section compte, l'ordre est très important lors de l'ajout de ces lignes aux fichiers. L'exemple ci-dessous montre où ces lignes doivent être ajoutées,

[[email protected] ~]# vi /etc/pam.d/password-auth

[[email protected] ~]# vi /etc/pam.d/system-auth

Après avoir apporté des modifications aux deux fichiers, redémarrez le service ssh à l'aide de la commande systemctl ci-dessous,

[[email protected] ~]# systemctl restart sshd

Testons si le compte d'utilisateur sera verrouillé après trois tentatives de connexion infructueuses ou non.

Supposons que nous ayons un compte local avec le nom "pkumar", nous essaierons de ssh notre système Linux avec ce compte avec des mots de passe incorrects,

$ ssh [email protected]
[email protected]'s password:
[email protected]'s password:
[email protected]'s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Affichez maintenant les journaux sécurisés à l'aide de la commande tail,

[[email protected] ~]# tail /var/log/secure

Les journaux ci-dessus confirment que le compte a été verrouillé après trois tentatives de connexion incorrectes, vérifions également à partir de la commande faillock,

[[email protected] ~]# faillock --user pkumar
pkumar:
When                Type  Source                     Valid
2019-12-15 01:50:39 RHOST 192.168.29.157             V
2019-12-15 01:50:43 RHOST 192.168.29.157             V
2019-12-15 01:50:47 RHOST 192.168.29.157             V
[[email protected] ~]#

Pour vider ou effacer ces tentatives de connexion infructueuses, exécutez la commande faillock suivante,

[[email protected] ~]# faillock --user pkumar --reset
[[email protected] ~]# faillock --user pkumar
pkumar:
When         Type  Source         Valid
[[email protected] ~]#

Passons à la distribution de type Debian (Ubuntu, Linux Mint et Debian)

Pour Debian, Ubuntu et Linux Mint

Ajoutez la ligne suivante dans le fichier "/etc/pam.d/common-auth",

auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit

si vous souhaitez également verrouiller le compte root après trois connexions incorrectes, ajoutez la ligne suivante,

auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit even_deny_root root_unlock_time=600

Où :

  • Onerr=fail –> En cas d'erreur, émettre un échec
  • deny=3 –> Après trois tentatives de connexion infructueuses, le compte sera verrouillé
  • unlock_time=600 –> Cela signifie que le compte restera verrouillé pendant 10 minutes ou 600 secondes
  • audit -> Cela signifie auditer les journaux dans le fichier audit.log
  • even_deny_root –> Verrouiller le compte root après trois connexions incorrectes
  • root_unlock_time=600 –> Le compte root restera verrouillé pendant 10 minutes ou 600 secondes après 3 tentatives de connexion infructueuses

Ajoutons la ligne de discussion ci-dessus dans le fichier "/etc/pam.d/common-auth ” à l'aide de l'éditeur vi,

[email protected]:~$ sudo vi /etc/pam.d/common-auth

Après avoir apporté les modifications ci-dessus, enregistrez et quittez le fichier et redémarrez le service ssh à l'aide de la commande suivante,

[email protected]:~$ sudo systemctl restart sshd

Testons si les comptes sont verrouillés après 3 connexions ssh incorrectes,

Supposons que nous ayons un utilisateur "devops" local, nous essaierons de ssh le système Ubuntu avec des mots de passe incorrects

$ ssh [email protected] 
[email protected]'s password: 
[email protected]'s password: d
[email protected]'s password: 
Permission denied (publickey,password).

Maintenant, affichez le fichier journal d'authentification pour voir si des tentatives de connexion incorrectes sont capturées ou non,

[email protected]:~$ tail /var/log/auth.log

Les journaux ci-dessus confirment que le compte a été verrouillé, vérifions à partir de la commande pam_tally2,

[email protected]:~$ sudo pam_tally2 -u devops
Login       Failures Latest failure     From
devops      6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$

Pour effacer ces tentatives de connexion infructueuses, utilisez la commande pam_tally2 suivante,

[email protected]:~$ sudo pam_tally2 -u devops --reset
Login        Failures Latest failure     From
devops       6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$
[email protected]:~$ sudo pam_tally2 -u devops
Login        Failures Latest failure     From
devops       0
[email protected]:~$

C'est la conclusion de l'article, n'hésitez pas à partager les retours et commentaires.


Linux
  1. 11 façons de trouver les informations de compte d'utilisateur et les détails de connexion sous Linux

  2. Activer la connexion automatique des invités dans Linux Mint 12 "Lisa"

  3. Masquer les noms d'utilisateur sur l'écran de connexion dans Linux Mint 12

  4. Une introduction à la surveillance des comptes utilisateur Linux

  5. Kali Linux a échoué après la mise à niveau

Comment forcer l'utilisateur à changer de mot de passe lors de la prochaine connexion sous Linux

Commande userdel - Supprimer le compte d'utilisateur du système Linux

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Commande pam_tally2 - verrouiller et déverrouiller les échecs de connexion ssh sous Linux

login Exemples de commandes sous Linux

Impossible de déverrouiller le compte utilisateur Linux