安全群組連線追蹤 - Amazon Elastic Compute Cloud

安全群組連線追蹤

您的安全群組使用連線追蹤來追蹤流入和流出執行個體流量的資訊。規則會根據流量的連線狀態套用,以判斷該允許或拒絕該流量。使用這種方法,安全群組是可設定狀態的。這表示傳入流量的回應可從執行個體傳出,與對外安全群組規則無關,反之亦然。

舉例來說,假設您從家用電腦中對執行個體啟動一個命令 (例如 netcat 或類似的命令),並且您的傳入安全群組規則允許 ICMP 流量。會追蹤連線的相關資訊 (包括連接埠資訊)。來自執行個體對 命令的回應流量不會作為新的請求追蹤,而是作為已建立的連線,並且將允許流出執行個體,即使您的傳出安全群組規則限制傳出 ICMP 流量。

針對 TCP、UDP 或 ICMP 之外的通訊協定,只會追蹤 IP 地址和通訊協定號碼。若您的執行個體傳送流量到另一個主機,且該主機也在 600 秒內將相同類型的流量傳送至您的執行個體,無論傳入安全群組規則為何,執行個體的安全群組都會接受該流量。安全群組會接受該流量,因為將其視為原始流量的回應流量。

變更安全群組規則時,其跟蹤的連線不會立即中斷。安全群組將繼續允許封包,直到現有連線逾時為止。若要確保無論追蹤狀態為何,流量皆會立即中斷,或所有流量都受到防火牆規則的限制,您可以為子網使用網路 ACL。網路 ACL 為無狀態,因此不會自動允許回應流量。新增阻止任一方向流量的網路 ACL 會破壞現有連線。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的網路 ACL

未追蹤的連線

並非所有的流量流程都會追蹤。若安全群組規則允許所有流量的 TCP 或 UDP 流 (0.0.0.0/0 或 ::/0),且另一個方向也有對應的規則,它允許所有連接埠 (0-65535) 的所有回應流量 (0.0.0.0/0 或 ::/0),則不會追蹤流量,除非其為自動追蹤連線的一部分。接著會依據允許回應流量的傳入或傳出規則允許未追蹤流的回應流量,而非依據追蹤資訊。

若啟用未受追蹤之流量流程的規則遭到移除或修改,則該流程會立即中斷。例如,如果您有一個開啟的 (0.0.0.0/0) 輸出規則,並移除允許所有 (0.0.0.0/0) 輸入 SSH (TCP 連接埠 22) 流量至執行個體的規則 (或進行修改以不再允許連線),則您現有的 SSH 連線會立即中斷與執行個體的連線。該連線之前未被追蹤,因此該變更會中斷連線。另一方面,如果您的輸入規則範圍較窄,最初允許 SSH 連線 (表示連線已被追蹤),但會將規則變更為不再允許來自目前 SSH 用戶端地址的新連線,則現有的 SSH 連線將不會因為其遭到追蹤而中斷。

自動追蹤連線

所有 ICMP 連線皆會自動追蹤。即使安全群組組態未以其他方式要求追蹤,也會自動追蹤透過以下方式所建立的連線。必須追蹤這些連線,以確保對稱路由,因為可能存在多個有效的回覆路徑。

  • 輸出限定網際網路閘道

  • 閘道負載平衡器

  • Global Accelerator 加速器

  • NAT 閘道

  • Network Firewall 防火墻端點

  • 網路負載平衡器

  • AWS PrivateLink (介面 VPC 端點)

  • 傳輸閘道連接

調節

Amazon EC2 會定義每個執行個體可追蹤的連線數目上限。達到最大值之後,任何傳送或接收的封包都會捨棄,因為無法建立新的連線。發生這種情況時,傳送及接收封包的應用程式無法正確通訊。

若要判斷是否因為執行個體的網路流量超過可追蹤的連線數目上限而捨棄封包,請使用 conntrack_allowance_exceeded 網路效能指標。如需詳細資訊,請參閱 監控 EC2 執行個體的網路效能

使用 Elastic Load Balancing 時,如果超過每個執行個體可追蹤的連線數目上限,建議您使用負載平衡器調整執行個體數目,或使用負載平衡器調整執行個體大小。

範例

在下列範例中,安全群組具備允許 TCP 和 ICMP 流量的傳入規則,以及允許所有傳出流量的對外規則。

傳入規則
通訊協定類型 連接埠號碼 來源 IP
TCP 22 (SSH) 203.0.113.1/32
TCP 80 (HTTP) 0.0.0.0/0
TCP 80 (HTTP) ::/0
ICMP All 0.0.0.0/0
傳出規則
通訊協定類型 連接埠號碼 目標 IP
All All 0.0.0.0/0
All All ::/0

對於執行個體或網路介面的直接網路連線,追蹤行為如下:

  • 會追蹤連接埠 22 (SSH) 上傳入和傳出的 TCP 流量,因為傳入規則僅允許來自 203.0.113.1/32 的流量,而非所有 IP 地址 (0.0.0.0/0)。

  • 連接埠 80 (HTTP) 上傳入和傳出的 TCP 流量則不會受到追蹤,因為傳入和傳出規則允許來自所有 IP 地址的流量。

  • ICMP 流量一律會受到追蹤。

若您移除 IPv4 流量的傳出規則,則所有傳入和傳出的 IPv4 流量都會受到追蹤,包括位於連接埠 80 (HTTP) 上的流量。如果您移除 IPv6 流量的傳出規則,IPv6 流量也會受到相同影響。