Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.2. 使用 authconfig配置系统密码

4.2.1. 密码安全性

如果密码以纯文本格式存储,它们很容易被破解、未经授权的访问或篡改。为防止这种情况,可以使用加密哈希算法安全地存储密码哈希摘要。IdM 中支持的推荐哈希算法是 SHA-512,它使用 64 位词语,以及 salt 和扩展来实现额外的安全性。为确保向后兼容,还支持 SHA-256、DES、BigCrypt 和 MD5 哈希算法。
重要
如果您不需要向后兼容,请只使用 SHA-512,因为它更安全。

4.2.1.1. 在 UI 中配置密码哈希

Local Authentication Options 选项卡设置如何保存本地密码。Password Hashing Algorithm 下拉菜单将算法设置为安全地存储密码哈希。
  1. 打开 authconfig UI,如 第 2.2.3 节 “启动 authconfig UI” 所述。
  2. 打开 Advanced Options 选项卡。
  3. 选择在 Password Hashing Algorithm 下拉菜单中使用的算法。
  4. 单击应用 按钮。

4.2.1.2. 在命令行中配置密码哈希

要设置或更改用于安全存储用户密码摘要的哈希算法,请使用 --passalgo 选项和算法的短名称。以下示例使用 SHA-512 算法:
[root@server ~]# authconfig --passalgo=sha512 --update

4.2.2. 密码复杂性

密码复杂性 设置本地用户帐户必须允许密码的强程度。复杂性是长度和字符类变化的组合。查看它的一种方式是,有两个部分可以为复杂密码设置策略:确定哪些字符类型可以在密码中使用(如大写字母和小写字母及特殊字符),以及在密码中使用这些字符的方式(必须持续多长时间,以及这些字符可以重复的频率)。

4.2.2.1. 在 UI 中配置密码复杂性

  1. 打开 authconfig UI,如 第 2.2.3 节 “启动 authconfig UI” 所述。
  2. 打开 Password Options 选项卡。
  3. 为密码设置 最低要求
    • 密码的最小长度
    • 密码必须使用的最小字符类数。
  4. 启用 必须 用于密码的字符类。例如,大写字母可以与任何密码一起使用,但如果选择了 Uppercase 复选框,则每个密码都必须使用大写字母。
  5. 设置字符类可以连续重复的次数。(如果设置为零,则没有重复限制。)
    对于 相同的 Character 字段,这设置可重复单个字母或字符的频率。例如,如果设置为 2,则允许 ssecret,但 sssecret 被拒绝。
    同样,同类 会对字符类(大写、数字、特殊字符)的任意字符的多次设置限制。例如,如果设置为 3,secret!! 是允许的,但 secret!@secret1234 将被拒绝。
  6. 单击应用 按钮。

4.2.2.2. 在命令行中配置密码复杂性

在注释行中定义密码复杂性时,有两个半值用于设置要求。第一种方法是设置有关如何构建密码的要求(密码长度、字符长度、必须重复的字符数)以及必须使用的不同类型的字符:
  • 最小长度(--passminlen)。
  • 必须使用的不同类型的字符的最小数量(--passminclass)。
  • 字符可以连续重复的次数(--passmaxrepeat)。将它设置为零表示没有重复限制。
  • 可以在一行中使用相同类型的字符(如数字)的时间数(--passmaxclassrepeat)。将它设置为零表示没有重复限制。
第二半是定义允许用于密码的字符类型或类别。所有字符类型都是隐式允许的;使用 --enablereqType 选项表示绝对必需一个给定类,或者拒绝密码。(相反,还可明确拒绝类型。)
  • 大写字母(--enablerequpper)
  • 小写字母(--enablereqlower)
  • 数字(--enablereqdigit)
  • 特殊字符(--enablereqother)
例如,这设置最少 9 个字符的长度,不允许字符或类重复两次,并且需要大写和特殊字符。
[root@server ~]# authconfig --passminlen=9 --passminclass=3 --passmaxrepeat=2 -passmaxclassrepeat=2 --enablerequpper --enablereqother --update