插件窝 干货文章 如何确保Linux用户密码文件的安全性

如何确保Linux用户密码文件的安全性

sudo shadow 密码 bash 941    来源:    2025-04-08

确保Linux用户密码文件(通常是/etc/shadow)的安全性至关重要,以下是分层次的综合解决方案:


1. 文件权限控制

  • 最小化访问权限bash sudo chmod 600 /etc/shadow # 仅root可读写 sudo chown root:root /etc/shadow
  • 禁用非必要的suid/sgid程序: bash sudo find / -type f -perm /6000 -exec chmod a-s {} \; 2>/dev/null

2. 密码策略强化

  • 使用强密码策略(通过/etc/login.defs/etc/security/pwquality.conf): bash sudo vi /etc/security/pwquality.conf # 示例配置: minlen = 12 minclass = 3 # 至少包含数字/大写/小写/特殊字符中的3类 maxrepeat = 3
  • 定期强制修改密码bash sudo chage -M 90 username # 每90天修改密码 sudo chage -W 7 username # 密码过期前7天提醒

3. 加密算法升级

  • 确保使用强哈希算法(如SHA-512): bash sudo authselect select shadow sha512
  • 禁止旧算法(如MD5): bash sudo sed -i 's/^ENCRYPT_METHOD.*/ENCRYPT_METHOD SHA512/' /etc/login.defs

4. 监控与审计

  • 实时监控文件变更bash sudo auditctl -w /etc/shadow -p wa -k shadow_access
  • 定期检查异常登录: bash sudo lastb | head -n 20 # 查看失败登录 sudo grep "Failed password" /var/log/auth.log

5. 高级防护措施

  • 限制root登录bash sudo passwd -l root # 锁定root密码(仅允许sudo) sudo vi /etc/ssh/sshd_config # 添加:PermitRootLogin no
  • 双因素认证(2FA)bash sudo apt install libpam-google-authenticator # 编辑/etc/pam.d/sshd添加: auth required pam_google_authenticator.so

6. 备份与恢复

  • 加密备份密码文件: bash sudo tar -czf /backup/shadow_backup.tar.gz --owner=root --group=root /etc/shadow sudo openssl enc -aes-256-cbc -salt -in /backup/shadow_backup.tar.gz -out /backup/shadow_encrypted.tar.gz

7. 应急响应

  • 检测到入侵时立即: bash sudo passwd -l ALL_USERS # 锁定所有账户 sudo killall -u hacked_user # 终止可疑用户进程 sudo rpm -Va | grep '^..5' # 检查被修改的系统文件(RHEL/CentOS)

通过以上措施,可显著降低密码文件泄露风险。关键点在于:最小权限+强加密+持续监控+纵深防御。建议结合企业安全策略(如LDAP集成、SIEM日志分析)进一步加固。