一、检查服务器密码复杂度策略:
1:检查密码复杂度策略中设置的大写字母个数
2:检查密码复杂度策略中设置的小写字母个数
3:检查密码复杂度策略中设置的数字个数
4:检查密码复杂度策略中设置的特殊字符个数
CentOS7系统:
CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
修改 /etc/pam.d/system-auth 文件,/etc/pam.d/system-auth 文件默认配置如下:
使用pam_pwquality模块设置密码复杂度,改动如下:------>
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
改为:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数
参数含义:尝试次数:3,最小密码长度:8;最少大写字母个数:1;最少小写字母个数:2;最少数字个数:1;最少特殊字符个数:1
二、检查是否设置口令生存周期
CentOS7系统:
修改 /etc/login.defs 文件,在 /etc/login.defs 中,默认一般是:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
更改设置如下:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_MIN_LEN 6
PASS_WARN_AGE 30
注意:此处的更改优先级低于 chage 命令的设置
注意:更改完后,对所有新创建的用户生效。对已经存在的用户无效
参数含义:
PASS_MAX_DAYS 口令生存周期
PASS_MIN_DAYS 口令更改最小间隔天数
PASS_MIN_LEN 口令最小长度,已经被 PAM 模块取代,所以这个选项并不生效
PASS_WARN_AGE 口令过期前警告天数
建议:ansible那他机器的最好不要改,设置为永久。
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
三、检查密码重复使用次数限制
Redhat:编辑/etc/pam.d/system-auth文件
修改设置如下
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
修改为:
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
补充操作说明
只需在password sufficient这一行加上remember=5即可
四、检查是否配置账户认证失败次数限制
Redhat:
编辑/etc/pam.d/system-auth文件
配置:
auth required pam_tally.so deny=5 unlock_time=600
account required pam_tally.so
找到 pam_tally.so 或 pam_tally2.so 的位置
[root@redis1 ~]# find / -name "pam_tally*.so"
/usr/lib64/security/pam_tally2.so
配置 /etc/pam.d/system-auth文件:
auth required pam_tally.so deny=5 unlock_time=300
account required pam_tally.so
如图: