pam_tally2 命令用于在类似 Linux 的操作系统中锁定和解锁 ssh 失败的登录。
要实现安全功能,例如必须在多次登录尝试失败后锁定用户帐户。
我们可以通过名为 pam_tally2 的 pam 模块实现这种安全性。
该模块可以显示用户的登录尝试次数,单独设置计数,解锁所有用户计数。
pam_tally2 分为两部分:pam_tally2.so 和 pam_tally2.
前者是 PAM 模块,后者是一个独立的程序。
pam_tally2 是一个可用于查询和操作计数器文件的应用程序。
在本文中,我们将讨论在 RHEL/CentOS 6.X 中达到固定的 ssh 尝试失败次数后如何锁定和解锁用户的帐户。
默认情况下,pam_tally2 模块已安装在 Linux 中。
要设置锁定和解锁规则,请编辑以下两个文件:/etc/pam.d/system-auth 和 /etc/pam.d/password-auth 并在这两个文件的 auth 部分的开头添加以下行。
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=120
然后在两个文件的帐户部分中添加以下行:
account required pam_tally2.so
/etc/pam.d/system-auth 的示例文件:
/etc/pam.d/password-auth 的示例文件
其中:
file=/var/log/tallylog - 保持登录计数的默认日志文件。
deny=3 - 3 次尝试后拒绝访问并锁定用户。
even_deny_root - 策略也适用于 root 用户。
unlock_time=1200 - 账户将被锁定至 20 分钟后解锁。
现在尝试使用错误的密码登录 Linux 框,我们应该收到错误“权限被拒绝,请重试”错误。
现在使用 pam_tally2 命令检查用户的登录尝试:
# pam_tally2 -u geek Login Failures Latest failure From geek 3 06/14/14 02:01:25 192.168.1.8
现在使用 pam_tally2 命令重置或者解锁用户的帐户:
# pam_tally2 --user geek --reset Login Failures Latest failure From geek 4 06/14/14 02:20:42 192.168.1.8
现在验证登录尝试是否已重置:
# pam_tally2 --user geek Login Failures Latest failure From geek 0