健全性检查 - 我的 EC2 的公共 AMI 是不是应该在首次启动时生成新的 Apache SSL 证书?

Posted

技术标签:

【中文标题】健全性检查 - 我的 EC2 的公共 AMI 是不是应该在首次启动时生成新的 Apache SSL 证书?【英文标题】:Sanity Check - Should my Public AMIs for EC2 generate new Apache SSL Certs on First Boot?健全性检查 - 我的 EC2 的公共 AMI 是否应该在首次启动时生成新的 Apache SSL 证书? 【发布时间】:2011-04-02 20:46:30 【问题描述】:

我想在 Amazon Web Services EC2 上提供可立即部署的公共 Ubuntu Lucid AMI。由于这些 AMI 使用开源 Web 应用程序,我想预先配置 apache mod_ssl 并强制所有流量通过 https。这很容易。

我对完整性检查感兴趣:如果没有生成新的 CSR 和 server.key / server.crt 文件的首次运行脚本,部署会有多不安全? (即,访问 AMI 的任何人都将获得运行从该 AMI 启动的实例的任何其他人使用的 server.key 的副本?

我还没有看到来自知名社区/企业公司的公共 AMI 以这种方式提供 AMI——事实上,大多数提供它们时根本没有 mod_ssl——这由系统管理员决定。

-杰克·穆尔贾

【问题讨论】:

【参考方案1】:

我肯定会在公共实例的主要启动时生成一个唯一密钥。人们太可能变得懒惰,只使用您为他们提供的任何证书。由于他们拥有所有相同的证书(和私钥),这意味着他们中的任何一个都可以模拟同一 AMI 的任何其他实例。这也意味着它们中的任何一个都可以 MITM 或解密发送到或来自任何其他实例的 Web 流量。

一般来说,您应该总是为公共 AMI 的每次首次启动生成新的加密材料。

【讨论】:

谢谢- 看起来很简单,很惊讶我在 AWS EC2 开发人员指南中没有提到这一点。我在研究中发现的一个更大的问题是熵源池在其中的作用。非常欢迎任何关于这个主题的 cmets。 当你有机会时,介意将此标记为答案吗?谢谢。

以上是关于健全性检查 - 我的 EC2 的公共 AMI 是不是应该在首次启动时生成新的 Apache SSL 证书?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以用不同的 AMI 替换 EC2 实例上的 AMI?

如何从我的 EBS 支持的 EC2 实例创建 AMI?

AWS:如何使用 Boto3 从实例创建公共 AMI?

基于 Rails 的 EC2 AMI

预配置的 EC2 *** AMI

AMI EC2 EBS 备份 - 成本预测