使用區域網路防火牆政策和規則

本頁假設您熟悉區域網路防火牆政策總覽中說明的概念。

防火牆政策工作

建立區域網路防火牆政策

您可以在Trusted Cloud 專案中為任何虛擬私有雲 (VPC) 網路建立政策。建立政策後,您可以將政策與專案中的任何虛擬私有雲網路建立關聯。建立關聯後,政策規則就會對相關聯網路中的 VM 生效。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取機構內的專案。

  3. 按一下「建立防火牆政策」

  4. 在「名稱」欄位中輸入政策名稱。

  5. 在「部署範圍」部分,選取「區域」。選取要建立這項防火牆政策的區域。

  6. 如要為政策建立規則,請按一下「繼續」,然後點選「新增規則」

    詳情請參閱「建立網路防火牆規則」。

  7. 如要將政策連結到網路,請按一下「繼續」,然後點選「將政策連結到虛擬私有雲網路」

    詳情請參閱「將政策與聯播網建立關聯」。

  8. 點選「建立」

gcloud

gcloud compute network-firewall-policies create \
    NETWORK_FIREWALL_POLICY_NAME \
    --description DESCRIPTION \
    --region=REGION_NAME

更改下列內容:

  • NETWORK_FIREWALL_POLICY_NAME:政策名稱
  • DESCRIPTION:政策說明
  • REGION_NAME:要套用政策的區域。

將政策連結至網路

將政策連結至網路,即可為該網路中的所有 VM 啟用政策規則。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下政策。

  4. 按一下「關聯項目」分頁標籤。

  5. 按一下「新增關聯項目」

  6. 選取專案中的網路。

  7. 按一下「關聯」

gcloud

gcloud compute network-firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --network NETWORK_NAME \
    --name ASSOCIATION_NAME  \
    --firewall-policy-region=REGION_NAME \
    [ --replace-association-on-target true ]

更改下列內容:

  • POLICY_NAME:政策的簡短名稱或系統產生的名稱
  • NETWORK_NAME:網路名稱
  • ASSOCIATION_NAME:關聯的選用名稱;如未指定,名稱會設為 network-NETWORK_NAME
  • REGION_NAME:要套用政策的區域

描述區域網路防火牆政策

您可以查看政策的所有詳細資料,包括所有防火牆規則。此外,您還可以看到政策中所有規則的許多屬性。這些屬性會計入每項政策的限制

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有區域網路防火牆政策的專案。

  3. 按一下政策。

gcloud

gcloud compute network-firewall-policies describe POLICY_NAME \
    --region=REGION_NAME

更新區域網路防火牆政策說明

可更新的政策欄位只有「說明」欄位。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有區域網路防火牆政策的專案。

  3. 按一下政策。

  4. 按一下 [編輯]

  5. 在「Description」(說明) 欄位中修改說明。

  6. 按一下 [儲存]

gcloud

gcloud compute network-firewall-policies update POLICY_NAME \
    --description DESCRIPTION \
    --region=REGION_NAME

列出區域網路防火牆政策

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

    「網路防火牆政策」部分會顯示專案中可用的政策。

gcloud

gcloud compute network-firewall-policies list \
    --regions=LIST_OF_REGIONS

刪除區域網路防火牆政策

您必須先刪除網路防火牆政策的所有關聯,才能刪除該政策。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下要刪除的政策。

  4. 按一下「關聯項目」分頁標籤。

  5. 選取所有關聯。

  6. 按一下「移除關聯項目」

  7. 移除所有關聯後,按一下「刪除」

gcloud

  1. 列出與防火牆政策相關聯的所有網路:

    gcloud compute network-firewall-policies describe POLICY_NAME \
        --region=REGION_NAME
    
  2. 刪除個別關聯。如要移除關聯,您必須在相關聯的虛擬私有雲 (VPC) 網路上擁有 Compute 安全管理員角色 (roles/compute.SecurityAdmin)。

    gcloud compute network-firewall-policies associations delete \
        --network-firewall-policy POLICY_NAME \
        --firewall-policy-region=REGION_NAME
    
  3. 刪除政策:

    gcloud compute network-firewall-policies delete POLICY_NAME \
        --region=REGION_NAME
    

刪除關聯

如要停止在網路上強制執行防火牆政策,請刪除關聯。

不過,如果您打算替換防火牆政策,則不需要先刪除現有關聯。刪除該關聯後,系統將有一段時間不會強制執行任何政策。而是建立新政策並建立關聯,取代現有政策。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取您的專案或含有政策的資料夾。

  3. 按一下政策。

  4. 按一下「關聯項目」分頁標籤。

  5. 選取要刪除的關聯。

  6. 按一下「移除關聯項目」

