【问题标题】:Provision certficate to LAMP EC2, which are autoscaled on AWSLAMP EC2 的临时证书,在 AWS 上自动扩展
【发布时间】:2017-11-16 19:23:02
【问题描述】:

我需要设计一个解决方案,其中 AWS EC2 安装了 LAMP。 EC2 是自动调用的。 EC2 应该有用于 LAMP 的 HTTPS。证书可以是自签名的,但私钥应该受到保护。也就是说,私钥不应该在 EC2 实例上硬编码(这不是最佳实践)。此外,HTTPS 应该来自 EC2,而不是来自 ELB、CloudFront、ACM 等。

有人可以帮我推荐最佳做法吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 ssl-certificate provisioning


    【解决方案1】:

    我会质疑为什么您认为需要在 EC2 实例上而不是在负载均衡器上终止 SSL。

    如果您需要对传输中的数据进行端到端加密,您可以使用 EC2 上的自签名证书在 ELB 和 EC2 之间进行通信。

    这意味着您不必将私钥部署到 EC2。

    【讨论】:

    • 根据安全策略需要在 ec2 上终止 SSL - 由合规性要求提供支持。
    • 因此,如果您获得了一个公共的商业证书 - 无论是购买的还是通过 ACM 获得的 - 您可以在 ELB 上使用它,然后在 EC2 上使用自签名证书来加密整个路径吗?如果您正在运行高合规性工作负载,您可能需要查看 CloudHSM 以卸载 SSL。将私钥部署到 EC2 实例通常是一种糟糕的安全做法。
    【解决方案2】:

    对于您的场景:Amazon 最佳实践是将您的 SSL 服务器证书存储在 IAM 中。

    IAM 安全地加密您的私钥并将加密版本存储在 IAM SSL 中 证书存储。 IAM 支持在所有服务器上部署服务器证书 地区,但您必须从外部获得证书 与 AWS 一起使用的提供商。您无法将 ACM 证书上传到 我是。此外,您无法从 IAM 管理您的证书 控制台。

    Working with Server Certificates

    正在接受亚马逊认证吗?如果我没记错的话,这是一门考试(可能是 SAA)的问题。

    【讨论】:

      【解决方案3】:

      您可以将私有密钥存储在加密的 S3 存储桶中,只有 EC2 实例的 IAM 角色也可以访问该存储桶。在 EC2 实例的用户数据中,让它下拉证书并将其放在正确的目录中。您可以构建一个已安装 LAMP 堆栈的 AMI。

      EC2 user data

      S3 server side encryption

      EC2 instance profile

      【讨论】:

      • 你认为这是一个好的设计吗? S3 存储证书,v/s KMS 存储证书(最大 4KB)。
      • @RajDev 没有更好的做法,就像每个人都说的那样是在 elb 和 ec2 之间使用自签名证书。
      猜你喜欢
      • 2022-01-23
      • 2014-01-25
      • 2019-07-17
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2014-11-05
      • 2016-11-14
      • 1970-01-01
      相关资源
      最近更新 更多