我如何在个人机器上安全地存储AWS证书?
详细:
我们团队中的每个人都需要AWS安全证书来执行pipe理任务(证书按angular色分隔)。 这些凭据通常以明文forms存储在磁盘上的某些configuration文件中。 我认为这是非常不安全的,特别是考虑到凭证是分布在团队成员,最终在备份等。
我更喜欢以encryptionforms存储这些凭据(例如类似于ssh密钥)。 有没有一些自动化的方式呢? 还是我需要破解一些使用例如opensslencryption数据的bash脚本?
Web上有很多关于如何在EC2实例上保护证书的信息。 甚至有这个Amazon IAMangular色function ,但它也只适用于EC2。
https://github.com/realestate-com-au/credulous可能是值得调查的。 从项目说明:
轻信是安全pipe理AWS(IAM)凭证的命令行工具。 其目的是使用用户的公用SSH密钥对凭证进行encryption,以便只有拥有相应私有SSH密钥的用户才能查看和使用凭证。 此外,该工具还将使用户能够轻松地旋转当前凭据,而不会中断用户当前的工作stream程。
在http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/上有一篇介绍性博客文章。
伟大的问题 – 并根据回答的人,你可能会有几条路线去。 我会给你一个我们使用的例子:
例如:允许pipe理员执行所有ec2操作。 或者只允许根据开发人员的标签或子网进行访问等。
使用特定的IAMangular色启动ec2 Linux实例。 启动每个特定angular色或用户的实例(根据需要调整实例大小/types,预算等)
为每个实例configuration安全组,以仅允许特定的子网或单个IP,以便将stream量入口locking到SSH。
为SSH设置自定义用户/密码或join域。
让每个用户login或SSH到分配给他们的angular色或用户访问的Linux实例。
API密钥和访问现在从实例IAMangular色本身inheritance而来 – 这使得存储用户密钥的需要变得无关紧要。 只要确保locking安全组,只允许访问Linux机器上的特定用户。 用户应该能够使用AWS API编写脚本/正常使用API工具function。
我们一直在使用这种方法已经有一年多的时间了,而且还有额外的安全性调整,比如租用的访问时间,被买进AWS HSM,并且效果很好。
希望这可以帮助你或其他人在那里。