如何使用 NAT 閘道設定 AWS Network Firewall?

3 分的閱讀內容
0

我想要將 AWS Network Firewall 設定為使用 NAT 閘道檢查流量。

簡短說明

AWS Network Firewall 可針對您 Amazon Virtual Private Cloud (Amazon VPC) 內的資源進出流量提供更精細的控制。為了保護 Amazon VPC 資源,您可以將網路防火牆端點部署在其子網路中,並透過這些端點路由工作負載執行個體流量。這可以藉由以下方式完成:

  • 建立 VPC
  • 建立防火牆
  • 設定流量路由

**注意:**網路防火牆無法檢查部署防火牆端點所在之相同子網路中的工作負載。

解決方法

建立 VPC

  1. 開啟 Amazon VPC 主控台
  2. 在 VPC 儀表板上,按一下建立 VPC
  3. VPC 設定下,輸入以下內容:
    選擇 VPC 及其他及其他
    自動產生名稱標籤下,輸入 VPC 的名稱。在此範例中,VPC 的名稱為 Protected_VPC_10.0.0.0_16-vpc。如果選取自動產生選項,該名稱將作為名稱標籤新增至 VPC 中的所有資源。
    對於 IPv4 CIDR 區塊,請輸入 10.0.0.0/16
    對於 ** IPv6 CIDR 區塊**,請選擇無 IPv6 CIDR 區塊
    對於租用,請選擇預設
    對於可用區域 (AZ) 的數目,請選擇 2
    自訂 AZ 下,選擇兩個可用區域。在此範例中,選取 us-east-2aus-east-2b
    對於公有子網路的數目,請選擇 2
    對於私有子網路的數目,請選擇 4。其中兩個私有子網路用於防火牆,另外兩個用於工作負載子網路。
    對於 NAT 閘道 ($),請選擇每個 AZ 1 個。NAT 閘道會自動部署在公有子網路中。
    對於 VPC 端點,請選擇
  4. 選擇建立 VPC
  5. 根據子網路的用途為子網路命名:
    這兩個公有子網路用於 NAT 閘道,在此範例中分別名為 Public_Subnet_AZaPublic_Subnet_AZb
    對於私有子網路,兩個用於防火牆端點,在此範例中分別命名為 Firewall_Subnet_AZaFirewall_Subnet_AZb
    另外兩個私有子網路用於工作負載端點,在此範例中分別命名為Private_Subnet_AZaPrivate_Subnet_AZb

建立防火牆

  1. 在瀏覽窗格的網路防火牆下,選擇防火牆
  2. 選擇建立防火牆
  3. 建立防火牆下,輸入下列內容:
    輸入防火牆的名稱。在此範例中,防火牆的名稱為 Network-Firewall-Tes
    對於 VPC,請選擇Protected_VPC_10.0.0.0_16-vpc
    對於防火牆子網路,請選擇第一個可用區域 (us-east-2a),然後選擇 Firewall_Subnet_AZa 做為子網路。接下來,選擇新增子網路,針對第二個可用區域 (us-east-2b) 重複上述步驟,並為子網路選擇 Firewall_Subnet_AZb 做為子網路。
    對於關聯的防火牆政策,請選擇建立並關聯空的防火牆政策
    新防火牆政策名稱中,輸入新政策的名稱。
  4. 選擇建立防火牆。每個子網路都必須有唯一的路由表。四個私有子網路具有與其相關聯的唯一路由表,而公有子網路則共用路由表。您必須使用網際網路閘道的靜態路由來建立新的路由表,並將其與其中一個公有子網路產生關聯。

設定流量路由

流量資料流如下:

  • 從 AZa 中的工作負載執行個體起始的流量會轉送至 AZa 中的防火牆端點。
  • 在 AZa 中的防火牆端點會將流量路由到 AZa 中的 NAT 閘道。
  • AZa 中的 NAT 閘道會將流量轉送至與 VPC 相關聯的網際網路閘道。
  • 網際網路閘道會將流量轉送至網際網路。

