本頁面提供階層式防火牆政策的範例。這些範例有助於瞭解階層式防火牆政策的運作方式,以及如何使用這類政策,在 Google Cloud 資源階層中提供一致的安全性。如要瞭解這些範例,請先熟悉階層式防火牆政策概念。
範例 1:允許探測器存取所有 VM
這個範例說明如何在機構層級設定防火牆規則,並允許探測器存取所有虛擬機器 (VM)。探測器是一種特殊程式,可自動檢查 VM,判斷其內容或設定。
情境
您是安全管理員,需要確保安全掃描工具可以連線至所有 VM 執行個體。這項工具會從 IP 位址 10.100.0.1 將探測訊號傳送至目的地通訊埠 123。
請確保貴機構的任何層級,都沒有網路或安全管理員不慎封鎖這項連線。
下圖顯示這個情境的設定:
政策如何套用至 VM
評估所有規則後,防火牆政策會套用至 VM,如下所示:
連入連線
機構政策允許從來源 IP
10.100.0.1到目的地通訊埠123的輸入連線。如果機構政策相符,則允許探查連線,並停止評估階層中的其他規則。如果輸入連線並非源自來源 IP
10.100.0.1或目標目的地通訊埠123,就不會發生相符情形。因此,虛擬私有雲 (VPC) 防火牆規則中的預設連入規則會套用,並拒絕連線。
輸出連線
階層定義的規則不相符。因此,虛擬私有雲防火牆規則中的預設輸出規則會套用,並允許輸出連線。如果您已設定其他防火牆規則來拒絕輸出流量,請注意, Google Cloud 防火牆是有狀態的,允許已建立連線的回傳流量。
如果您已設定輸出防火牆規則來拒絕輸出流量 (包括隱含的
deny-all輸出規則),且設定包含不使用連線追蹤的通訊協定,則必須明確設定防火牆規則,允許輸出傳回流量。
如何設定
如要建立政策規則並與機構建立關聯,請按照下列步驟操作:
建立防火牆政策來納入規則:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION將規則新增至防火牆政策:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --layer4-configs=tcp:123 \ --firewall-policy SHORT_NAME \ --organization ORG_ID \ --src-ip-ranges=10.100.0.1/32將防火牆政策與機構建立關聯:
gcloud compute firewall-policies associations create \ --firewall-policy SHORT_NAME\ --organization ORG_ID更改下列內容:
ORG_ID:貴機構的 ID指定機構 ID,建立以機構為父項的政策。這項政策可以與機構或機構內的資料夾建立關聯。
SHORT_NAME:政策名稱使用 Google Cloud CLI 建立的政策有兩個名稱:系統產生的名稱和您提供的簡短名稱。使用 gcloud CLI 更新現有政策時,您可以提供系統產生的名稱,也可以提供簡稱和機構 ID。使用 API 更新政策時,必須提供系統產生的名稱。
DESCRIPTION:防火牆政策說明
範例 2:拒絕所有外部連線,但特定通訊埠除外
這個範例說明如何設定政策,拒絕來自特定連接埠的連入連線。
情境
您是安全管理員,想封鎖所有連入的網際網路流量,確保貴機構安全無虞,但特定服務除外,例如網頁流量 (連接埠 80 和 443) 和 SSH 存取權 (連接埠 22)。您必須封鎖連接埠 80、443 或 22 以外的所有連入網際網路流量,無論現有的虛擬私有雲網路規則為何。對於這些允許的連接埠上的連線,您可以將權限委派給虛擬私有雲安全管理員,由他們決定特定虛擬私有雲網路中的情況。
下圖顯示這個情境的設定:
政策如何套用至 VM
評估階層中的規則後,VM 防火牆政策會套用如下:
連入連線
來自
10.0.0.0/8的連入連線會符合優先順序最高的機構層級規則delegate-internal-traffic。這些連線會略過機構政策中的其餘規則,並根據虛擬私有雲網路層級的防火牆規則進行評估。虛擬私有雲防火牆規則允許來自10.2.0.0/16的連線,並根據默示輸入規則deny評估其餘連線。來自
10.0.0.0/8IP 範圍以外來源的輸入連線,會委派至下一個層級,目的地通訊埠為22、80和443。在這個層級,規則允許通訊埠80和443的流量,但會封鎖通訊埠22。其他所有連線都會遭到封鎖。
輸出連線
階層定義的規則不相符。因此,虛擬私有雲防火牆規則中的預設輸出規則會套用,並允許輸出連線。如果您已設定其他防火牆規則來拒絕輸出流量,請注意, Google Cloud 防火牆是有狀態的,允許已建立連線的回傳流量。
如果您已設定輸出防火牆規則來拒絕輸出流量 (包括隱含的
deny-all輸出規則),且設定包含不使用連線追蹤的通訊協定,則必須明確設定防火牆規則,允許輸出傳回流量。
如何設定
如要建立政策規則並允許外部 TCP 80 或 443 連線,請按照下列步驟操作:
建立防火牆政策來納入規則:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION新增規則,將內部連線委派給專案擁有者:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --organization ORG_ID \ --firewall-policy SHORT_NAME \ --src-ip-ranges=10.0.0.0/8新增規則,將通訊埠
80、443或22的外部連線規則委派給專案擁有者:gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description DESCRIPTION \ --src-ip-ranges=0.0.0.0/0 \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization ORG_ID \ --firewall-policy SHORT_NAME新增規則,拒絕所有其他外部連線:
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --firewall-policy SHORT_NAME \ --src-ip-ranges=0.0.0.0/0將防火牆政策與機構建立關聯:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --firewall-policy SHORT_NAME在專案中新增防火牆規則,允許來自指定子網路的內部連線:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16在專案中新增防火牆規則,允許外部 TCP
80或443連線:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443更改下列內容:
ORG_ID:貴機構的 ID指定機構 ID,建立以機構為父項的政策。這項政策可以與機構或機構內的資料夾建立關聯。
SHORT_NAME:政策名稱使用 Google Cloud CLI 建立的政策有兩個名稱:系統產生的名稱和您提供的簡短名稱。使用 gcloud CLI 更新現有政策時,您可以提供系統產生的名稱,也可以提供簡稱和機構 ID。使用 API 更新政策時,必須提供系統產生的名稱。
DESCRIPTION:防火牆政策說明
範例 3:拒絕輸出連線,但允許來自特定虛擬私有雲網路的連線
這個範例說明如何設定政策,拒絕特定 VPC 網路的輸出連線。
情境
貴機構會處理機密資料,因此需要限制資訊離開網路。根據預設,貴機構會禁止所有 VM 執行個體將資料傳送至網際網路。不過,myvpc 虛擬私有雲網路中的專案需要與 203.0.113.1 信任合作夥伴伺服器安全通訊。如要支援這項功能,您必須實作下列項目:
- 僅允許從
myvpc到203.0.113.1的輸出連線。 - 將這個連線的特定通訊詳細資料管理權,委派給
myvpc安全性管理員。 - 請確認這項設定可防止機構其他部門意外外洩資料。
為此,組織安全管理員會封鎖所有其他虛擬私有雲網路的輸出連線,但源自 myvpc 的連線除外。管理員會將允許流出至公開伺服器 203.0.113.1 的權限,委派給 myvpc 安全性管理員。
下圖顯示這個情境的設定:
政策如何套用至 VM
評估階層中的規則後,VM 防火牆政策會套用如下:
連入連線
- 階層定義的規則不相符。因此,虛擬私有雲防火牆規則中的預設連入規則會套用,拒絕連入連線。
輸出連線
由於輸出連線符合
delegate-egress-my-vpc規則,因此允許連線至203.0.113.1,並略過機構政策中的其餘規則。其餘輸出連線都會遭到拒絕。接著,系統會根據
myvpc中設定的防火牆規則評估輸出連線。預設規則允許輸出連線。機構層級政策中的block-egress-traffic-sepc-ports規則會拒絕其餘連線。
如何設定
如要建立政策規則並將特定輸出連線委派給他們,請按照下列步驟操作:
建立防火牆政策來納入規則:
gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION新增規則,委派特定輸出連線:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization ORG_ID \ --short-name SHORT_NAME \ --target-resources=projects/PROJECT_ID/networks/myvpc新增規則,拒絕所有其他輸出連線:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization ORG_ID \ --short-name SHORT_NAME將防火牆政策與機構建立關聯:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME
更改下列內容:
ORG_ID:貴機構的 IDSpecify an organization ID to create a policy whose parent is an organization. The policy can be associated with the organization or a folder within the organization.SHORT_NAME:政策名稱A policy created by using the Google Cloud CLI has two names: a system-generated name and a short name provided by you. When using the gcloud CLI to update an existing policy, you can provide either the system-generated name or the short name and the organization ID. When using the API to update the policy, you must provide the system-generated name.DESCRIPTION:防火牆政策說明
範例 4:設定全機構和資料夾專屬規則
這個例子說明如何封鎖連入機構中所有 VM 的連線,但來自 IP 範圍的連線除外。
情境
貴機構包含多個資料夾,例如 Folder1 和 Folder2。
機構安全團隊設定機構層級政策,只允許來自所有資料夾中 203.0.113.0/24 IP 範圍的輸入流量。
流量進入網路後,不同資料夾的需求各不相同:
Folder1:這個團隊只執行網頁應用程式,因此安全管理員只允許來自信任合作夥伴的流量通過網頁連接埠80和443。這項政策會封鎖所有其他連接埠,進一步提升安全性。Folder2:這個團隊使用工具掃描系統。工具來自於受信任合作夥伴範圍內的 IP 位址203.0.113.1。管理員會確保這項掃描工具可以連上 VM 的任何連接埠。對於來自信任合作夥伴的其他流量,專案層級管理員會決定規則。然後為特定應用程式開啟通訊埠80、443和22。
在本範例中,安全性管理員會封鎖機構中所有 VM 的輸入連線,但來自允許的 IP 範圍 203.0.113.0/24 的連線除外。管理員會將 203.0.113.0/24 連線的後續決策,委派給資料夾層級的安全管理員。
下圖顯示這個情境的設定:
政策如何套用至 VM
評估階層中的規則後,VM 防火牆政策會套用如下:
虛擬私有雲網路 my-vpc 中的 VM
允許從
203.0.113.0/24到目的地 TCP 通訊埠80和443的所有輸入連線。系統會拒絕任何其他連入連線。如果沒有相符的高階防火牆政策規則,虛擬私有雲防火牆規則會允許所有輸出連線。
虛擬私有雲網路 vpc2 中的 VM
這項政策允許來自
203.0.113.1的所有輸入連線。如果是來自203.0.113.0/24來源的連入連線 (203.0.113.1除外),政策只允許流量前往通訊埠80、443和22。這項政策會拒絕所有其他輸入連線。由於沒有相符的較高層級防火牆政策規則,VPC 防火牆規則會允許所有輸出連線。
如何設定
如要設定機構層級和資料夾專屬規則,請按照下列步驟操作:
為
Org_A建立防火牆政策:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION新增規則,將 Ingress 從
203.0.113.0/24委派給專案擁有者:gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=203.0.113.0/24新增規則,拒絕所有其他外部連線:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=0.0.0.0/0將防火牆政策與機構建立關聯:
gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME建立防火牆政策,內含
Folder1的規則:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION新增規則,允許所有 HTTP(S) Ingress:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --layer4-configs=tcp:80,tcp:443 \ --organization ORG_ID \ --short-name SHORT_NAME新增規則,拒絕所有其他通訊埠或通訊協定的輸入:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=0.0.0.0/0將防火牆政策與
Folder1建立關聯:gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME \ --folder FOLDER_ID建立防火牆政策,內含
Folder2的規則:gcloud compute firewall-policies create \ --organization ORG_ID \ --short-name SHORT_NAME \ --description DESCRIPTION新增規則,允許來自
203.0.113.1的輸入流量:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description DESCRIPTION \ --organization ORG_ID \ --short-name SHORT_NAME \ --src-ip-ranges=203.0.113.1/32將防火牆政策與
Folder2建立關聯:gcloud compute firewall-policies associations create \ --organization ORG_ID \ --short-name SHORT_NAME \ --folder FOLDER_ID新增防火牆規則,允許 HTTP(S) 連線從內部輸入:
gcloud compute firewall-rules create allow-internal-traffic \ --network=vpc2 \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
更改下列內容:
ORG_ID:貴機構的 IDSpecify an organization ID to create a policy whose parent is an organization. The policy can be associated with the organization or a folder within the organization.SHORT_NAME:政策名稱A policy created by using the Google Cloud CLI has two names: a system-generated name and a short name provided by you. When using the gcloud CLI to update an existing policy, you can provide either the system-generated name or the short name and the organization ID. When using the API to update the policy, you must provide the system-generated name.DESCRIPTION:防火牆政策說明FOLDER_ID:資料夾 ID
後續步驟
如要瞭解階層式防火牆政策和規則,請參閱「階層式防火牆政策」。
如要建立及修改階層式防火牆政策和規則,請參閱「使用階層式防火牆政策」。