【问题标题】:AWS Security Group Meaning of Port 0 in Custom TCP Rule自定义 TCP 规则中端口 0 的 AWS 安全组含义
【发布时间】:2021-06-12 21:39:47
【问题描述】:

我在出站安全配置中有一个自定义 TCP 规则,端口范围为 0。这个 0 是否意味着它对规则中提供的 ip 范围的所有端口开放?当我将其更改为正确的端口(5432)编号时,我遇到了将此 0 作为端口的问题,之后它可以正常工作。

【问题讨论】:

  • FromPort 和 ToPort 的值为 -1 表示所有端口。

标签: amazon-web-services amazon-rds aws-security-group


【解决方案1】:

我假设您在谈论安全组的入站规则(入口)和出站规则(出口)。一个安全组是围绕 AWS 组件的防火墙 - 在您的情况下,作为您使用的端口 5432,一个 PostgreSQL RDS 数据库。

我只是在我这边测试了它。我有一个用于访问 EC2 服务器的有效入站规则。当我将端口更改为 0 时 - 我无法再访问它。如果您要允许所有端口的入站\出站流量,您将指定:0-65535

据我所知,单独指定的端口0 似乎没有提供任何访问权限。

除了0-65535 端口范围之外,在使用 Cloudformation 时还有另一个有效的端口值:-1。 这用于 ICMP 和 ICMPv6 协议。有人提到它here。 使用 AWS GUI 时,您不能将 -1 指定为端口号。

如果您担心安全性并且只想为自己创建一个入站规则 - 请确保将您的 /32 CIDR 指定为 IP 地址的后缀,如上图所示,其中 TCP 访问权限通过所有端口授予有人在1.2.3.4 IP 地址。使用 /32 以外的 CIDR 将允许访问其他 IP 地址 O_O

如果您不熟悉使用安全组,还请注意以下几点:

安全组是有状态的 - 如果您从您的 例如,允许该请求的响应流量流入 无论入站安全组规则如何。对允许的响应 无论出站规则如何,都允许入站流量流出。

换句话说,如果您错误地认为必须创建入站\出站规则来处理对允许的入站的响应,请不要通过将入站规则不必要地复制到出站规则(或 vica verca)而造成可能的安全风险\出站流量。

【讨论】:

  • 感谢@Nico du Toit。我在使用 dblink 从一个 RDS 到另一个 RDS 时遇到了这个问题。 AWS 管理员在出站规则中为其他 RDS ip 范围配置了端口 0。我无法连接,它会引发连接超时错误,我将其更改为 5432 然后它工作正常。管理员提到 0 适用于所有端口,我没有看到任何提及,所以我在这里问。
  • 0 并不意味着它对所有端口开放。指定确切的端口号或端口范围或 ALL 是选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
相关资源
最近更新 更多