如何在RHEL Linux中实现密码策略
在本文中,我们将在CentOS/RHEL 7 Linux节点上实现具有特定要求列表的密码策略。
这些要求包含在单独的标题中。
在RHEL/CentOS 7中,我们可以使用pwquality.conf实施密码策略,但是我们也可以继续在/etc/pam.d中使用system-auth
和password-auth
,但是使用pwquality.conf
,实现密码策略的步骤相对简单一些。
实施密码政策
使用RHEL 7,我们可以通过/etc/security/pwquality.conf
实现密码策略,其中pwquality.conf
是libpwquality库的配置。
它提供了一种配置系统密码的默认密码质量要求的方法。
该文件由libpwquality库和使用该库检查和生成密码的实用程序读取。
该文件具有非常简单的"名称=值"格式,可能的注释以字符开头。
行首,行尾以及=
符号周围的空格将被忽略。
要求1.保留使用密码的历史记录(无法重复使用的先前密码的数量)
在" /etc/pam.d/system-auth"和" /etc/pam.d/password-auth"中插入以下内容(在" pam_pwquality.so"行之后):
password requisite pam_pwhistory.so remember=5 use_authtok
要求2.密码大小(新密码的最小可接受大小)。
在/etc/security/pwquality.conf
中插入以下选项:
minlen = 9
新密码的最小可接受大小(如果未禁用信用,则加一个默认值)。
除了新密码中的字符数外,还会为每种不同的字符(其他,大写,小写和数字)提供信用(长度为+1)。
此参数的缺省值为9,这对于所有相同类型字符的旧式UNIX密码均适用,但可能太低而无法利用md5系统的添加安全性。
说明:
在" Cracklib"本身中有一对长度限制," 4太短"限制是硬编码的,定义的限制(6)将在不参考minlen
的情况下进行检查。
如果要求密码长度不能超过5个字符,则不应使用此模块。
要求3.为密码中的位数设置限制。
最小数量的数字字符(dcredit = N)
(N> = 0)这是新密码中包含数字的最大信用额。
如果密码少于或者少于N个数字,则每个数字将为满足当前"最小"值而计数+1. " dcredit"的默认值为1,这是" minlen"的建议值,该值小于10. (N <0)这是新密码必须满足的最小位数。
在/etc/security/pwquality.conf
中插入以下选项:
dcredit = -1
这里-1是密码必须有数字的最低信用额度
要求4.设置密码中大写字符数的限制
最少的大写字母(ucredit = N)
(N> = 0)这是在新密码中使用大写字母的最大功劳。
如果密码中的大写字母少于或者少于N个,则每个字母将为满足当前的" minlen"值而加+1. " ucredit"的默认值为1,这是" minlen"的建议值,该值小于10. (N <0)这是新密码必须满足的最小大写字母数。
在/etc/security/pwquality.conf
中插入以下选项:
ucredit = -1
-1是密码中包含大写字符的最低信用额度。
要求5.为密码中的小写字符数设置限制
最少的小写字母(lcredit = N)
(N> = 0)这是在新密码中使用小写字母的最大功劳。
如果小写字母少于或者少于N个,则每个字母将为满足当前的" minlen"值计算+1. " lcredit"的默认值为1,这是" minlen"的建议值,该值小于10. (N <0)这是新密码必须满足的最小小写字母数。
在/etc/security/pwquality.conf
中插入以下选项:
lcredit = 1
这里1是密码中使用小写字符的最大信用
要求6.设置密码中其他字符数的限制
最少的非字母数字字符(ocredit = N)
(N> = 0)这是在新密码中包含其他字符的最大功劳。
如果密码中的其他字符少于或者少于N个,则每个字符将计数+1以符合当前的" minlen"值。
" ocredit"的默认值为1,这是" minlen"的建议值,该值小于10. (N <0)这是新密码必须满足的其他最小字符数。
在/etc/security/pwquality.conf
中插入以下选项:
ocredit = 1
这里1是密码中包含其他字符的最高信用
"信用值> 0":在新密码中包含各个字符的最大信用。
"信用值<0":在新密码中包含各个字符所需的最低强制信用。
"信用值= 0":对于新密码中的各个字符类别,没有强制性要求。
要求7.在新密码中设置允许的连续连续最大字符数
新密码中所需字符类别的最小数量
在/etc/security/pwquality.conf
中插入以下选项:
minclass = 1
要求8.强制执行root以提高密码的复杂性
在/etc/security/pwquality.conf
中插入以下选项:
enforce_for_root
提示:
如果这样不起作用,则将enforce_for_root
放置在/etc/pam.d/system-auth和/etc/pam.d/password-auth中。