a) 要求至少8位,并且由3种类型组成大小写,数字,字符组成
在RHEL 6的 “/etc/pam.d/passwd”文件中添加如下这一行直接添加约束条件:
~]# vi /etc/pam.d/passwd password required pam_cracklib.so retry=3 minlen=8 minclass=4 maxsequence=3 maxrepeat=3
RHEL 7在“/etc/security/pwquality.conf”文件中添加以下4行约束条件:
~]# vi /etc/security/pwquality.conf minlen=8 minclass=4 maxsequence=3 maxrepeat=3 retry=3 定义登录/修改密码失败时,可以重试的次数; type=xxx 当添加/修改密码时,系统给出的缺省提示符是什么,用来修改缺省的密码提示文本。默认是不修改的,如上例。 minlen=8 定义用户密码的最小长度为8位 ucredit=-2 定义用户密码中最少有2个大写字母 (数字为负数,表示至少有多少个大写字母;数字为正数,表示至多有多少个大写字母;下面同理) lcredit=-4 定义用户密码中最少有4个小写字母 dcredit=-1 定义用户密码中最少有1个数字 ocredit=-1 定义用户密码中最少有1个特殊字符(除数字、字母之外) remember=5 修改用户密码时最近5次用过的旧密码就不能重用了
b) 不能与前10次密码重复
~]# vi /etc/pam.d/system-auth use_authtok 后面添加 remember=5 RHEL7 ~]# sed -i "s/remember=5/remember=10/g" /etc/pam.d/system-auth RHEL6 and RHEL 7.1/7.2 ~]# sed -i 's/\(use_authtok\).*/\1 remember=10/' /etc/pam.d/system-auth
c) 每90天修改一次
全局配置 ~]# vi /etc/login.defs #更改 PASS_MAX_DAYS 90 #密码的最大有效期, 99999:永久有期 PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改 PASS_MIN_LEN 8 #密码最小长度,使用pam_cracklib module,该参数不再有效 PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码 之前已经创建的用户需要单独修改有效期 ~]# chage -M 90 -W 7 osa
d) 自动Session锁定:10分钟空闲
~]# vim /etc/ssh/sshd_config #SSH 会话用户在10分钟内不活动后自动登出。 ClientAliveInterval 600 ClientAliveCountMax 0 测试生效的配置 ~]# cat /etc/profile export TMOUT=600 readonly TMOUT ~]# source /etc/profile
e) 账号自动锁定:5次失败后lock
~]# vi /etc/pam.d/sshd #第一行配置 auth required pam_tally2.so deny=5 unlock_time=1800
f) 禁止ROOT登录
禁止root登录
~]# vi /etc/sshd/sshd_config PermitRootLogin no ~]# systemctl restart sshd