一、应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

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