建立防火牆端點和端點關聯

本文說明如何使用 Google Cloud 控制台、Google Cloud CLI 或 Terraform 建立防火牆端點,並將其與虛擬私有雲 (VPC) 網路建立關聯。

如要控管網路流量及保護虛擬機器 (VM) 執行個體,請設定防火牆端點和端點關聯。建立防火牆端點後,請建立區域關聯,將端點連結至同一區域內的一或多個虛擬私有雲網路。

本文適用於負責設定網路安全和防火牆端點的網路管理員、安全工程師和安全架構師。

事前準備

設定防火牆端點和關聯前,請先完成下列步驟:

角色和權限

如要取得建立防火牆端點所需的權限,請要求管理員授予您組織或專案的必要身分與存取權管理 (IAM) 角色。詳情請參閱「管理存取權」。

如要查看本頁列出作業的進度,請確保使用者帳戶具備Compute 網路使用者 (roles/compute.networkUser) 角色,該角色包含下列權限:

  • networksecurity.operations.get
  • networksecurity.operations.list

配額

如要查看防火牆端點和關聯的配額,請參閱「配額與限制」。

建立防火牆端點

您可以在特定可用區中建立防火牆端點。為確保流量檢查正常運作並避免路由失敗,請在與要檢查的工作負載相同的區域中,建立防火牆端點。

您可以在機構層級或專案層級建立防火牆端點。 組織層級端點僅支援組織層級安全設定檔群組。專案層級端點同時支援機構層級和專案層級的安全設定檔群組。

您可以建立支援巨型封包的防火牆端點,也可以建立不支援巨型封包的防火牆端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。

控制台

  1. 前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。

    前往「Firewall endpoints」(防火牆端點) 頁面

  2. 按一下「開啟專案挑選器」,然後選取機構或專案。

  3. 如果您選取了機構,請按一下「建立機構層級端點」。

    如果您已選取專案,請在「位於這項專案的防火牆端點」部分中,按一下「建立專案層級端點」。

  4. 在「Region」(區域) 清單中,選取要建立防火牆端點的區域。

  5. 在「Zone」(可用區) 清單中,選取要建立防火牆端點的可用區。

  6. 在「Name」(名稱) 欄位中,輸入防火牆端點的名稱。

  7. 如要建立機構層級的端點,請在「帳單專案」清單中,選取要用於支付防火牆端點費用的 Google Cloud 專案。

  8. 按一下「繼續」。「進階設定」部分隨即開啟。

  9. 如要為端點啟用進階惡意軟體沙箱支援功能,請選取「啟用進階惡意軟體沙箱 (WildFire)」(預覽版) 核取方塊。

    1. 如果未接受所選專案的使用者授權協議 (EULA),請按一下「同意並繼續」,接受進階惡意軟體沙箱專屬的 EULA。

    2. (選用) 按一下「額外的進階惡意軟體沙箱設定」清單,然後執行下列動作:

      • 在「進階惡意軟體沙箱區域」清單中選取區域。
      • 在「內容雲端區域」清單中選取區域。
      • 在「Signature lookup timeout」(簽章查詢逾時) 欄位中,輸入逾時時間長度。
      • 在「簽章查閱逾時動作」清單中,選取 Allow 或 Deny。
      • 如要封鎖 HTTP 部分回應,請選取「封鎖 HTTP 部分回應」核取方塊。
      • 在「Inline cloud analysis max duration」(即時雲端分析最長持續時間) 欄位中輸入時間長度。
      • 在「即時雲端分析逾時動作」 清單中,選取 Allow 或 Deny。
      • 如要針對進階惡意軟體沙箱內嵌雲端分析期間逾時的檔案產生記錄,請選取「Enable submission timeout logging」(啟用提交逾時記錄) 核取方塊。
  10. 如要讓端點支援巨型封包,請勾選「啟用巨型封包支援功能」核取方塊;否則請取消勾選這個核取方塊。

  11. 按一下「繼續」。

  12. 如要新增防火牆端點關聯,請按一下「新增端點關聯」;否則請跳過這個步驟。

    1. 在「Project」(專案) 清單中,選取要建立防火牆端點關聯的 Google Cloud 專案。
    2. 如果 Google Cloud 專案未啟用 Compute Engine API 或 Network Security API,請按一下「啟用」。
    3. 在「Network」(網路) 清單中,選取要與防火牆端點建立關聯的網路。
    4. 在「TLS 檢查政策」清單中,選取要新增至這項關聯的 TLS 檢查政策。
    5. 如要新增其他關聯,請按一下「新增端點關聯」。
  13. 點選「建立」。

gcloud

如要建立防火牆端點,請使用 gcloud network-security firewall-endpoints create 指令:

gcloud network-security firewall-endpoints create NAME \
    --organization ORGANIZATION_ID | --project PROJECT_ID \
    --location LOCATION \
    [--billing-project QUOTA_PROJECT_ID] \
    [--enable-jumbo-frames]

更改下列內容:

  • NAME:防火牆端點的名稱。

  • ORGANIZATION_ID:組織 ID。使用這個旗標建立組織層級的防火牆端點。

  • PROJECT_ID:專案 ID。使用這個旗標建立專案層級防火牆端點。

  • LOCATION:要建立端點的可用區。

  • QUOTA_PROJECT_ID:配額專案 ID。 這個旗標僅適用於組織層級的防火牆端點。

如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請使用選用的 --enable-jumbo-frames 標記。略過這個標記,即可建立不支援巨型封包的端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。

如要建立支援進階惡意軟體沙箱的防火牆端點,請使用 gcloud beta network-security firewall-endpoints create 指令 (預先發布版):

