Centos7登录失败的用户锁定策略配置
在实际工作中为了防止攻击者暴力破解SSH登陆密码,有必要配置登录失败用户锁定策略。
操作系统:Centos7 主机1:192.168.74.205 主机2:192.168.74.129
一、配置PAM
编辑“主机2”的 /etc/pam.d/sshd配置文件。 并添加一行:
#%PAM-1.0 # 添加下边一行策略------------------------------ auth required pam_tally2.so onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 # -------------------------------------------- auth required pam_sepermit.so auth substack password-auth auth include postlogin # Used with polkit to reauthorize users in remote sessions -auth optional pam_reauthorize.so prepare account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session required pam_namespace.so session optional pam_keyinit.so force revoke session include password-auth session include postlogin # Used with polkit to reauthorize users in remote sessions -session optional pam_reauthorize.so prepare
-
onerr=fail 表示定义了当出现错误时的缺省返回值; even_deny_root 表示也限制root用户; deny 表示设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户; unlock_time 表示设定普通用户锁定后,多少时间后解锁,单位是秒; root_unlock_time 表示设定root用户锁定后,多少时间后解锁,单位是秒;
二、验证配置
然后进行测试。在“主机1”上用ssh连接“主机2”的账号user。 正常情况: 密码试探: 然后输入正确密码: 依然拒绝连接。
三、解锁用户
然后在“主机2”上使用如下命令解锁用户就可以正常登录了。
pam_tally2 -r -u 用户名
四、使用命令锁定并解锁用户
# 锁定用户 passwd -l $user # 查看用户状态 passwd -S $user # 解锁用户 passwd -u $user
五、其他加固建议
可以参考
上一篇:
Java架构师技术进阶路线图