在Linux中,如何实现安全的密码策略?

简介: 在Linux中,如何实现安全的密码策略?

在Linux中实现安全的密码策略涉及到多个方面,主要包括设置密码复杂度规则、密码过期策略、密码历史限制以及尝试失败后的账户锁定等。以下是实现这些策略的详细步骤和方法:

1. 修改/etc/login.defs配置文件

/etc/login.defs文件是控制用户密码和其他账户属性的主要配置文件。你可以在这里设置密码的最小长度、密码过期时间、密码历史等。

  • 设置密码最小长度:
PASS_MIN_LEN   12
  • 这里设置密码最小长度为12个字符。
  • 密码过期时间:
PASS_MAX_DAYS   90
  • 设置密码最大使用天数为90天,之后用户必须更改密码。
  • 密码过期警告天数:
PASS_WARN_AGE   7
  • 用户在密码过期前7天开始收到警告。
  • 密码历史:
ENCRYPT_METHOD SHA512
PASSWORD_HISTORY 5
  • 设置使用SHA512加密算法,并限制用户不能重复使用最近5次的密码。
2. 使用PAM模块增强密码复杂度

安装并配置pam_cracklib.so模块,以强制执行密码复杂度规则。

  • 安装模块(如果尚未安装):
    在Debian、Ubuntu或Linux Mint上:
sudo apt-get install libpam-cracklib
  • 在CentOS、Fedora上:
sudo yum install pam_cracklib
  • 编辑PAM配置文件(通常在/etc/pam.d/system-auth/etc/pam.d/common-password):
    添加或修改以下行来启用复杂度检查:
password    requisite     pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
  • 这里,minlen=12指定了密码最小长度,difok=3表示新密码至少有3个字符不同于旧密码,其余选项限制了字母、数字、特殊字符的使用。
3. 防止密码猜测攻击

使用pam_tally2.so模块来限制密码尝试次数并锁定账户。

  • 编辑PAM配置文件(如/etc/pam.d/sshd/etc/pam.d/common-auth):
    添加以下行以在失败尝试后锁定账户:
auth            required        pam_tally2.so deny=5 unlock_time=1800
  • 这里,deny=5表示在账户被锁定前允许的失败登录尝试次数为5次,unlock_time=1800设置锁定时间为30分钟。
4. 测试与应用
  • 重启服务:对于某些服务,如SSH,可能需要重启才能应用新的PAM配置。
sudo systemctl restart sshd
  • 测试策略:尝试创建或更改密码,验证新的策略是否生效。

综上所述,你可以显著提升Linux系统中密码的安全性,减少因弱密码或密码攻击而导致的安全风险。记得在实施任何策略更改后进行充分的测试,确保系统的正常运行。

相关文章
|
3月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
210 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
4月前
|
安全 Linux C++
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
200 0
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
|
5月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
361 10
|
5月前
|
监控 安全 Linux
在Linux中设定账户密码的安全性策略
这些操作应该由有经验的系统管理员进行,因为不当的配置可能导致无法预期的安全问题或者系统访问问题。此外,提升安全性的同时,也需要考虑到用户的便利性,避免设置过于严苛的政策导致用户体验不佳。通常,强密码策略配合两因素认证(2FA)将大大加强账户的安全性。
444 13
|
5月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
533 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
6月前
|
运维 Ubuntu Linux
Linux重置root用户密码
本文详细介绍了Linux系统中root密码重置的核心技能,涵盖主流发行版如RHEL、CentOS、Debian、Ubuntu、Arch、openSUSE等的实操方法。内容包括通过GRUB引导编辑、单用户模式和Live CD救援三种方式重置密码的具体步骤,适配物理机、虚拟机及云服务器环境。文章分步解析了启动拦截、权限获取和密码重置三大阶段,并提供各发行版的实际操作代码示例,帮助管理员快速解决忘记root密码的问题。
|
7月前
|
安全 Linux iOS开发
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
156 1
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
|
12月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
1162 78
|
10月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
480 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
10月前
|
安全 Linux 数据安全/隐私保护
linux root登陆,密码正确但,错误提示su: Authentication failure
通过系统化的排查和解决方案,可以有效应对 `su: Authentication failure` 问题,确保系统安全和用户权限的正确管理。
5346 36