【问题标题】:Securing SSL Keys (for production web application) with Puppet and Hiera使用 Puppet 和 Hiera 保护 SSL 密钥(用于生产 Web 应用程序)
【发布时间】:2015-04-03 17:38:26
【问题描述】:

我想知道保护 Web 应用程序的 SSL 密钥和证书的最佳方式是什么。我正在使用角色/配置文件模式。这是场景:

  • 我有一个网络应用程序。有一个设置应用程序的 Puppet 模块。该模块还设置了运行所需的 SSL 密钥和证书。这些文件在 app/files 目录下的同一个 repo(不安全)中提交,然后使用 file 类型放置在正确的位置。
  • 有一个配置文件清单将此应用程序的堆栈放在一起 - 安装和设置 apache、安装和设置 memcached、安装 php 并使用上述模块设置应用程序。

现在 SSL 密钥和证书在同一个 repo 中检查,这可能不是最好的方法。我正在考虑使用 hiera-eyaml 模块,然后将这些证书和密钥的加密版本放在一个 hiera 文件中。

我只是想知道大多数人是否都是这样做的?还是有更好的处理方法?

【问题讨论】:

  • 我相信你所描绘的替代方案确实是常见的做法。您的加密数据必须保留在某处,而 Puppet 将需要一种对其进行解密的方法。因此,这可能是最直接的方法。

标签: deployment puppet sysadmin configuration-management puppetlabs-apache


【解决方案1】:

我目前在项目中使用hiera-eyaml。我们使用 PKCS 加密,给每个人一个公钥以便他们进行修改,而私钥只存在于 puppet master 和一个安全的备份中。设置好之后就可以使用了,大家很快就习惯了使用这个工具来加密值。

【讨论】:

  • 是的,这听起来很合理。我唯一担心的是,当你加密 SSL 证书和密钥时,你得到的是一个非常大的加密字符串。当您将多个证书/密钥放入一个 eyaml 文件中时,该文件会变得太大而无法读取。没有什么大问题,但它只是感觉不是最好的方法。对此有什么想法吗?
  • 我们只有几把钥匙,所以这对我们来说不是什么大问题。我不确定这会如何工作,但可以根据层次结构将值拆分为多个文件。
  • 是的,这是真的。当查找失败时,Hiera 将继续在层次结构中下降。
猜你喜欢
  • 2010-09-19
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 2019-07-14
  • 2018-09-25
  • 2016-01-04
  • 1970-01-01
相关资源
最近更新 更多