2017-08-11 107 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返回)?

他們不是。他們回來那個港口,你的出港港口。

出站端口可以接收入站數據。

否則他們將毫無意義。