gcloud

gcloud compute network-firewall-policies associations delete ASSOCIATION_NAME \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region REGION_NAME

防火牆政策規則工作

建立網路防火牆規則

網路防火牆政策規則必須在區域網路防火牆政策中建立。您必須將包含規則的政策與虛擬私有雲網路建立關聯,規則才會生效。

每項網路防火牆政策規則可包含 IPv4 或 IPv6 範圍,但不能同時包含兩者。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下區域政策名稱。

  4. 在「防火牆規則」部分,按一下「建立」

  5. 填寫規則欄位:

    1. 優先順序:規則的數值評估順序。系統會依優先順序由高至低評估規則,其中 0 為最高優先順序。每項規則的優先順序不得重複。建議您為規則指定優先順序編號,以便日後插入規則 (例如 100200300)。
    2. 將「記錄」收集功能設為「開啟」或「關閉」
    3. 針對「Direction of traffic」(流量方向),選擇輸入或輸出。
    4. 在「相符時執行的動作」中,指定要允許 (允許) 或拒絕 (拒絕) 符合規則的連線,或是將連線評估作業傳遞至階層中下一個較低的防火牆規則 (前往下一個)。
    5. 指定規則的「Targets」(目標)
      • 如要將規則套用到網路中的所有執行個體,請選擇「All instances in the network」(網路中的所有執行個體)
      • 如要根據標記將規則套用到特定執行個體,請選擇「安全標記」。 按一下「SELECT SCOPE」,然後選取要建立標籤鍵/值組合的機構或專案。輸入要套用規則的鍵/值組合。如要新增更多鍵/值組合,請按一下「新增代碼」
      • 如要讓規則套用至與特定服務帳戶相關聯的執行個體,請選擇「服務帳戶」,並在「服務帳戶範圍」底下,指示服務帳戶是位於目前專案還是其他專案,接著在「目標服務帳戶」欄位中選擇或輸入服務帳戶名稱。
    6. 針對「Ingress」(輸入) 規則,指定「Source filter」(來源篩選器)

      • 如要依來源 IPv4 範圍篩選傳入流量,請選取「IPv4」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。如為任何 IPv4 來源,請使用 0.0.0.0/0
      • 如要依來源 IPv6 範圍篩選傳入流量,請選取「IPv6」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。如為任何 IPv6 來源,請使用 ::/0
      • 如要依標記限制來源,請按一下「標記」部分中的「選取範圍」。 選取要建立標記的機構或專案。輸入要套用規則的鍵/值組合。如要新增更多鍵/值組合,請按一下「新增代碼」
    7. 針對「Egress」(輸出) 規則,指定「Destination filter」(目的地篩選器)

      • 如要依目的地 IPv4 範圍篩選傳出流量,請選取「IPv4」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。針對任何 IPv4 目的地使用 0.0.0.0/0
      • 如要依目的地 IPv6 範圍篩選傳出流量,請選取「IPv6」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。針對任何 IPv6 目的地使用 ::/0
    8. 選用:如果您要建立「輸入」規則,請指定此規則適用的來源完整網域名稱。如果您要建立「輸出」規則,請選取這項規則適用的目的地 FQDN。如要進一步瞭解網域名稱物件,請參閱網域名稱物件

    9. 選用:如要建立輸入規則,請選取這項規則適用的來源地理位置。如要建立「輸出」規則,請選取此規則適用的目的地「地理位置」。如要進一步瞭解地理位置物件,請參閱地理位置物件

    10. 選用:如果您要建立 Ingress 規則,請選取要套用這項規則的來源位址群組。如果您要建立「輸出」規則,請選取這項規則適用的目的地「位址群組」。如要進一步瞭解位址群組,請參閱防火牆政策的位址群組

    11. 選用:針對「Ingress」(輸入) 規則,指定「Destination」(目的地) 篩選器:

      • 如要依目的地 IPv4 範圍篩選傳入流量,請選取「IPv4」,並在「IP 範圍」欄位中輸入 CIDR 區塊。針對任何 IPv4 目的地使用 0.0.0.0/0
      • 如要依目的地 IPv6 範圍篩選傳入流量,請選取「IPv6 範圍」,並在「目的地 IPv6 範圍」欄位中輸入 CIDR 區塊。針對任何 IPv6 目的地使用 ::/0。詳情請參閱「連入規則的目的地」。
    12. 選用:針對「Egress」(輸出) 規則,指定「Source」(來源) 篩選器:

      • 如要依來源 IPv4 範圍篩選傳出流量,請選取「IPv4」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。如為任何 IPv4 來源,請使用 0.0.0.0/0
      • 如要依來源 IPv6 範圍篩選傳出流量,請選取「IPv6」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。如為任何 IPv6 來源,請使用 ::/0。 詳情請參閱輸出規則的來源
    13. 在「Protocols and ports」(通訊協定和通訊埠) 中,指定規則要套用至所有通訊協定和所有目的地通訊埠,或指定要套用至哪些通訊協定和目的地通訊埠。

    14. 點選「建立」

  6. 按一下「新增規則」即可新增其他規則。按一下「繼續」>「將政策與虛擬私有雲網路建立關聯」,將政策與網路建立關聯,或按一下「建立」建立政策。

