我正在创建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)第三种选择是在每个部署中生成一个新的私钥,并尝试查找可容纳自动证书请求的证书提供者。如果过程中存在延迟,这可能会很复杂且成问题。

我错过了吗?有没有首选的解决方案,或者已经有人这样做了?

最佳答案

另一种方法是在休息时使用Ansible Vault加密您的私钥。这将要求您在Ansible命令行中或者从Ansible会从中读取文本文件或脚本中provide the vault password

确实没有首选的方法。我的猜测是,如果您问Ansible的10个用户,您会在安全方面得到10个不同的答案。由于我们公司在Ansible Vault可用之前很早就开始使用Ansible,因此我们基本上将所有敏感文件存储在服务器上的本地目录中,只有我们的运营团队才能访问这些文件。自从Ansible Vault与Ansible集成以来,有时我们可能会迁移到Ansible Vault,但是我们还没有到此为止。

关于security - 使用Ansible自动部署SSL私钥,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28943195/

10-15 15:51