本文要实现的功能:
防范恶意暴力破解服务器密码,当尝试密码错误超过设定的次数后,就会锁定该账户多长时间(自行设定),时间过后即可自行解锁,这样可以增加攻击者的成本。
centos 7
1、检查是否有pam_tally2.so模块
[root@rujf]find /lib64/security -iname "pam_tally2.so"
/lib64/security/pam_tally2.so
2、登录失败处理功能策略(服务器终端)
编辑系统 /etc/pam.d/system-auth 文件,在 auth 字段所在的那一部分策略下面添加如下策略参数:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30
注意添加的位置,要写在第一行,即#%PAM-1.0的下面。
以上策略表示:普通帐户和 root 的帐户登录连续 3 次失败,就统一锁定 40 秒, 40 秒后可以解锁。如果不想限制 root 帐户,可以把 even_deny_root 、 root_unlock_time这两个参数去掉, root_unlock_time 表示 root 帐户的 锁定时间,onerr=fail 表示连续失败,deny=3,表示 超过3 次登录失败即锁定。
注意:
用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。
3、登录失败处理功能策略(ssh远程连接登录)
如果想限制ssh远程的话, 要改的是
/etc/pam.d/sshd这个文件,添加的内容跟上面一样!