gcloud

gcloud compute network-firewall-policies rules create PRIORITY \
    --action ACTION \
    --firewall-policy POLICY_NAME \
    [--description DESCRIPTION ] \
    [--layer4-configs PROTOCOL_PORT] \
    [--target-secure-tags TARGET_SECURE_TAG[,TARGET_SECURE_TAG,...]] \
    [--target-service-accounts=SERVICE_ACCOUNT[,SERVICE_ACCOUNT,...]] \
    [--direction DIRECTION] \
    [--src-network-type SRC_NETWORK_TYPE] \
    [--src-networks SRC_VPC_NETWORK[,SRC_VPC_NETWORK,...]] \
    [--dest-network-type DEST_NETWORK_TYPE] \
    [--src-ip-ranges IP_RANGES] \
    [--src-secure-tags SRC_SECURE_TAG[,SRC_SECURE_TAG,...]] \
    [--dest-ip-ranges IP_RANGES] \
    [--src-region-codes COUNTRY_CODE[,COUNTRY_CODE,...]] \
    [--dest-region-codes COUNTRY_CODE[,COUNTRY_CODE,...]] \ 
    [--src-address-groups ADDR_GRP_URL[,ADDR_GRP_URL,...]] \
    [--dest-address-groups ADDR_GRP_URL[,ADDR_GRP_URLL,...]] \
    [--dest-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]] \
    [--src-fqdns DOMAIN_NAME[,DOMAIN_NAME,...]] \
    [--enable-logging | --no-enable-logging] \
    [--disabled | --no-disabled] \
    --firewall-policy-region=REGION_NAME

更改下列內容:

  • PRIORITY:規則的數值評估順序

    系統會從最高優先順序到最低優先順序評估規則,其中 0 為最高優先順序。每項規則的優先順序不得重複。建議您為規則指定優先順序編號,以便稍後插入 (例如 100200300)。

  • ACTION:下列其中一項動作:

    • allow:允許符合規則的連線
    • deny:拒絕符合規則的連線
    • goto_next:將連線評估結果傳遞至階層中的下一個層級,也就是資料夾或網路
  • POLICY_NAME:網路防火牆政策的名稱

  • PROTOCOL_PORT:以逗號分隔的通訊協定名稱或編號清單 (tcp,17)、通訊協定和目的地通訊埠 (tcp:80),或通訊協定和目的地通訊埠範圍 (tcp:5000-6000)

    如未指定通訊協定,就無法指定通訊埠或通訊埠範圍。如果是 ICMP,您無法指定通訊埠或通訊埠範圍,例如:

    --layer4-configs tcp:80,tcp:443,udp:4000-5000,icmp

    詳情請參閱通訊協定和通訊埠

  • TARGET_SECURE_TAG:以逗號分隔的安全標記清單,用於定義目標

  • SERVICE_ACCOUNT:以逗號分隔的服務帳戶清單,用於定義目標

  • DIRECTION:指出規則是 INGRESSEGRESS 規則;預設為 INGRESS

    • 加入 --src-ip-ranges,指定流量來源的 IP 範圍
    • 加入 --dest-ip-ranges,指定流量目的地的 IP 範圍

    詳情請參閱目標來源目的地

  • SRC_NETWORK_TYPE:指出要套用 Ingress 規則的來源網路流量類型。您可以將這個引數設為下列其中一個值:

    • INTERNET
    • NON_INTERNET
    • VPC_NETWORKS
    • INTRA_VPC

    如要清除這個引數的值,請使用空字串。如果值為空白,則表示所有網路類型。詳情請參閱「網路類型」。

  • SRC_VPC_NETWORK:以半形逗號分隔的虛擬私有雲網路清單

    只有在 --src-network-type 設為 VPC_NETWORKS 時,才能使用 --src-networks

  • DEST_NETWORK_TYPE:指出要套用輸出規則的目的地網路流量類型。您可以將這個引數設為下列其中一個值:

    • INTERNET
    • NON_INTERNET

    如要清除這個引數的值,請使用空字串。如果值為空白,則表示所有網路類型。詳情請參閱「網路類型」。

  • IP_RANGES:以半形逗號分隔的 CIDR 格式 IP 範圍清單,可以是所有 IPv4 範圍或所有 IPv6 範圍,例如:

    --src-ip-ranges=10.100.0.1/32,10.200.0.0/24
    --src-ip-ranges=2001:0db8:1562::/96,2001:0db8:1723::/96

  • SRC_SECURE_TAG:以逗號分隔的標記清單。

    如果網路類型設為 INTERNET,就無法使用來源安全代碼。

  • COUNTRY_CODE:以逗號分隔的雙字母國家/地區代碼清單

    • 如要設定輸入方向,請在 --src-region-code 標記中指定來源國家/地區代碼。您無法將 --src-region-code 旗標用於輸出方向,或 --src-network-type 設為 NON_INTERNETVPC_NETWORKINTRA_VPC 時。
    • 如要指定輸出方向,請在 --dest-region-code 旗標中指定目的地國家/地區代碼;您無法將 --dest-region-code 旗標用於輸入方向
  • ADDR_GRP_URL:地址群組的專屬網址 ID

    • 如果是輸入方向,請在 --src-address-groups 標記中指定來源位址群組;如果是輸出方向,則無法使用 --src-address-groups 標記
    • 如為輸出方向,請在 --dest-address-groups 標記中指定目的地位址群組;如為輸入方向,則無法使用 --dest-address-groups 標記
  • DOMAIN_NAME:以逗號分隔的網域名稱清單,格式如「網域名稱格式」一節所述

    • 如果是輸入方向,請在 --src-fqdns 標記中指定來源網域名稱;如果是輸出方向,則無法使用 --src-fqdns 標記
    • 如為輸出方向,請在 --dest-fqdns 標記中指定目的地位址群組;如為輸入方向,則無法使用 --dest-fqdns 標記
  • --enable-logging--no-enable-logging:啟用或停用指定規則的防火牆規則記錄功能

  • --disabled:表示防火牆規則存在,但處理連線時不應考量此規則;省略此標記會啟用規則,您也可以指定 --no-disabled

  • REGION_NAME:要套用政策的區域