反向流量會以相反方向遵循相同的路徑:

  • 將來自網際網路的流量傳回連接至 VPC 的網際網路閘道。只能將一個網際網路閘道連接至 VPC。
  • 網際網路閘道會將流量轉送至 AZa 中的 NAT 閘道。網際網路閘道會根據工作負載「可用區域」做出此決策。由於流量的目的地位於 AZa 中,因此網際網路閘道會選取 AZa 中的 NAT 閘道以轉送流量。無須為網際網路閘道維護路由表。
  • AZa 中的 NAT 閘道會將流量轉送至 AZa 中的防火牆端點。
  • AZa 中的防火牆端點將流量轉送至 AZa 中的工作負載。

**注意:**網際網路閘道可針對從網際網路傳回工作負載執行個體的封包識別 NAT 閘道。

建立 VPC 和防火牆之後,您必須設定路由表。設定路由表時,請記住下列事項:

  • Aza 中的私有子網路 (Private_Subnet_AZa) 會將所有傳送至網際網路的流量轉送至 AZa 中的防火牆端點 (Firewall_Subnet_AZa)。這會在 AZb 中的私有子網路和 AZb 中的防火牆端點重複執行此動作。
  • AZa 中的防火牆子網路 (Firewall_Subnet_AZa) 會將所有傳送至網際網路的流量轉送至 AZa 中的 NAT 閘道 (Public_Subnet_AZa)。這會在 AZb 中的防火牆子網路和 AZb 中的 NAT 閘道中重複執行此動作。
  • AZa 中的公有子網路 (Public_Subnet_AZa) 會將所有流量轉送至連接至 VPC 的網際網路閘道。
  • 傳回的流量以反方向沿著相同的路徑傳輸。

**注意:**流量會保留在相同的「可用區域」中,以便網路防火牆同時透過相同的防火牆端點路由傳送輸出和輸入的流量。這可讓每個「可用區域」中的防火牆端點對封包進行狀態檢查。

以下是路由表的範例組態:

Public_Subnet_RouteTable_AZa (子網路關聯: Public_Subnet_AZa)

目的地**目標 **
0.0.0.0/0網際網路閘道
10.0.0.0/16本機
10.0.128.0/20AZa 中的防火牆端點

**注意:在此範例中,10.0.128.0/20 是 Private_Subnet_AZa 的 ** CIDR

Public_Subnet_RouteTable_AZb (子網路關聯: Public_Subnet_AZb)

目的地**目標 **
0.0.0.0/0網際網路閘道
10.0.0.0/16本機
10.0.16.0/20AZb 中的防火牆端點

注意:在此範例中,10.0.16.0/20 是Private_Subnet_AZb 的 CIDR

Firewall_Subnet_RouteTable_AZa (子網路關聯: Firewall_Subnet_AZa)

目的地**目標 **
0.0.0.0/0Public_Subnet_AZa 中的 NAT 閘道
10.0.0.0/16本機

Firewall_Subnet_RouteTable_AZb (子網路關聯: Firewall_Subnet_AZb)

目的地**目標 **
0.0.0.0/0Public_Subnet_AZb 中的 NAT 閘道
10.0.0.0/16本機

Private_Subnet_RouteTable_AZa (子網路關聯: Private_Subnet_AZa)

目的地**目標 **
0.0.0.0/0AZa 中的防火牆端點
10.0.0.0/16本機

Private_Subnet_RouteTable_AZb (子網路關聯: Private_Subnet_AZb)

目的地**目標 **
0.0.0.0/0AZb 中的防火牆端點
10.0.0.0/16本機

若要驗證路由是否設定正確,您可以在其中一個私有子網路中部署 EC2 執行個體,以測試您的網際網路連線。如果沒有在網路防火牆政策中設定任何規則,系統將不會檢查流量,而且可以連線至網際網路。確認路由、安全群組和網路存取控制清單 (network ACL) 已設定之後,請將規則新增至防火牆政策。

**注意:**您也可以設定 Network Firewall,透過防火牆,然後透過 NAT 閘道路由來自網際網路的流量。如需詳細資訊,請參閱具有網際網路閘道和 NAT 閘道的架構

相關資訊

AWS Network Firewall 中的記錄和監控

路由表概念

具有 VPC 路由增強功能的 AWS Network Firewall 部署模型

AWS 官方
AWS 官方已更新 2 年前