使用安全组限制AWS EC2出站流量



我想限制EC2实例的出站流量,只允许到AWS服务(如ECR、EFS)的出站连接。然而,这些服务没有静态ip地址,所以我不能将其添加到安全组中。有没有我错过的常用方法?

实现这一点的标准方法是在私有子网中运行实例,并使用VPC端点提供对AWS服务的访问。

但在迈出这一步之前,你试图克服的威胁是什么?

使用Security Groups无法做到这一点。使用IAM role可以做到这一点。

我知道这是一个非常古老的问题,在自己试图弄清楚的时候偶然发现了这个问题。默认情况下,AWS安全组允许所有出站流量。可以阻止出站流量

  • 删除默认允许所有出站流量为0.0.0.0/0规则
  • 将规则添加到特定的IP地址和端口

有一些服务暴露了它们的IP,如EFS、FSx、RDS等,在这种情况下,IP至少会出现在您的";"网络接口";以便您可以应用您的安全组规则。

在某些情况下,例如EFS,它甚至要求您在创建过程中应用SG。ECS在不使用Fargate的情况下部署了EC2实例。ECR在应用层受到限制,但您可以通过策略进一步限制/允许IP。

因此,总是有办法知道允许/限制的IP,或者有办法做到这一点,如果服务没有IP,那么是的,你将无法将其添加到安全组,但攻击者也无法将其作为目标。

对于您的实例必须联系才能工作的AWS服务,默认情况下允许这些服务,请参阅AWS文档:

亚马逊安全组和网络ACL不会过滤来往于以下亚马逊服务的流量:

  • 亚马逊域名服务(DNS)
  • Amazon动态主机配置协议(DHCP)
  • Amazon EC2实例元数据
  • Amazon Windows许可证激活
  • 亚马逊时间同步服务
  • 保留默认VPC路由器的IP地址

因此,您不可能(意外)限制对AWS内部服务(如IAM)的访问。

相关内容

  • 没有找到相关文章

最新更新