更新規則

如需欄位說明,請參閱「建立網路防火牆規則」。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下政策。

  4. 按一下規則的優先順序。

  5. 按一下 [編輯]

  6. 修改要變更的欄位。

  7. 按一下 [儲存]

gcloud

gcloud compute network-firewall-policies rules update PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME \
    [...fields you want to modify...]

說明規則

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下政策。

  4. 按一下規則的優先順序。

gcloud

gcloud compute network-firewall-policies rules describe PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME

更改下列內容:

  • PRIORITY:要查看的規則優先順序;由於每個規則的優先順序不得重複,這項設定可做為規則的專屬 ID
  • POLICY_NAME:包含規則的政策名稱
  • REGION_NAME:要套用政策的區域。

從政策中刪除規則

從政策中刪除規則後,所有繼承該規則的 VM 都會移除該規則。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下政策。

  4. 選取要刪除的規則。

  5. 點選「刪除」。

gcloud

gcloud compute network-firewall-policies rules delete PRIORITY \
    --firewall-policy POLICY_NAME \
    --firewall-policy-region=REGION_NAME

更改下列內容:

  • PRIORITY:要從政策中刪除的規則優先順序
  • POLICY_NAME:包含規則的政策
  • REGION_NAME:要套用政策的區域

將規則從一項政策複製到另一項政策

從目標政策中移除所有規則,並以來源政策中的規則取代。

主控台

  1. 在 Trusted Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 在專案選取器選單中,選取含有政策的專案。

  3. 按一下要複製規則的政策。

  4. 按一下畫面頂端的「複製」

  5. 提供目標政策的名稱。

  6. 如要立即將新政策與資源建立關聯,請依序點選「繼續」>「將網路政策連結至資源」。

  7. 按一下 [Clone] (複製)。

gcloud

gcloud compute network-firewall-policies clone-rules POLICY_NAME \
    --source-firewall-policy SOURCE_POLICY \
    --region=REGION_NAME

更改下列內容:

  • POLICY_NAME:要接收複製規則的政策
  • SOURCE_POLICY:要從中複製規則的政策;必須是資源的網址
  • REGION_NAME:要套用政策的區域

取得有效的區域網路防火牆政策

您可以查看所有階層式防火牆政策規則、虛擬私有雲防火牆規則,以及套用至指定區域的網路防火牆政策。

gcloud

gcloud compute network-firewall-policies get-effective-firewalls \
    --region=REGION_NAME \
    --network=NETWORK_NAME

更改下列內容:

  • REGION_NAME:要查看有效規則的區域。
  • NETWORK_NAME:要查看有效規則的網路。