网络 acl 是否也会阻止子网间流量?

网络 acl 是否也会阻止子网间流量?

我在 AWS 上将虚拟机放置在不同的可用区中。为了能够做到这一点,您需要在每个可用区中都有一个子网。

如果我为整个设置创建网络 acl(即与所有子网关联),我是否需要指定所有子网 CIDR 范围的允许规则?如果不这样做,网络 acl 是否会根据我的端口规则阻止子网间流量?

我认为他们会...但需要确认。

答案1

网络 ACL 不会阻止子网内流量。您可以将其视为已应用于该子网上的路由器接口。因此,ACL 仅影响进出子网的流量。

答案2

我相信罗恩的回答是正确的,但没有回答你的问题。

如果您在多个子网中有实例,并且您的实例需要通信,则您的 NACL 需要使用允许规则来解决这个问题。我还没有测试过这一点,但我使用 AWS 很长时间了,我很确定这就是它的工作方式。

有趣的是,安全组可以被认为是围绕每个网络接口的防火墙。因此,如果您希望安全组中的实例进行通信,则需要一条规则来允许从安全组进入其自身。

对问题评论的回答:

端口 您只需要在 Web 服务器安全组上打开端口 80/443。1024 - 65535 部分是临时端口,如果您想了解它们,您应该阅读相关内容。从维基百科但如果需要的话,可以继续讨论一些更容易理解的内容。

AWS 检查器 这一页说了以下内容

Amazon Inspector 代理发起与 Amazon Inspector 服务的所有通信。这意味着代理必须具有到公共终端节点的出站网络路径,以便它可以发送遥测数据。例如,代理可能连接到 arsenal..amazonaws.com,或者终端节点可能是位于 s3.dualstack..amazonaws.com 的 Amazon S3 存储桶。确保将其替换为您运行 Amazon Inspector 的实际 AWS 区域。有关更多信息,请参阅 AWS IP 地址范围。由于来自代理的所有连接都是出站建立的,因此无需在安全组中打开端口以允许从 Amazon Inspector 到代理的入站通信。

答案3

一般情况下,建议保留网络 ACL 的默认“全部允许”设置,并使用网络安全的安全组

A氯化钠表示位于子网之间的传统路由器,控制进出子网的流量。NACL 规则包括无国籍者,这意味着它们需要在双向NACL 仅适用于之间子网。

安全组是云计算领域的一项新创新。它们是 VPC 中每个单独资源上的防火墙(更准确地说,是每个弹性网络接口上的防火墙)。这允许更细粒度的安全控制。规则是有状态的,这意味着发送的请求出去将自动允许响应

安全组也可以相互引用。例如,考虑一个 Amazon EC2 实例和一个 Amazon RDS 数据库。可以在 EC2 实例上放置一个安全组,允许传入 Web 流量。可以在 RDS 实例上放置一个安全组,允许传入 SQL 查询仅来自与 EC2 实例关联的安全组。这比 NACL 规则精确得多。

底线是:

  • 始终使用入站安全组确保资源
  • 可选限制出站安全组(因为你通常可以信任在实例上运行的应用程序)
  • 绝不更改 NACL 规则,除非你有非常特殊的安全需求,例如创建 DMZ

相关内容