提示信息

CentOS6.5下的用户密码策略

燃烧 已关注

修改密码复杂度

不知从何讲起,直接贴配置文件吧

配置文件:/etc/pam.d/system-auth ,保存即生效

其实system-auth这个文件是个链接文件在同目录的system-auth-ac,这两个修改哪一个都行

  1. 1 #%PAM-1.0
  2. 2 # This file is auto-generated.
  3. 3 # User changes will be destroyed the next time authconfig is run.
  4. 4 auth required pam_env.so
  5. 5 auth sufficient pam_fprintd.so
  6. 6 auth sufficient pam_unix.so nullok try_first_pass
  7. 7 auth requisite pam_succeed_if.so uid >= 500 quiet
  8. 8 auth required pam_deny.so
  9. 9
  10. 10 account required pam_unix.so
  11. 11 account sufficient pam_localuser.so
  12. 12 account sufficient pam_succeed_if.so uid < 500 quiet
  13. 13 account required pam_permit.so
  14. 14
  15. 15 password requisite pam_cracklib.so try_first_pass retry=2 type=A+b+4+! difok=3 minlen=7 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 ##需要修改的行
  16. 16
  17. 17 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
  18. 18 password required pam_deny.so
  19. 19
  20. 20 session optional pam_keyinit.so revoke
  21. 21 session required pam_limits.so
  22. 22 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  23. 23 session required pam_unix.so

注解:

我设置的策略是:修改密码可重新输入两次,修改密码时提示A+b+4+! ,新密码必须要和旧密码有3个字符不同,密码长度最低7位,最少包含1位大写数字,最少包含1位大写字母,最少包含1位小写字母,最少包含1位特殊字符

  1. type=XXX 这个的意思就是修改密码时的提示符
  2. retry=N: 此选项定义用户在重试输入多少次密码后,返回一个错误信息,然后不准继续输入。缺省是1次。

difok=N:此选项用来定义新密码中必须有几个字符要与旧密码不同,如果新密码中有1/2以上的字符与旧密码不同时,该新密码就会被接受。

minlen=N:此选项用来设置新密码的最小长度。

dcredit=N:此选项用来设定新密码中可以包含数字的最大数目。

ucredit=N:此选项用来设定新密码中可以包含的大写字母的最大数目。

lcredit=N:此选项用来设定新密码中可以包含的小写字母的最大数目。

ocredit=N:此选项用来设定新密码中可以包含的特殊字符的最大数目。

具体信息大家可以man pam_cracklib来获取帮助,但是有一点我觉得需要注意一下,就是关于密码长度的计算,官方的man解析很不好理解,你会发现dcredit,ucredit,lcredit,ocredit这些的值也可以设置为正数,也可以为负数

设置为正数,就非常不好理解,可以推荐大家看一下这个网友的博客记录:http://blog.sina.com.cn/s/blog_74bceb490102w4os.html

设置为负数,就代表为最少包含的位数,我这里是最少包含1位

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
燃烧 关注 已关注

最近一次登录:2023-10-07 21:53:52   

暂时还没有签名,请关注我或评论我的文章

南海十三郎
05月19日

这种设置密码复杂度的方法很好,能有效提升系统安全。

未出现: @南海十三郎

在设置密码复杂度时,除了增强安全性,确保用户易于记忆也是重要的考量。可以通过在 /etc/pam.d/system-auth 文件中配置 PAM(Pluggable Authentication Module)实现更为严格的密码策略。例如,可以使用如下方法增强密码复杂度:

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

上述设置要求密码至少8个字符,并且至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符。此外,还可以考虑实施密码历史检查,以防止用户重复使用旧密码:

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

通过保证用户在设置新密码时不会重复最近的5个密码,可以进一步提高系统的安全性。

如果需要更多关于密码策略的实用信息,可以参考 Red Hat Documentation。希望这些建议能对密码管理有所助益。

11月08日 回复 举报
月光
05月21日

配置详细,清晰易懂,特别适合初学者参考学习。

悲切: @月光

在设置用户密码策略时,理解具体的配置方法确实对初学者很有帮助。可以通过 /etc/login.defs 文件配置一些基本的密码策略,例如:

# 密码最小长度
PASS_MIN_LEN 8

# 密码最大使用天数
PASS_MAX_DAYS 90

# 密码最小使用天数
PASS_MIN_DAYS 7

# 密码过期警告天数
PASS_WARN_AGE 14

此外,利用 PAM(Pluggable Authentication Module)也能增强密码策略的可靠性。比如,修改 /etc/pam.d/system-auth 文件,可以添加一些模块,以强制密码复杂度要求,例如:

