【问题标题】:Does a curl/wget request respond on a random ephemeral port?curl/wget 请求是否在随机临时端口上响应?
【发布时间】:2018-05-26 22:54:42
【问题描述】:

当我在 aws 中设置 VPC 时,我在公共子网中创建了一个实例。该实例无法 ping 到 google,并且在连接到 yum 存储库时超时。

安全组已使用所需端口打开。 当我编辑 ACL 以在入站中添加来自 0.0.0.0/0 的 ICMP 时,实例能够 ping 到 google。但是 yum 存储库仍在超时。所有 curl/wget/telnet 命令都返回错误。只有 ping 有效。

当我在 ACL 1024-65535 中从所有 0.0.0.0/0 中添加以下入站端口范围时,即可以访问 yum 存储库。这是为什么呢?

ACL 中允许所有出站流量。为什么我们需要允许来自这些端口的入站连接到任何站点?

【问题讨论】:

    标签: amazon-web-services port acl amazon-vpc traffic


    【解决方案1】:

    在 AWS 中,NACL 附加到子网。安全组附加到实例(实际上是实例的网络接口)。

    您必须删除 NACL 入站规则 100,然后使用规则 *,阻止所有传入流量。除非您有特殊原因,否则我会在您的 NACL 中使用默认规则。使用“有状态”的安全组控制访问。 NACL 是“无状态的”。

    NACL 的默认入站规则:

    规则 100 “所有流量” ALL ALL 0.0.0.0/0 ALLOW 规则 * “所有流量” ALL ALL 0.0.0.0/0 DENY

    您的出站规则应如下所示:

    规则 100 “所有流量” ALL ALL 0.0.0.0/0 ALLOW 规则 * “所有流量” ALL ALL 0.0.0.0/0 DENY

    当您的 EC2 实例出站连接到另一个系统时,返回流量通常在端口 1024 到 65534 之间。端口 1 - 1023 被视为特权端口,并保留用于特定服务,例如 HTTP (80)、HTTPS (443) , SMPT (25, 465, 587) 等。安全组会记住连接尝试并自动打开所需的返回端口。

    【讨论】:

    • 感谢您清除它。但是打开子网的所有入站端口是否安全,正如 aws 推荐的那样:docs.aws.amazon.com/AmazonVPC/latest/UserGuide/…
    • 您有两个选项来控制访问:安全组和 NACL。如果您了解 NACL,那么一定要使用它们。如果一个端口在您的 NACL 中是 ALLOW 但在您的安全组中是 DENY,那么它就是 DENY。 SG 和 NACL 中都必须允许端口。
    猜你喜欢
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多