0

最近,我使用AWS Security Hub对我的 AWS 资源进行了安全评估。结果,在AWS Foundational Security Best Practices v1.0.0类别下,有一个失败的说法是

EC2 实例不应具有公有 IPv4 地址

如果这个实例没有公网IP,如何通过互联网访问这个实例?

我想很好地解释一下EC2 实例不应具有公共 IP 地址的安全最佳实践

4

2 回答 2

3

通常,只有负载均衡器会暴露在 Internet 上。然后,它将流量转发到分布在多个可用区的 Amazon EC2 实例。

负载均衡器可以过滤流量,并可以根据 URL 中请求的路径将流量路由到适当的目的地。

这样,没有人可以访问 EC2 实例(例如通过 RDP 或 SSH)。

管理员应该能够通过 VPN 或 Direct Connect 连接访问 VPC,而不是通过 Internet。

于 2021-04-20T12:08:35.240 回答
1

EC2 实例不应具有公有 IPv4 地址

这可能是指私有子网中的 EC2 实例。对于公共子网中的 EC2 实例,您将需要一个 IP 来接收 Web 流量。

根据VPC 常见问题解答

在此处输入图像描述

为安全起见,请确保与公共 EC2 实例关联的安全组仅允许所需端口上的流量。例如,网络服务器应该只需要为端口 80 设置入站规则(入口)。您不需要定义出站规则(出口),因为仍然允许对入站规则(入口)的响应。

安全组是有状态的 - 如果您从实例发送请求,则无论入站安全组规则如何,都允许该请求的响应流量流入。无论出站规则如何,都允许对允许的入站流量的响应流出。

根据我之前对其他答案之一的评论 - 您可以通过使用 SSM(不包括我注意到的边缘情况)在不允许 SSH 端口的入站流量的情况下逃脱

如果您使用负载均衡器,答案不会改变。我尝试在公共子网中配置 ASG(自动扩展组),并在 Cloudformation 中指定实施不应将公共 IP 地址与 EC2 实例相关联。ASG 从未收到来自 EC2 实例的成功信号,并且 Cloudformation 部署已回滚。

在此处输入图像描述

于 2021-04-21T14:02:12.243 回答