password requisite pam_pwquality.so retry=3

这种方式可以设置密码必须包含大写字母、小写字母、数字和特殊字符等。

为了更深入了解如何在 CentOS 环境中实现安全策略的相关配置,建议参考 Red Hat's documentation, 其中涵盖了多个安全最佳实践和具体实施细节。

11月11日 回复 举报
删情
06月01日

对于企业用户,遵循这样的密码策略是非常必要的,尤其防止弱密码。

倾倒忧伤: @删情

对于企业环境中实施密码策略的必要性有着深刻的理解。确实,弱密码的存在无疑为系统带来了潜在的安全隐患。可以考虑利用 PAM(可插拔认证模块)进行密码复杂度的增强,确保用户设置的密码足够强壮。

例如,可以在 /etc/pam.d/system-auth 中添加以下行来实施复杂度要求:

password    requisite     pam_pwquality.so retry=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

上述配置要求密码长度至少为8个字符,并且必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符。这样的配置能有效提升密码强度。

同时,建议定期提示用户更换密码,可以通过 chage 命令来实现密码过期策略。例如:

chage -M 90 username

这条命令将用户“username”的密码有效期设置为90天,促使用户定期更新密码。

若想进一步了解密码策略的最佳实践,可以参考 NIST 的密码指南,对加强密码管理有很好的借鉴意义。

11月11日 回复 举报
自命
06月12日

建议进一步详细解释pam_cracklib模块的其他参数,以帮助更全面的配置。

韦综合: @自命

对于提高密码策略的安全性,pam_cracklib模块确实是一个重要组件。除了基础的参数设置,如密码最小长度和相似度限制,还有其他几个参数值得关注。例如,retry参数可以设定用户尝试输入密码的次数,进一步增强安全性。以下是一个简单的配置示例:

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

在这个设置中,用户需要输入至少8位字符的密码,并且其中必须包含至少一个数字、一个大写字母和一个特殊字符。同时,如果用户连续三次输入不符合要求的密码,将被拒绝。这种综合的策略可以有效提升账户的安全性。

可参考的文档和资源还包括Red Hat 官方文档 PAM Configuration 中的详细说明。

对于项目中pam_cracklib的配置,深入了解其所有参数及其影响,确实有助于制定更为周全的密码策略。在实际应用中,结合公司的安全需求进行调整,才能达到最佳效果。

11月12日 回复 举报
空洞角落
06月21日

密码策略配置示例完善,尤其是关于负数credit的设计,解答了常见困惑。

红色幻想: @空洞角落

在探讨CentOS 6.5的用户密码策略时,负数credit的确是一个常见而又容易引起误解的概念。其实,负数credit可以在策略中用于设置密码复杂度的权重。当设置为负数时,意味着要求更多的字符以满足密码策略的要求。这种方法可以有效提高密码安全性。

例如,假设我们在/etc/security/pwquality.conf中设置如下:

minlen = 8
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1

在这个配置中,表示密码至少要包含一个数字、一个大写字母、一个特殊字符和一个小写字母,同时密码长度必须至少为8个字符。这种策略的设计能够有效提高用户密码的复杂性,进而增强系统的安全性。

对于想进一步深入了解密码策略配置的人,建议查看Red Hat的官方文档以获取更详细的说明和示例。

结合实际案例说明,适当调整每项credit值可以根据组织的安全需求灵活设计,实际上不同环境下的密码策略需求可能会有所差异,这样的设计灵活性非常有益。

11月14日 回复 举报
褪了
06月29日

可否加入对相关安全风险的解释和如何检测配置有效性的建议?

第二: @褪了

对于用户提出的关于安全风险和配置有效性检测的建议,确实是一个值得深入探讨的话题。针对CentOS 6.5的用户密码策略,了解潜在的安全风险至关重要,例如弱密码的使用或密码过期策略的不合理等。此外,定期审计密码策略的有效性也是保障系统安全的必要措施。

为检测配置是否合理,可以查看/etc/login.defs文件中的相关字段,例如:

# 密码最小长度
PASS_MIN_LEN 8

# 密码过期时间,30天
PASS_MAX_DAYS 30

# 密码警告时间
PASS_WARN_AGE 7

通过审查这些设置和相关日志文件(如/var/log/secure),可以评估密码策略的实施效果。建议利用如chage命令来检查具体用户的密码信息:

chage -l username

