为什么 EC2 实例在删除入站安全组规则后继续响应 ping 请求?

Nis*_*ant 5 networking ping amazon-ec2 amazon-web-services security-groups

在玩 AWS 控制台时,我尝试了以下操作

  1. 使用默认安全组和默认子网在默认 VPC 中启动 EC2 实例(已启用公有 IP)。
  2. EC2 在具有公共 IP 的默认子网中启动。
  3. 使用公共 IP 从命令提示符 ping EC2 实例。
  4. 请求超时。
  5. 注意到默认安全组入站规则仅允许来自安全组内源的流量。
  6. 修改了安全组入站规则并允许来自任何地方的流量 (0.0.0.0/0)
  7. 再次使用公共 IP ping EC2 实例。
  8. 得到了服务器的响应。到目前为止一切都很好。
  9. 来自 EC2 主机的 ping 回复继续显示在控制台中。
  10. 我删除了入站安全组规则。现在没有安全组的入站规则。
  11. 在终端上,来自 EC2 实例的回复继续显示。

我的问题是 - 即使安全组的入站规则已被删除,为什么我仍会看到来自主机(EC2 实例)的回复?

对入站安全组规则的更改不会立即应用吗?为什么主机(EC2 实例)在没有入站安全组规则的情况下继续响应?

Mic*_*bot 8

更改会立即应用,但安全组规则控制流量流的建立(由使用端口号的协议的源和目标地址、协议和端口号标识)。

根据所讨论的特定规则,网络可能会或可能不会主动跟踪流,但始终会跟踪 ICMP 流。一旦建立了被跟踪的流,流就不再需要匹配规则,因为网络已经为流创建了一个状态表条目,该条目将持续存在,直到网络将其删除,无论是由于不活动超时还是由于关闭/重置面向连接的协议,如 TCP。

被跟踪的流不会因删除允许创建它们的规则而中断。

停止 ping 并重新启动它。如果它继续工作,请停止它并等待几秒钟,然后再重新启动它。您应该会发现,在删除规则后不久,再次尝试 ping 目标实例会导致超时。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-connection-tracking