linux – 如何在自动部署期间处理密码?
作为负责任的管理员,我们知道常见的弱点
> CWE-260:配置文件http://cwe.mitre.org/data/definitions/260.html中的密码 但是我们如何在实践中处理这个问题呢? 当然,通过SSH和sudo等工具进行无密码身份验证等技术,可以在重要的地方摆脱存储的登录凭据,这在Linux服务器的自动部署过程中确实很有用. 但是一旦您离开操作系统并安装应用程序,您就会面临安全存储密码的问题. 例如,如果安装数据库服务器,则很可能需要将明文密码保存到Web应用程序的配置文件中. 然后,您应该保护配置文件,以便只有管理员才能查看凭据,您应该限制数据库用户的访问权限,以限制可能的安全影响. 但是如何处理例如主要的管理数据库帐户?至少你的dbas应该知道它(所以你需要明文的某个地方)而作为操作系统管理员,你不应该知道凭证.或者部署由devops完成,他们不应该知道生产服务器上的任何凭据. 可能的解决方案 经过一段时间的思考,我提出了三种可能的解决方案,但他们有自己的弱点: >在部署期间生成随机凭据,并以一次写入方式将其存储在数据库中.例如,dbas有另一个用户可能只读取数据库凭据.但是如何处理例如配置文件中的明文密码. web应用? root用户可以读取它们.密码数据库的root用户也可能读取所有密码凭据. 你怎么看?你看到这里有什么最好的做法吗? 解决方法
>您应该拥有一个包含所有凭据的安全加密数据库
>在部署期间,凭借防火墙,服务器应该完全无法从外部访问 >让脚本生成随机传递并通过电子邮件发送给您,这很好 >在您允许访问公众之前,在配置服务器之后更改密码也没关系 >通过电子邮件发送自己的密码是可以的,只要它使用您的内部邮件服务器并且不通过SMTP通过公共路由(SMTPS是另一个故事) 您可以将电子邮件替换为任何协议.你可以在某个地方输入密码,使用onetimesecret api创建一次性消息,使用https将其上传到私人要点,或者你能想到的任何其他内容. 我认为这涵盖了它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |