Souvent, une exigence dans un environnement sécurisé consiste à verrouiller les utilisateurs après qu'ils aient saisi un mot de passe erroné un certain nombre de fois. Cela rend le système protégé contre les attaques comme les attaques par dictionnaire de mots de passe. Le message décrit comment verrouiller un compte après N tentatives de connexion incorrectes à l'aide de fichiers pam.d .
Verrouiller l'utilisateur après N connexions incorrectes
1. Tout d'abord, effectuez une sauvegarde du fichier /etc/pam.d/password-auth et /etc/pam.d/system-auth . Ajoutez ensuite les lignes suivantes au fichier.
auth required pam_tally2.so file=/var/log/tallylog deny=N even_deny_root unlock_time=1200 account required pam_tally2.so
Ici,
file=/var/log/tallylog – Les tentatives de connexion infructueuses sont consignées ici.
refuser – nous permet de définir la valeur N (nombre de tentatives) après laquelle le compte utilisateur doit être verrouillé.
even_deny_root – s'assure que la même règle s'applique également à l'utilisateur root. Pour exclure l'utilisateur root de cette stratégie, supprimez simplement le paramètre de la ligne. [Facultatif]
unlock_time – est le temps pendant lequel le compte doit rester verrouillé [Facultatif]
L'exemple /etc/pam.d/system-auth ressemblera à ceci :
# cat /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
2. Modifiez le fichier /etc/ssh/sshd_config pour augmenter le MaxAuthTries valeur à une valeur supérieure au nombre ci-dessus.
# vi /etc/ssh/sshd_config MaxAuthTries 10
3. Enregistrez le fichier après avoir coché le ChallengeResponseAuthentication no est déjà défini dans le fichier.
# vi /etc/ssh/sshd_config ChallengeResponseAuthentication no
4. Redémarrez le service sshd.
# service sshd restart
Réinitialiser le verrou
1. journal des échecs La commande rapporte le nombre de tentatives de connexion infructueuses pour un utilisateur spécifique :
# faillog -u [username]
2. Si pam_tally2.so est utilisé, la commande pam_tally2 peut être utilisée pour vérifier le nombre de tentatives de connexion infructueuses pour un utilisateur spécifique :
# pam_tally2 -u [username]
3. Pour réinitialiser le verrouillage d'un utilisateur, pam_tally2 commande peut être utilisée :
# pam_tally2 --user=[username] --reset