密码策略配置
- windows 服务器
- Ubuntu 服务器
- 安装libpam-pwquality密码质量检查库
- 设置密码过期的天数
- 密码策略
- 限制使用过去使用过的密码
- centos 7 服务器
- 设置密码过期的天数
- 设置最小密码长度
- 限制使用过去使用过的密码
- Azure云默认密码策略
windows 服务器
Win+R或右键开始—运行— secpol.msc —帐户策略—密码策略,如下图所示
secpol.msc
enforce passwd history 强制执行passwd历史记录 5
maximum passwd age 密码最长使用期限 180
minimum passwd agee
minimum length 最小长度 8
minimum length audit 最小长度审计8
passwd must meet complexity requirements passwd 必须满足复杂性要求
relax minimum password length limits 放宽最小密码长度限制
store passwords using reversible encryption 使用可逆加密存储密码
Ubuntu 服务器
安装libpam-pwquality密码质量检查库
sudo apt-get update
sudo apt-get install libpam-pwquality
设置密码过期的天数
vim /etc/login.defs# 设置密码到期天数(下面的示例表示 60 天)
PASS_MAX_DAYS 180
# 设置到期警告天数(下面的示例表示 7 天)
PASS_WARN_AGE 7
强制用户更改密码 :如果您希望已存在的用户立即受到新的密码策略的影响,可以使用以下命令使其立即生效:
chage -M 90 username
密码策略
可以根据需要修改这些参数的值,并确保密码策略符合安全要求。修改完/etc/security/pwquality.conf后,系统会自动应用新的密码策略。
vim /etc/security/pwquality.conf
# 设置最小长度(下面的示例表示 8 个字符)
minlen = 8
# 设置新密码所需的最少字符类别数 (大写/小写/数字/其他)
minclass = 2
# 设置新密码中允许的最大连续相同字符数
maxrepeat = 2
# 设置新密码中允许的同类最大连续字符数
maxclassrepeat = 4
# 要求新密码中至少有一个小写字符
lcredit =-1
# 要求新密码中至少有一个大写字符
ucredit = -1
# 新密码至少需要一位数字
dcredit = -1
# 新密码中至少需要一个其他字符
ocredit = -1
# 设置新密码中单调字符序列的最大长度
maxsequence = 2
# 设置新密码中不能出现在旧密码中的字符数
difok = 5
# 检查新密码中是否包含用户密码条目的GECOS字段中超过3个字符的单词
gecoscheck = 1
# 设置密码中不得包含的以空格分隔的单词列表
badwords = denywords1 denywords2 denywords3
限制使用过去使用过的密码
在 pam_unix.so 行中添加 remember 选项,并指定您要记住的密码数量。
例如,如果您希望系统记住最近的5个密码,则可以将 remember 设置为5。确保它在 pam_unix.so 行的结尾处。示例:
vim /etc/pam.d/common-password
# add [remember=*] (example below means 5 gen)
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
password requisite pam_unix.so sha512 shadow remember=5
centos 7 服务器
设置密码过期的天数
vim /etc/login.defs# 设置密码到期天数(下面的示例表示 60 天)
PASS_MAX_DAYS 180
# 设置到期警告天数(下面的示例表示 7 天)
PASS_WARN_AGE 7
强制用户更改密码 :如果您希望已存在的用户立即受到新的密码策略的影响,可以使用以下命令使其立即生效:
chage -M 90 username
设置最小密码长度
可以根据需要修改这些参数的值,并确保密码策略符合安全要求。修改完/etc/security/pwquality.conf后,系统会自动应用新的密码策略。
vim /etc/security/pwquality.conf
minlen: 设置密码最小长度。
minclass: 设置密码中至少包含的字符类别数量(如大写字母、小写字母、数字、特殊字符)。
maxrepeat: 设置密码中连续字符的最大重复次数。
maxclassrepeat: 设置密码中相同字符类别的最大重复次数。
maxsequence: 设置密码中允许的最大字符序列长度。
mindiff: 设置密码中与旧密码的最小差异字符数。
minage: 设置密码修改的最小间隔时间。
maxage: 设置密码的最大生存期。
dcredit: 设置密码中数字字符的最小数量。
ucredit: 设置密码中大写字母的最小数量。
lcredit: 设置密码中小写字母的最小数量。
ocredit: 设置密码中特殊字符的最小数量。
限制使用过去使用过的密码
编辑 PAM 配置文件
在 password 行中添加 remember 选项:并指定您要记住的密码数量。例如,如果您希望系统记住最近的5个密码,则可以将 remember 设置为5。示例:
搜索password 改行包含pam_unix.so 只需在结尾添加 remember=5
vim /etc/pam.d/system-auth
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
#这将导致系统在检查密码是否已使用过时,只会检查最近使用的5个密码。
创建 /etc/security/opasswd 文件,并确保只有 root 用户可以读取和写入该文件。
touch /etc/security/opasswd
chmod 600 /etc/security/opasswd
Azure云默认密码策略
https://docs.azure.cn/zh-cn/entra/identity/authentication/concept-sspr-policy#password-expiration-policies