EC2安全组中的禁止规则不会影响已建立的MongoDB连接



这种情况:

  1. 实例X能够连接到 TCP 端口 27017 上的实例Y(EC2 安全组允许)
  2. X有蒙戈壳
  3. Y运行MongoDB,接受端口27017X的连接
  4. X,使用 mongo shell 连接到 Y 上的数据库实例
  5. 从这个 mongo shell 会话中X,从Y查询并插入到Y。一切都很成功。
  6. 更改Y安全组:删除#1中提到的端口27017规则
  7. X仍然可以从/插入到托管在Y上的数据库。这是意料之外的。
  8. X上退出蒙戈壳会话
  9. 再次尝试步骤 4 并失败。这是正常和意料之中的。

预计 EC2 网络防火墙将终止违反规则(安全组策略)的连接。

你能解释一下上面的#7是如何发生的吗?如何避免这种情况(所以X当时无法对Y做任何事情)?

谢谢。

预计 EC2 网络防火墙将终止连接 违反规则的内容

你在这里做一个假设。这可能是您对它应该如何工作的期望,但是在官方AWS文档中备份在哪里?我建议阅读文档,而不是假设这将如何工作。

从文档中:

跟踪的现有流量可能不会中断 删除启用该流的安全组规则时。 相反,当流被您或其他人停止时,流就会中断 主机至少几分钟(对于已建立的 TCP 最多 5 天) 连接)。对于 UDP,这可能需要终止对 流的远程端。立即出现未跟踪的流量 如果删除或修改启用流的规则,则中断。 例如,如果您删除允许所有入站 SSH 流量的规则 (0.0.0.0/0) 到实例,然后您现有的 SSH 连接到 实例将立即删除。

如果要确保流量在以下情况下立即中断 删除安全组规则,您可以使用网络ACL 子网 — 网络ACL是无状态的,因此不会自动 允许响应流量。有关更多信息,请参阅 亚马逊 VPC 用户指南。

最新更新