CentOS 密码安全策略

目录

1. 设置密码长度和有效期

每180天需要更改密码,并且会提前7天提醒用户密码快到期了。

bash
vim /etc/login.defs

PASS_MAX_DAYS   180
PASS_MIN_DAYS   1
PASS_MIN_LEN    8
PASS_WARN_AGE   7

2. 设置密码复杂度

检查是否安装了 cracklib 模块

bash
rpm -qa | grep cracklib
bash
vim /etc/pam.d/system-auth

参数说明

retry=N 如果用户输入的密码强度不够可以重复输入的次数,默认值是 1,一般设置为 3。 difok=M 新密码与前一个旧密码之间至少有 M 个字符不相同 minlen=N 密码最小长度 dcredit=N 密码中至少有几个数字(至少 N<0 或至多 N>=0) ucredit=N 密码中至少有几个大写字母(至少 N<0 或至多 N>=0) lcredit=N 密码中至少有几个小写字母(至少 N<0 或至多 N>=0) ocredit=N 密码中至少有几个特殊字符(至少 N<0 或至多 N>=0)

bash
password    requisite     pam_cracklib.so try_first_pass retry=3 difok=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

防止用户再次使用以前使用过的密码remember=3(3次)

bash
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=3

4、配置登录失败处理

失败5次后需要180秒才解锁

bash
auth        required      pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300

5、配置用户最大登录数

bash
vim /etc/security/limits.conf

root – maxlogins 3
dmfy – maxlogins 3

登录超时

bash
vim /etc/profile
export TMOUT=600

避免普通用户 su 到 root 用户

bash
vim /etc/pam.d/su

auth            sufficient      pam_rootok.so debug
auth            required        pam_wheel.so group=wheel

usermod -G wheel [username] #加入wheel用户组
ESC