一 、背景介绍
正常机器如果开启ssh可能会被暴力破解用户密码,可以配置ssh的pam限制登录失败时可以锁定用户一段时间,就算密码输入正确也无法登录,等恢复之后才可以再次进入。
二、具体配置
具体的pam配置在/etc/pam.d下,对ssh服务的位置是:/etc/pam.d/sshd,打开第一行就可以发现引入了password-auth,然后可以直接编辑/etc/pam.d/password-auth,在最上面添加一行:
auth required pam_tally2.so deny=6 unlock_time=300 even_deny_root root_unlock_time=300
even_deny_root表示root用户也会限制
保存后,重启sshd服务即可生效 systemctl restart sshd
查看登录失败统计和清除次数同样使用下面的命令:
pam_tally2 --user root
# 或者简写-u
pam_tally2 -u root
# 清除次数
pam_tally2 --user root --reset
三、类似方案介绍
1、另外ssh还有个通用的配置就是连续尝试几次密码登录失败的话,可以直接断开数据包,这样也可以防止连接一次后不断尝试,编辑配置文件:/etc/ssh/sshd_config,修改下面配置:
MaxAuthTries 3
2、更高级的功能可以引入第三方软件——fail2ban,它可以更精确的拦截来源IP