我正在创建Ansible脚本来部署我的网站。我的一些网站使用SSL进行信用卡交易。我对尽可能自动化SSL的部署也很感兴趣。这意味着我需要自动分发私钥。换句话说,私钥必须以某种格式存在于服务器之外(例如,在修订控制中)。
我如何安全地做这件事?我遇到了一些想法:
1)使用口令保护私钥(http://red-badger.com/blog/2014/02/28/deploying-ssl-keys-securely-with-ansible/)。这将需要在部署期间提供密码短语。
2)加密私钥文件(aescrypt,openssl,pgp),类似于:https://security.stackexchange.com/questions/18951/secure-way-to-transfer-public-secret-key-to-second-computer
3)第三种选择是为每个部署生成一个新的私钥,并尝试查找可容纳自动证书请求的证书提供商。如果过程中有延迟,这可能是复杂和有问题的。
我错过了什么吗?有没有更好的解决方案或者其他人已经在这么做了?
发布于 2015-03-10 05:03:46
另一种方法是使用Ansible Vault在静态时加密您的私钥。这将需要您在Ansible命令行上或者从Ansible将读取它的文本文件或脚本中执行provide the vault password。
确实没有首选的方法。我的猜测是,如果你问10个Ansible用户,你会得到10个关于安全性的不同答案。由于我们公司在Ansible Vault可用之前很久就开始使用Ansible,所以我们基本上将所有敏感文件存储在只有我们的运营团队才能访问的服务器上的本地目录中。在某种程度上,我们可能会迁移到Ansible Vault,因为它与Ansible集成在一起,但我们还没有达到这一点。
https://stackoverflow.com/questions/28943195
复制相似问题