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

Posted

技术标签:

【中文标题】EC2 安全组中的禁止规则不会影响已建立的 MongoDB 连接【英文标题】:Disallowing rule in EC2 security group is not affecting already-established MongoDB connections 【发布时间】:2016-07-05 06:40:00 【问题描述】:

是这样的:

    实例X 能够在TCP 端口27017 上连接到实例Y(EC2 安全组允许) X 有 mongo shell Y 正在运行 MongoDB,接受来自端口 27017 上的 X 的连接 从X,使用mongo shell 连接到Y 上的数据库实例 在X 上的这个mongo shell 会话中,从Y 查询并插入到Y。一切顺利。 更改Y的安全组:去掉#1中提到的端口27017的规则 X 仍然可以查询/插入托管在Y 上的数据库。这不是预期的。 在X 上退出 mongo shell 会话 再次尝试步骤 4 并失败。这是正常的,也是意料之中的。

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

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

谢谢。

【问题讨论】:

【参考方案1】:

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

你在这里做了一个假设。这可能是您对它应该如何工作的期望,但是官方 AWS 文档中的哪个地方支持呢?我建议阅读文档,而不是对它的工作原理做出假设。

来自the documentation:

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

如果您想确保在您访问时立即中断交通 删除安全组规则,您可以使用网络 ACL 为您的 子网 — 网络 ACL 是无状态的,因此不会自动 允许响应流量。有关详细信息,请参阅网络 ACL Amazon VPC 用户指南。

【讨论】:

感谢 Mark,您编辑标签并提供参考!我应该深入研究 AWS 文档 :)

以上是关于EC2 安全组中的禁止规则不会影响已建立的 MongoDB 连接的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 AWS ECS EC2 实例中的端口

我允许 EC2 安全组中的哪些 IP 地址允许客户端 *** 流量通过?

在 AWS EC2 中,没有入站规则的安全组是啥意思?

AWS中的远程桌面

更新层安全组

AWS 安全组不允许入站流量