本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/122
一、应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
Linux下对于新添加的用户,用户密码过期时间是从/etc/login.defs中PASS_MAX_DAYS提取的,普通系统默认就是99999
在linux,设置密码复杂度的方法有几个
- 一个是在/etc/login.defs文件,里面几个选项
PASS_MAX_DAYS 90 #密码最长过期天数
PASS_MIN_DAYS 80 #密码最小过期天数
PASS_MIN_LEN 10 #密码最小长度
PASS_WARN_AGE 7 #密码过期警告天数
- 另外一个方法是,修改/etc/pam.d/system-auth文件 找到 password requisite pam_cracklib.so这么一行替换成如下:
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
参数含义:
尝试次数:5
最少不同字符:3
最小密码长度:10
最少大写字母:1
最少小写字母:3
最少数字:3
3.查看某个用户的密码设置情况
chage -l username
4.修改用户的密码过期时间
chage -M 99999 username 设置密码永不过期
chage -M 90 username 设置密码过期时间为90天
二、 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
1.备份相关文件:
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
cp /etc/pam.d/login /etc/pam.d/login.bak
2.检查是否有pam_tally2.so模块
[root@mycloud security]# find /lib* -iname "pam_tally2.so"
/lib64/security/pam_tally2.so
[root@mycloud security]# find /lib* -iname "pam_tally.so"
[root@mycloud security]# cat /etc/pam.d/sshd
3.终端登录失败处理功能 编辑系统/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 次登录失败即锁定。
4.远程登录失败处理功能 上面只是限制了从终端登陆,如果想限制ssh远程的话, 要改的是/etc/pam.d/sshd这个文件,添加的内容跟上面一样!如果在操作中间出现下面这个错误:
Dec 7 15: 06: 51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: No such file or directory
Dec 7 15: 06: 51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM adding faulty module: /lib64/security/pam_tally.so
执行以下命令
[root@mycloud ~]# cd /lib64/security/
[root@mycloud ~]#ln -s pam_tally2.so pam_tally.so
5.配置连接超时自动退出功能
[root@mycloud /]$ cd ~
[root@mycloud ~]$ echo "TMOUT=90">>/etc/profile
[root@mycloud ~]$ source /etc/profile
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/122