【问题标题】:AWS Security group requirements for user data用户数据的 AWS 安全组要求
【发布时间】:2019-07-17 16:18:49
【问题描述】:

我以为这个主题很容易找到相关信息,但我弄错了。

我正在使用 PaloAlto 实例构建一个 terraform,它需要用户数据并在 https 上 curl 以验证用户数据是否已应用。

当我在公共接口上指定安全组为 入站出站 https、ssh 0.0.0.0/0 它就像一个魅力。

但我需要加强安全性并只允许来自某些 CIDR 的入站。

对于成功的用户数据引导和尽可能严格的安全组设置,EC2 连接有哪些要求?

感谢您的建议

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-security-group aws-vpc


    【解决方案1】:

    这取决于您所说的“用户数据引导程序”是什么意思。

    如果您指的是实例的用户数据,那是从instance metadata service 获取的,它不需要任何规则,因为它的 IP 地址 169.254.169.254 受特殊规则的约束。

    Amazon 安全组和网络 ACL 不会过滤进出链接本地地址 (169.254.0.0/16) 或 AWS 保留的 IPv4 地址的流量 - 这些是子网的前四个 IPv4 地址(包括 Amazon DNS VPC 的服务器地址)。

    https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html

    当调用RunInstances Action 时,用户数据(在这个意义上)被传递给EC2 服务API,以请求启动实例。 EC2 服务存储用户数据,以便实例在启动后可以从实例元数据服务中获取它。这可以防止实例需要从外部获取它。

    如果这是您所指的,则无需配置安全组。

    另见What's Special About 169.254.169.254?

    但是,由于您提到了 PaloAlto,因此您可能还需要访问 S3 存储桶,基于此:

    VM 系列防火墙的管理界面必须能够访问 S3 存储桶才能完成引导。您可以为管理接口分配公共 IP 地址或弹性 IP 地址,以便可以通过 Internet 访问 S3 存储桶。或者,如果您希望在您的 VPC 和 S3 存储桶之间创建私有连接并且不想在防火墙管理界面上启用互联网访问,请在与 S3 存储桶相同的区域中创建一个 AWS VPC 终端节点。有关更多信息,请参阅有关设置 VPC endpoints的 AWS 文档

    https://docs.paloaltonetworks.com/vm-series/7-1/vm-series-deployment/bootstrap-the-vm-series-firewall/bootstrap-the-vm-series-firewall-in-aws

    S3 的 VPC 终端节点不仅允许您访问 S3(与终端节点在同一区域内)而无需通过 Internet 网关,还可以限制使用 VPC 终端节点的实例仅访问特定存储桶并执行特定操作.这是控制对整个 S3 的受限访问的唯一有效方法,因为否则它必须通过 Internet 访问,并且其 IP 地址不是静态的,因此无法在安全组中引用。即使基于 IP 的限制是可能的,它也不会提供有意义的安全性,因为数据泄露可以由恶意用户使用他们自己的存储桶完成,因为您将允许连接到所有 S3。 IP 地址与特定存储桶没有关联。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 2019-07-28
      • 2018-10-01
      相关资源
      最近更新 更多