一分钟读论文:《软件工程管理密码有哪些最佳实践?》

一分钟读论文:《软件工程管理密码有哪些最佳实践?》

💡 原文中文,约3000字,阅读约需8分钟。
📝

内容提要

本文介绍了密码管理的最佳实践,包括源代码保密、安全存储密码、限制泄露、避免提交、管理部署和执行政策。使用外部密码管理系统、加密密码、限制 API 访问和权限、撤销机密和清理历史记录等方法可以保护密码安全。介绍了 VCS 扫描工具、VCS 钩子、配置管理系统等工具和技术。

🎯

关键要点

  • 硬编码凭证被认为是最危险的软件弱点之一,GitHub上有超过600万个公开密码。
  • 研究确定了24种管理密码的最佳实践,包括使用本地环境变量和外部密码管理服务。
  • 使用模板配置文件可以减少将密码签入版本控制系统的机会。
  • 所有数据库应包含.gitignore文件以避免提交敏感文件。
  • 服务端实现可以消除在客户端应用程序中保存密码的必要性。
  • 外部密码管理系统可以最大限度地减少人工参与,提供动态密码和基于租约的管理。
  • 加密密码的实施不需要额外基础设施,但需安全管理加密密钥。
  • 私有数据库的密码可能因克隆而传播,需谨慎管理。
  • 使用临时密码可以防止未被发现的数据泄露成为威胁。
  • 限制API访问和权限可以减少攻击者的横向移动。
  • 撤销机密并清理版本控制系统历史记录是必要的安全措施。
  • 建议使用VCS扫描工具而非依赖代码审查来检测密码。
  • 在VCS中显式添加文件,避免使用通配符命令。
  • 使用VCS钩子检查文件可以防止密码被推送到数据库。
  • 在CI/CD中使用密码变量,避免硬编码密码。
  • 配置管理系统可以协调不同机器的配置并分发密码。
  • 为每个环境使用不同的密码,以降低风险。
  • 将点文件保存在根目录之外,以避免密码泄露。
  • 组织应实施政策以最大限度地减少密码泄露的风险。
➡️

继续阅读