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

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

防火牆政策工作

本節說明如何建立、建立關聯及管理區域網路防火牆政策和規則。

建立區域網路防火牆政策

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

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

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

  4. 在「Policy name」(政策名稱) 欄位中,輸入政策名稱。

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

  6. 如要為政策建立規則,請按一下「繼續」

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

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

  8. 如要將政策與網路建立關聯,請按一下「繼續」

  9. 在「將政策與網路建立關聯」部分中,按一下「建立關聯」

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

  10. 點選「建立」

gcloud

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

更改下列內容:

  • NETWORK_FIREWALL_POLICY_NAME:政策名稱
  • DESCRIPTION:政策說明
  • REGION_NAME:政策的區域

將政策與網路建立關聯

您可以將區域網路防火牆政策與虛擬私有雲網路的區域建立關聯,並將政策中的規則套用至該網路區域。

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「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

更改下列內容:

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

說明區域網路防火牆政策

您可以描述政策,查看下列詳細資料:

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

  3. 按一下政策。

gcloud

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

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

唯一可更新的政策欄位是「說明」欄位。

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

  3. 按一下政策。

  4. 按一下 [編輯]

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

  6. 按一下 [儲存]

gcloud

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

列出區域網路防火牆政策

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

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

gcloud

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

刪除區域網路防火牆政策

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

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

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

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

  5. 選取所有關聯。

  6. 按一下「移除關聯」

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

gcloud

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

    gcloud compute network-firewall-policies describe POLICY_NAME \
        --region=REGION_NAME
    
  2. 刪除個別關聯。如要移除關聯,您必須在相關聯的虛擬私有雲 (VPC) 網路上擁有 Compute Security Admin 角色 (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. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

  3. 按一下政策。

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

  5. 選取要刪除的關聯。

  6. 按一下「移除關聯」

gcloud

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

防火牆政策規則工作

建立網路防火牆規則

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

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

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

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

  4. 如要建立防火牆規則,請按一下「建立防火牆規則」

  5. 填寫規則欄位:

    1. 優先順序:規則的數值評估順序。系統會依優先順序由高到低評估規則,其中 0 為最高優先順序。每項規則的優先順序不得重複。建議您為規則指定優先順序編號,以便日後插入規則 (例如 100200300)。
    2. 將「記錄」設為「開啟」或「關閉」
    3. 針對「Direction of traffic」(流量方向),選擇輸入或輸出。
    4. 在「相符時執行的動作」中,指定要允許 (允許) 或拒絕 (拒絕) 符合規則的連線,或是將連線評估作業傳遞至階層中下一個防火牆規則 (前往下一個)。
    5. 指定規則的「目標」

      • 如要將規則套用到網路中的所有執行個體,請選擇「套用至所有執行個體」
      • 如要讓規則套用至與特定服務帳戶相關聯的執行個體,請選擇「服務帳戶」,並在「服務帳戶範圍」底下,指示服務帳戶是位於目前專案還是其他專案,接著在「目標服務帳戶」欄位中選擇或輸入服務帳戶名稱。
      • 如要根據安全標記將規則套用到特定執行個體,請選擇「安全標記」

        • 按一下「Select scope for tags」(選取代碼範圍),然後選取要建立安全代碼鍵/值配對的機構或專案。輸入要套用規則的鍵/值組合。
        • 如要新增更多鍵/值組合,請按一下「新增代碼」
    6. 針對「Ingress」(輸入) 規則,指定「Source filter」(來源篩選器)

      • 如要依來源 IPv4 範圍篩選傳入流量,請選取「IPv4」,然後在「IP 範圍」欄位中輸入 CIDR 區塊。針對任何 IPv4 來源使用 0.0.0.0/0
      • 如要依來源 IPv6 範圍篩選傳入流量,請選取「IPv6」,然後在「IPv6 範圍」欄位中輸入 CIDR 區塊。如為任何 IPv6 來源,請使用 ::/0
      • 如要使用安全標記限制來源,請按一下「安全標記」專區中的「選取標記範圍」

        • 選取要建立標記的機構或專案。輸入要套用規則的鍵/值組合。
        • 如要新增更多鍵/值組合,請按一下「新增代碼」
    7. 針對「Egress」(輸出) 規則,指定「Destination filter」(目的地篩選器)

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

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

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

    11. 選用:如果您要建立「輸入」規則,請選取這項規則適用的「Google Cloud Threat Intelligence」清單。如要建立「Egress」(輸出) 規則,請選取這項規則適用的目的地 Google Cloud Threat Intelligence 清單。如要進一步瞭解 Google Threat Intelligence,請參閱「防火牆政策規則的 Google Threat Intelligence」。

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

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

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

    15. 點選「建立」

  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-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--dest-threat-intelligence LIST_NAMES[,LIST_NAME,...]] \
    [--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:依評估順序前往下一項政策。

      如果虛擬私有雲網路有多項相關聯的區域網路防火牆政策,系統會依評估順序,評估這些區域政策中的下一項政策。

      舉例來說,如果兩個區域網路防火牆政策與虛擬私有雲網路相關聯,且優先順序較高的政策使用 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 旗標用於輸入方向
  • LIST_NAMES:以半形逗號分隔的 Google Threat Intelligence 清單名稱清單

    • 如果是輸入方向,請在 --src-threat-intelligence 標記中指定來源 Google Threat Intelligence 清單。您無法將 --src-threat-intelligence 旗標用於輸出方向,或 --src-network-type 設為 NON_INTERNETVPC_NETWORKINTRA_VPC 時。
    • 如要指定輸出方向,請在 --dest-threat-intelligence 旗標中指定目的地 Google 威脅情報清單;您無法將 --dest-threat-intelligence 旗標用於輸入方向
  • 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. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「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. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「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:要套用政策的區域。

從政策中刪除規則

從政策中刪除規則後,該規則就不會再套用至規則目標的新連線。

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

  3. 按一下政策。

  4. 選取要刪除的規則。

  5. 按一下「Delete」(刪除)

gcloud

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

更改下列內容:

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

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

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

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「Firewall policies」(防火牆政策)

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

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

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

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

  6. 如要立即建立新政策的關聯,請依序點按「繼續」>「建立關聯」。

  7. 在「將政策與虛擬私有雲網路建立關聯」頁面中,選取網路並按一下「建立關聯」

  8. 按一下「繼續」

  9. 按一下 [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:您要查看有效規則的網路。