Comment verrouiller les utilisateurs après 5 tentatives de connexion infructueuses?
J'ai rassemblé quelques distributions / versions pour savoir comment le faire, mais je ne peux pas le tester.
RHEL4 : en ajoutant:
auth required /lib/security/$ISA/pam_tally.so no_magic_root
account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root
à:
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd
RHEL4 : ???
SLES9 : en ajoutant:
auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root
à:
/etc/pam.d/login
/etc/pam.d/sshd
SLES11 ou SLES10 : en ajoutant:
auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time
à:
/etc/pam.d/common-auth
ET en ajoutant:
account required pam_tally.so
à:
/etc/pam.d/common-account
QUESTION : Quelqu'un peut-il confirmer qu'il s'agit du bon / bon moyen de verrouiller les utilisateurs après 5 tentatives de connexion infructueuses? OU COMMENT FAIRE?
ps:
/sbin/pam_tally --user USERNAME --reset
est une chose utile à faire avant de faire cela? Puis-je verrouiller l'utilisateur root avec ces derniers? L'édition de PAM est une chose très sensible, car les gens pourraient se verrouiller du serveur (je veux dire par exemple: l'utilisateur root). Des indices lorsque vous faites cela?
no_magic_root
Réponses:
Vous voudrez peut-être jeter un œil à fail2ban. Il peut être configuré pour verrouiller un compte après un nombre défini de tentatives infructueuses, puis se déverrouiller après une période définie.
http://www.fail2ban.org/wiki/index.php/Downloads
Si vous êtes vraiment sérieux au sujet de l'utilisation
pam_tally
, vous voudrez probablement l'utiliser à lapam_tally2
place. Doit être installé avec tout package PAM actuel. Vous pouvez faire un homme pam_tally2 pour voir comment l'utiliser.Voici un exemple pour vous aider à démarrer. Ajoutez ce qui suit au début de la section d' authentification dans le fichier pam
/etc/pam.d/password-auth
:Dans le même fichier, ajoutez ceci à la section compte:
Les paramètres ci-dessus sont les suivants:
file=/var/log/tallylog
- Le fichier journal par défaut est utilisé pour conserver le nombre de connexions.deny=3
- Refuser l'accès après 3 tentatives et verrouiller l'utilisateur.even_deny_root
- La politique s'applique également à l'utilisateur root.unlock_time=1200
- 20 min. (60 sec. * 20 min. = 1200 sec.)Si vous ne voulez pas verrouiller root, remplacez even_deny_root par magic_root .
Il est douteux que vous souhaitiez verrouiller le compte root. Vous voudrez peut-être faire quelque chose comme ceci à la place, où le compte root peut être verrouillé, mais uniquement pour une durée plus courte que les autres comptes:
Cela ne bloquera le compte root que pendant une minute, tout le monde les 1200 secondes normales.
Un exemple de fichier journal se présenterait comme suit:
Vous pouvez vous renseigner sur les comptes verrouillés en utilisant la commande pam_tally2:
Vous pouvez déverrouiller la restriction comme suit:
Maintenant, le compte apparaît dans pam_tally2 comme ceci:
Les références
la source
pam_tally2
m'a d'abord confondu, mais je l'ai compris après avoir suiviman pam_tally2
-la formulation ci-dessus est un peu déroutante, car vous n'ajoutez en fait que la
pam_tally2.so
ligne.vous pouvez donc soit l'éditer
/etc/pam.d/login
et l'ajouter sous toutes les autresauth
lignes:ou si vous en avez,
/etc/pam.d/system-auth
vous pouvez l'ajouter ici.aucun redémarrage ou rechargement d'un service n'est requis - il devient immédiatement actif pour les nouvelles connexions locales.
Remarque: si vous souhaitez vous inscrire
pam_tally2
àsshd
ou à d'autres services à distance, vous devrez également ajouter la ligne à/etc/pam.d/sshd
et / ou/etc/pam.d/password-auth
pour vérifier que cela fonctionne, faites une tentative de connexion échouée avec un utilisateur valide, puis exécutez
pam_tally2
par exemple, pour un utilisateur nommé
jacob
run:et il produira quelque chose comme:
si trop de tentatives de connexion échouent et que le compte est verrouillé, vous pouvez déverrouiller manuellement le compte:
la source