AWS 网络 ACL:为什么我需要允许出站端口 80 才能浏览互联网?
AWS network ACL: why do I need to allow outbound port 80 to be able to browse Internet?
我对 AWS 和网络还很陌生。我一直在玩网络ACL。我意识到,如果我不允许网络 ACL 上的出站端口 443 (HTTPS),我将无法使用浏览器从 EC2 实例 [=] 中转到 https://www.google.com 21=] 在与此 ACL 关联的子网中。
同样,如果我不允许出站端口80,我将无法前往http://www.cnn.com。
这让我很困惑。当我允许 ACL 上的端口 80 出站时,我是否允许 EC2 从我的 EC2 上的临时端口 与 CNN 服务器上的端口 80 交谈,或者我是否允许 EC2从 EC2 上的端口 80 发起连接?
您不必添加任何规则。默认网络 ACL 配置为允许所有流量流入和流出与其关联的子网。每个网络 ACL 还包含一个规则,其规则编号为星号。此规则可确保如果数据包不匹配任何其他编号规则,则会被拒绝。您不能修改或删除此规则。
规则允许所有 IPv6 流量流入和流出您的子网。我们还添加了规则编号为星号(全部捕获)的规则,以确保数据包在不匹配任何其他定义的编号规则时被拒绝。
网络 ACL 具有单独的入站和出站规则(无状态),每个规则可以允许或拒绝流量。
出站规则允许从 子网 到 Internet 的出站流量。换句话说,它是将流量与ACL列表中定义的规则匹配并应用它(ALLOW/DENY)。
如果您的私有实例不应被互联网上的 public 用户访问,从安全角度来看,最好将这些实例放置在 私有子网 并在 public 子网中使用 NAT 实例 并使所有流量都通过此 NAT 实例进行补丁更新并获得 public 访问权限。
有关详细信息,请查看 Amazon Docs
使用实例级别的安全组在实例中获得安全性 level.And 与安全组不同,ACL 是无状态的并且在子网级别工作,即如果您希望您的实例通过端口 80(http) 进行通信,那么您已添加允许端口 80 的入站和出站规则。
我对 AWS 和网络还很陌生。我一直在玩网络ACL。我意识到,如果我不允许网络 ACL 上的出站端口 443 (HTTPS),我将无法使用浏览器从 EC2 实例 [=] 中转到 https://www.google.com 21=] 在与此 ACL 关联的子网中。
同样,如果我不允许出站端口80,我将无法前往http://www.cnn.com。
这让我很困惑。当我允许 ACL 上的端口 80 出站时,我是否允许 EC2 从我的 EC2 上的临时端口 与 CNN 服务器上的端口 80 交谈,或者我是否允许 EC2从 EC2 上的端口 80 发起连接?
您不必添加任何规则。默认网络 ACL 配置为允许所有流量流入和流出与其关联的子网。每个网络 ACL 还包含一个规则,其规则编号为星号。此规则可确保如果数据包不匹配任何其他编号规则,则会被拒绝。您不能修改或删除此规则。
规则允许所有 IPv6 流量流入和流出您的子网。我们还添加了规则编号为星号(全部捕获)的规则,以确保数据包在不匹配任何其他定义的编号规则时被拒绝。
网络 ACL 具有单独的入站和出站规则(无状态),每个规则可以允许或拒绝流量。
出站规则允许从 子网 到 Internet 的出站流量。换句话说,它是将流量与ACL列表中定义的规则匹配并应用它(ALLOW/DENY)。
如果您的私有实例不应被互联网上的 public 用户访问,从安全角度来看,最好将这些实例放置在 私有子网 并在 public 子网中使用 NAT 实例 并使所有流量都通过此 NAT 实例进行补丁更新并获得 public 访问权限。
有关详细信息,请查看 Amazon Docs
使用实例级别的安全组在实例中获得安全性 level.And 与安全组不同,ACL 是无状态的并且在子网级别工作,即如果您希望您的实例通过端口 80(http) 进行通信,那么您已添加允许端口 80 的入站和出站规则。