同时,借助工具如Lynis(https://cisofy.com/lynis/)可以有效地帮助评估系统的安全性和配置有效性。进行定期审计,识别潜在的安全隐患,将有助于提高系统的整体安全水平。

11月12日 回复 举报
樱花
07月03日

这篇指南非常实用,尤其适合需要自定义密码策略的小团队。

爱太浅: @樱花

在定义用户密码策略时,利用 PAM(可插拔认证模块) 和 /etc/security/pwquality.conf 文件进行配置是个不错的选择。为确保密码的安全性,可以设置密码的最小长度、复杂性要求以及历史密码的限制。

例如,可以在 /etc/security/pwquality.conf 中加入以下内容:

  1. minlen = 8
  2. maxrepeat = 3
  3. ucredit = -1
  4. lcredit = -1
  5. dcredit = -1
  6. ocredit = -1

这段配置强制要求密码至少包含8个字符,并且需要至少包含一个数字、小写字母和大写字母,且不允许有连续相同的字符。

另外,为了保护系统,你可能需要将 /etc/login.defs 中的密码过期时间进行设置,例如:

  1. PASS_MAX_DAYS 90
  2. PASS_MIN_DAYS 10
  3. PASS_WARN_AGE 7

这样可以确保用户定期更新密码,减少被攻破的风险。

可以参考更详细的文档,RHEL 6 Security Guide 了解关于安全性最佳实践的更多信息。这有助于优化密码策略,提高团队的整体安全性。

11月09日 回复 举报
辗转
07月06日

配置手册中关于系统安全的部分,可以增加像pam_tally这样的工具介绍,确保多层次安全。

灭尘世: @辗转

在讨论CentOS 6.5用户密码策略时,提到pam_tally确实是个很好的主意。通过引入这一工具,可以在系统上实现更强的安全措施,尤其是在登录尝试过多后进行锁定,从而有效防止暴力破解。

通过配置pam_tally,可以在/etc/pam.d/system-auth中添加以下几行来启用登录尝试计数:

auth required pam_tally.so onerr=fail deny=5 unlock_time=300
account required pam_tally.so

这段配置的意思是,若用户连续失败5次登录,账户将在300秒后自动解锁。这种策略可以有效地限制恶意攻击。

此外,考虑使用pam_faildelay来引入登录延迟,增加攻破的难度:

auth required pam_faildelay.so delay=4000000

这会在每次失败后强制延迟4秒,再次尝试登录的机会,从而进一步增加破解难度。

关于系统安全的资料资源,可以参考如下链接以获取更多关于PAM模块的配置与使用方法:Linux PAM System Security。这样的内容对提高系统安全性将会有很大的帮助。

11月14日 回复 举报
冷艳淡笑
07月09日

通过man pam_cracklib能获取更详细的模块信息,适合深入学习者研读。

逃离回忆╰: @冷艳淡笑

在讨论密码策略时,了解相关模块的详细信息确实非常重要。对于想深入研究的用户,使用man pam_cracklib是一个理想的起点,可以获得有关如何配置和优化密码策略的实用信息。

此外,可以结合以下方法在/etc/pam.d/system-auth文件中调整密码复杂性策略,例如:

password required pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1

在这个配置示例中,minlen=8要求密码至少为8个字符,dcredit=-1ucredit=-1ocredit=-1lcredit=-1则确保密码中至少包含一个数字、一个大写字母、一个特殊字符和一个小写字母。这种方式可以有效增强密码的强度。

建议访问官方文档或社区论坛,例如CentOS Wiki, 获取更多关于如何实施密码策略和安全设置的建议与最佳实践。这样可以确保不仅在配置上是合适的,同时也符合最新的安全标准。

11月11日 回复 举报
如烟
07月13日

使用pam_env及其它pam模块的组合,增加了系统安全的多样性。配置需谨慎更改,确保顺利应用。

为爱: @如烟

在进行用户密码策略配置时,使用 pam_env 和其他 PAM 模块确实能够为系统的安全性增添一层保护。为了使配置更具灵活性,可以考虑采用 pam_pwquality 模块来提高密码的复杂性要求。以下是一个简单的示例,说明如何在 /etc/pam.d/system-auth 文件中加入相关配置:

password required pam_pwquality.so retry=3

这个设置可以确保用户在设置新密码时,至少需要进行三次尝试,以满足复杂性要求。此外,可以在 /etc/security/pwquality.conf 中设定更多细节,比如:

minlen = 8
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1

这些配置会要求密码至少包含8个字符,并且至少有一个数字、一个大写字母、一个小写字母和一个特殊字符。

有关密码策略的更多信息,建议参考 Linux PAM Documentation。在实施新的策略时,测试是确保成功应用的关键步骤,可以在非生产环境中进行验证,避免造成不必要的访问问题。

11月18日 回复 举报
×
免费图表工具,画流程图、架构图