龙空技术网

在Red Hat Enterprise Linux 8/9操作系统中如何设置密码策略及复杂度

实战侠 75

前言:

现时各位老铁们对“linux对项目文件夹设置密码”可能比较关怀,同学们都需要知道一些“linux对项目文件夹设置密码”的相关内容。那么小编也在网上搜集了一些对于“linux对项目文件夹设置密码””的相关内容,希望咱们能喜欢,咱们一起来学习一下吧!

在上周刚配合了Linux操作系统安全等保的测评,密码策略及复杂性是必查的最基础内容。在Red Hat Enterprise Linux 8/9和相同版本的CentOS操作系统中,我们并不建议直接修改默认存在/etc/pam.d/目录下的system-auth和password-auth文件。那么我们该如何设置密码策略及复杂性呢?

一、密码复杂度:定期更换策略,避免弱口令

应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;建议操作系统对登录的用户进行身份标识和鉴别,身份鉴别信息配置复杂度要求开启定期更换策略。

解决方案:

修改 /etc/login.defs 文件内容即可,加入如下:

# 密码最大有效期 PASS_MAX_DAYS 180# 两次修改密码的最小间隔时间PASS_MIN_DAYS 1# 密码最小长度PASS_MIN_LEN 8# 密码过期前7天开始提示PASS_WARN_AGE 7
二、密码复杂度:设置密码强度

密码强度主要涉及到密码长短、密码是否包含数字、密码是否包含大写字母、密码是否包含小写字母、密码是否包含其他字符、新密码所需的最小字符种类、密码最大相同字符连续数量、新密码中同一类别允许的最大连续字符数、新密码和旧密码相同字符数数量等。

解决方案:

在Red Hat Enterprise Linux 8/9和相同版本的CentOS操作系统下,我们需要按照如下步骤进行操作:

[root@shizhanxia.com  ]# vi /etc/security/pwquality.confminlen = 8dcredit=-1ucredit = -1lcredit=1ocredit = 1minclass=1maxrepeat=0maxclassrepeat=0difok = 5retry = 3enforce_for_root

扩展阅读一:

minlen=8(新密码的最小可接受大小。

dcredit=-1(密码中包含所需数字的最小数量,如果小于0,则为新文件中的最小小写字符数)

ucredit=-1(密码中包含大写字符的最小数量,此项为新密码中包含大写字符的最大数,如果小于0,则为新文件中的最小大写字符数)

lcredit=1(新密码中包含小写字符的最大数量,如果小于0,则为新文件中的最小小写字符数)

ocredit=1 (此项为新密码中包含其他字符的最大数,如果小于0,则为新文件中的最小其他字符数,等于0,则不做强制要求)

minclass=1(新字符所需的最小字符类数(数字、大写、小写、其他)

maxrepeat=0(新密码中允许的最大连续相同字符数。#如果该值为0,则禁用该检查)

maxclassrepeat=0(中同一类允许的最大连续字符数,如果该值为0,则禁用该检查)

difok = 5(新密码和旧密码相同字符数数量)

retry = 3 (在返回错误之前,最多提示用户N次。默认值为1)

enforce_for_root (对根用户密码强制执行质量检查)

扩展阅读二:

pam_pwquality此模块可以插入到给定服务的密码堆栈中,以提供密码的一些强度检查。该代码最初基于pam_cracklib模块,该模块与其选项向后兼容。此模块的作用是提示用户输入密码,并根据系统字典和一组识别错误选择的规则检查密码的强度。

pwquality.conf提供了一种为系统密码配置默认密码复杂度要求的方法。此文件由libpwquality库和使用此库检查和生成密码的实用程序读取。该文件具有非常简单的name=value格式,可能的注释以“#”字符开头。开头的空格行、行尾和“=”符号周围将被忽略。

libpwquality库还首先读取所有来自/etc/security/pwquality的conf文件。按ASCII排序的conf.d目录。相同设置的值将按照解析文件的顺序被覆盖。

三、密码复杂度:设置密码策略

应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;建议操作系统开启登录失败处理功能配置登录失败5次及锁定时间30分钟;

解决方案

[root@shizhanxia.com ]# vi /etc/security/faillock.confauditsilentdeny = 5unlock_time = 1800even_deny_rootroot_unlock_time = 1800

扩展阅读一:

Audit(如果找不到用户,将把用户名记录到系统日志中。)

Silent(不显示信息性消息)

deny = 5(连续身份验证失败的次数,则拒绝访问)

unlock_time = 1800(锁定n秒后,将重新启用访问)

even_deny_root(root帐户和常规帐户一样可以被锁定)

root_unlock_time = 1800(root账号锁定时间,不设置同普通用户)

扩展阅读二:

faillock命令是一个应用程序,可用于检查和修改配置文件的内容。它可以显示最近失败的用户名身份验证尝试,或清除所有或单个用户名的计数文件。该命令使用的是pam_faillock.so模块,此模块是在指定时间内维护每个用户失败身份认证列表,并在多次连续失败的身份验证时锁定该账户。如果您的用户没有获得shell帐户,root只能通过su或在计算机控制台(而不是telnet/rsh等)登录,通常,root用户在多次尝试失败后不会被阻止。因为这是相对安全的。Faillock.conf文件在pam-1.3.1-8.el8之前的版本中是不存在/etc/security/faillock.conf这个配置文件的。该文件由pam_faillock模块读取,因为faillock.conf配置简单是直接配置pam_faillock的首选方法。

标签: #linux对项目文件夹设置密码