gcloud beta network-security firewall-endpoints create NAME \
    --organization ORGANIZATION_ID | --project PROJECT_ID \
    --zone ZONE \
    --enable-jumbo-frames \
    --enable-wildfire \
    --wildfire-region=WILDFIRE_REGION \
    --content-cloud-region=CONTENT_CLOUD_REGION \
    --hold-for-wildfire-realtime-signature-lookup-timeout-ms=TIMEOUT_MS \
    --hold-for-wildfire-realtime-signature-lookup-timeout-action=ACTION \
    --wildfire-inline-cloud-analysis-timeout-ms=TIMEOUT_MS \
    --wildfire-inline-cloud-analysis-timeout-action=ACTION \
    --[no-]enable-wildfire-analysis-logging \
    --[no-]block-partial-http \
    --billing-project BILLING_PROJECT_ID

更改下列內容:

  • WILDFIRE_REGION:端點傳送不明檔案的地理區域。
  • CONTENT_CLOUD_REGION:端點使用的內容雲端區域。
  • TIMEOUT_MS:簽章查詢或內嵌分析的逾時閾值 (以毫秒為單位)。
  • ACTION:逾時動作,必須是 Allow 或 Deny。
  • --[no-]enable-wildfire-analysis-logging:是否要啟用逾時事件的記錄功能。
  • --[no-]block-partial-http:選取即可禁止繼續下載遭到封鎖的惡意 HTTP 檔案。

如要將防火牆端點與虛擬私有雲網路建立關聯,請參閱「建立防火牆端點關聯」。

Terraform

使用 google_network_security_firewall_endpoint Terraform 資源。

resource "google_network_security_firewall_endpoint" "default" {
  name               = "my-firewall-endpoint"
  parent             = "organizations/123456789"
  location           = "us-central1-a"
  billing_project_id = "my-project-name"
  enable_jumbo_frames = true
}

如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請將「enable_jumbo_frames」欄位設為「true」。如要建立不支援巨型封包的防火牆端點,請將這個欄位設為 false。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。如要建立支援進階惡意軟體沙箱的防火牆端點,請將 enable_wildfire 欄位設為 True。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

建立防火牆端點關聯

防火牆端點關聯會將防火牆端點連結至特定可用區中的虛擬私有雲網路。建立關聯後,系統會確保該可用區中與相關聯網路的攔截規則相符的流量,都會由防火牆端點檢查。

建立關聯前,請確認您有防火牆端點。

關聯規定

設定端點關聯時,請遵守下列規定:

  • 可用區限制:您必須在與防火牆端點相同的可用區中建立關聯。如要有效檢查流量,請在部署運算執行個體的區域中建立關聯。
  • 每個可用區一個端點:在單一可用區中,您只能將虛擬私有雲網路與一個防火牆端點 (專案層級或機構層級) 建立關聯。不過,您可以將單一虛擬私有雲網路與多個不同可用區的不同防火牆端點建立關聯。
  • 跨專案關聯:您可以將虛擬私有雲網路與其他專案中的防火牆端點建立關聯。如果您使用專案層級端點,端點的專案必須與虛擬私有雲網路位於同一機構。
  • 資源對應:關聯是專案層級的資源。即使關聯指向機構層級的防火牆端點,您仍可在部署運算執行個體的特定專案中建立關聯。

支援巨型封包的防火牆端點只能接受大小上限為 8,500 個位元組的封包。或者,不支援巨型封包的防火牆端點只能接受大小上限為 1,460 個位元組的封包。如需入侵偵測和防護服務、進階惡意軟體沙箱或網址篩選服務,建議您將相關聯的 VPC 網路設定為使用 最大傳輸單位 (MTU) 限制,分別為 8,500 個位元組和 1,460 個位元組。詳情請參閱「 支援的封包大小」。

控制台

  1. 前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。

    前往「Firewall endpoints」(防火牆端點) 頁面

  2. 在專案選取器選單中,選取您的 Google Cloud 專案。

  3. 按一下「建立端點關聯」。

  4. 在「Region」(區域) 清單中,選取要建立防火牆端點關聯的區域。

  5. 在「Zone」(可用區) 清單中,選取要建立防火牆端點關聯的可用區。

  6. 在「防火牆端點」清單中,選取要新增至關聯的防火牆端點。

  7. 在「Network」(網路) 清單中,選取要新增至關聯的網路。

  8. 在「TLS 檢查政策」清單中,選取要新增至這項關聯的 TLS 檢查政策。

  9. 點選「建立」。

gcloud

如要建立防火牆端點關聯,請使用 gcloud network-security firewall-endpoint-associations create 指令。

機構層級防火牆端點

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint organizations/ORGANIZATION_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

專案層級防火牆端點

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint projects/ENDPOINT_PROJECT_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

更改下列內容:

  • NAME:防火牆端點關聯的名稱。

  • ORGANIZATION_ID:防火牆端點所在的組織 ID。這個旗標僅適用於組織層級的防火牆端點。

  • ENDPOINT_PROJECT_ID:防火牆端點所在的專案 ID。這個旗標僅適用於專案層級的防火牆端點。

  • LOCATION:防火牆端點所在的可用區。

  • FIREWALL_ENDPOINT_NAME:防火牆端點的名稱。

  • PROJECT_NAME:網路的 Google Cloud 專案名稱。

  • NETWORK_NAME:網路名稱。

  • PROJECT_ID:建立關聯的 Google Cloud 專案 ID。這個專案應為您要攔截流量的專案。

  • TLS_PROJECT_NAME:TLS 檢查政策的 Google Cloud 專案名稱。

  • REGION_NAME:TLS 檢查政策的區域名稱。

  • TLS_POLICY_NAME:TLS 檢查政策的名稱。

    這項政策用於檢查指定網路上的加密流量。這是選用引數。

後續步驟