2017-08-11 51 views
0

我创建了一个AWS EC2实例。在安全组中,我仅为端口22启用了入站规则。出站规则打开为0.0.0.0/0。只有出站端口打开时,http连接如何工作?

我的问题是,当我做apt-get安装,甚至wget或curl,数据如何能够回来? (我只打开端口22的入站正确,数据位如何通过端口88或443返回)?

回答

1

the official documentation

安全组是有状态的 - 如果你从你的 实例发送一个请求,该请求的响应流量被允许在 流的入站安全组规则不管。无论出站规则如何,允许对允许的 入站流量的响应流出。

+0

我的问题不是特定于AWS,我只是以此为例。即使公司的防火墙规则也允许入站响应数据流,而无需打开端口,所以我脑海中有这个问题。无论如何感谢澄清这种怀疑。 – Tintu

+0

您的问题特别提到了EC2并被标记为AWS。看起来很特定于AWS。我给了AWS的答案。对于你的公司防火墙,我认为它也有有状态的规则。 –

2

防火墙通常可以是有状态或无状态的。

有状态防火墙跟踪连接。如果您建立从本地端口12345到远程端口80的连接,则您的有状态防火墙将允许通过端口12345为该连接返回流量。

无状态防火墙将独立处理每个数据包。这就是为什么他们被称为无状态 - 他们没有保持任何状态。您必须专门打开端口12345才能使上述示例正常工作。这引入的挑战是您的应用程序用于出站连接的端口是任意的(它们未提前知道)。

无状态防火墙通常更高效,因为它们非常简单,不必维护状态,只需查看数据包标头即可。

在AWS的特定情况下,他们提供两种类型的防火墙:

  1. Security Groups这是有状态的
  2. Network Access Control Lists这是无状态的

enter image description here

-1

如何数据位通过端口88或443返回)?

他们不是。他们回来那个港口,你的出港港口。

出站端口可以接收入站数据。

否则他们将毫无意义。

相关问题