在Linux中设定账户密码的安全性

在Linux环境下,确保账户密码的安全性是保护系统安全的重要环节。要设置强健的密码策略,需要从多个层面制定规则,这些包括密码复杂性、长度、有效期限、历史记录限制和尝试次数限制等方面。

密码复杂性设定和管理:

密码应该要求包含大小写字母、数字以及特殊字符的混合。确保不使用容易猜测的密码,如顺序数字、键盘路径模式、常见单词、用户名或者服务名。在Linux中,可以通过PAM(Pluggable Authentication Modules)中的 pam_pwquality模块来实施这些策略,例如在 /etc/security/pwquality.conf中配置它们。

密码长度:

长度是密码强度的关键指标。通常,强密码至少应有八个字符长,但随着计算力的增强,现在推荐使用更长的密码,比如十二个或更多字符。在 pam_pwquality的配置文件中,可以设置 minlen参数来定义密码的最小长度。

密码有效期限:

定期更改密码可以降低密码被破解的风险。通过修改 /etc/login.defs文件中的 PASS_MAX_DAYSPASS_MIN_DAYSPASS_WARN_AGE参数,可以分别设置密码的最大使用天数、更改密码之间的最少天数和密码到期前的警告天数。

密码历史控制:

为防止用户反复使用旧密码,应该限制历史密码的重用。这可以在PAM中通过 pam_unix模块的 remember参数来设置,该参数定义了密码历史记录的深度。

账号锁定政策:

连续多次登录失败应触发账户锁定机制,防止暴力破解。这可以通过 pam_tally2pam_faillock模块实现,配置其中的 deny参数可以设定失败尝试次数上限。

审计和监控:

配合以上策略,应该开启日志记录所有密码相关的活动,以便于审计和在有需要时追踪。可以通过 auditd守护进程来进行此类监控。

实施上述策略时,需要编辑PAM配置文件和其他相关配置文件。例如,对于密码历史控制,可以编辑 /etc/pam.d/common-password文件,将如下行添加到其中:

复制代码
password requisite pam_pwquality.so retry=3 minlen=12 difok=3
password [success=1 default=ignore] pam_unix.so obscure sha512

而对于账户锁定策略,可以在 /etc/pam.d/common-auth文件中添加如下配置:

复制代码
auth required pam_faillock.so preauth silent audit deny=5 unlock_time=900
auth [success=1 default=ignore] pam_unix.so nullok_secure

设置好策略后,管理员应该进行定期的审计和复审,以确保遵循最佳实践,并根据新的安全研究进行调整。

相关推荐
Richard.Wong34 分钟前
Windows IIS 服务器部署 Vue3 前端项目详细流程
服务器·前端·windows
Nemo_XP35 分钟前
C# gridlookupedit选中内容重复还原操作
服务器·前端·c#
hoaxxcj2 小时前
多智能体把云可靠性工程自动化:NeurIPS 2025 的 STRATUS 比 SOTA 强 1.5 倍,还顺手定了条“安全规范“
运维·安全·自动化·大模型·ai论文·前沿解读
运维大师2 小时前
【K8S 运维实战】39-etcd脑裂故障复盘
运维·kubernetes·etcd
wsad05322 小时前
CentOS Stream 10 配置静态 IP 完整指南
linux·tcp/ip·centos
Ai拆代码的曹操2 小时前
K8s 实战:CrashLoopBackOff 状态下 kubectl logs 拿不到日志的三层排查方案
linux·docker·kubernetes
tedcloud1233 小时前
Kimi-K3 部署指南:大模型应用开发环境搭建实践
linux·运维·服务器·开源·音视频
深念Y3 小时前
ZTE_UZ901_NVRAM经验总结
linux·服务器·网络·嵌入式硬件·嵌入式·随身wifi
大模型丫丫3 小时前
GitHub Actions 自动化运维实战:从 CI/CD 到云端部署
运维·自动化·github
似水এ᭄往昔3 小时前
【Linux网络编程】--TCP_Socket
linux·网络·tcp/ip