N次错误登录后锁定用户
- 首先,备份文件 /etc/pam.d/password-auth 和 /etc/pam.d/system-auth 。
然后将以下行添加到文件中。
auth required pam_tally2.so file=/var/log/tallylog deny=N even_deny_root unlock_time=1200 account required pam_tally2.so
其中:
file=/var/log/tallylog 失败的登录尝试记录在这里。
deny 允许我们设置值 N(尝试次数),在此之后用户帐户应该被锁定。
even_deny_root 确保相同的规则也适用于 root 用户。
要从该策略中排除 root 用户,只需从该行中删除参数。
[可选的]
unlock_time 是帐户应保持锁定的时间 [可选]
示例 - /etc/pam.d/system-auth 如下所示:
# 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
- 编辑文件 /etc/ssh/sshd_config 将 MaxAuthTries 值增加到高于上述数字的值。
# vi /etc/ssh/sshd_config MaxAuthTries 10
- 检查文件中是否已设置 ChallengeResponseAuthentication no 后保存文件。
# vi /etc/ssh/sshd_config ChallengeResponseAuthentication no
- 重启sshd服务。
# service sshd restart
安全环境中的要求通常是在用户输入错误密码达到指定次数后锁定用户。
这使系统可以防止诸如密码字典攻击之类的攻击。
该帖子描述了如何使用 pam.d 文件在 N 次错误登录尝试后锁定帐户。
查看更多教程 https://on itroad.com
重置锁
- faillog 命令报告特定用户的失败登录尝试次数:
# faillog -u [username]
- 如果正在使用 pam_tally2.so,则可以使用 pam_tally2 命令检查特定用户的失败登录尝试次数:
# pam_tally2 -u [username]
- 要为用户重置锁,可以使用 pam_tally2 命令:
# pam_tally2 --user=[username] --reset
日期:2020-09-17 00:12:21 来源:oir作者:oir
