本文說明防火牆政策規則的元件,您可以在階層式、全域或區域 防火牆政策中設定這些元件,並套用至一般虛擬私有雲 (VPC) 網路。這些元件包括方向、來源、目的地,以及第 4 層特徵,例如通訊協定和目的地通訊埠 (如果通訊協定使用通訊埠)。
您可以在 Cloud de Confiance by S3NS 中設定防火牆政策規則,控管流量,進而提升安全性及作業效率。建立防火牆政策規則時,您必須指定用來定義規則作用的組成部分。每項防火牆政策規則都會分別套用到傳入 (ingress) 或傳出 (egress) 連線,
如果是基於融合乙太網路的遠端直接記憶體存取 (RDMA) 等專用高效能網路設定檔,防火牆政策規則功能和設定與一般網路不同。如要進一步瞭解 RDMA 網路設定檔的防火牆規則,請參閱「RoCE 虛擬私有雲網路的 Cloud NGFW」。
本文專供設定及管理防火牆政策規則的網路管理員和安全工程師參考。
優先順序
防火牆政策中的每個規則都必須有專屬的優先順序。
為防火牆政策規則指派優先順序時,請考量下列準則:
- 優先順序是
0到2,147,483,547之間的整數 (包含首尾)。 - 在防火牆政策中,每項規則都必須有不重複的優先順序編號。 防火牆政策規則沒有名稱。
- 優先順序數字
0代表最高優先順序,2,147,483,547則代表最低優先順序。數字越大,優先順序越低。在防火牆政策中,如果封包符合多項規則,系統只會強制執行優先順序最高的相符規則。
請設想下列範例:與虛擬私有雲網路相關聯的全域網路防火牆政策中,有兩項防火牆政策規則:
ingress 規則,來源為
0.0.0.0/0(任何 IPv4 位址),適用於所有目標、所有通訊協定及所有目的地通訊埠,動作為deny,優先順序為1000。ingress 規則,來源為
0.0.0.0/0(任何 IPv4 位址),適用於帶有安全標記tagKeys/123/tagValues/456(標記鍵 shortNamerole和標記值webserver) 的特定目標,可規範 TCP 80 上的流量,動作為allow。
第二個規則的優先順序可決定是否針對 webserver 目標允許通訊埠 80 的 TCP 流量:
如果第二個規則設定的優先順序編號「大於」
1000,優先順序就會「較低」,因此系統會套用拒絕所有流量的第一個規則。如果第二個規則設定的優先順序編號「小於」
1000,優先順序就會「較高」。抵達webserver的通訊埠 80 TCP 封包會先符合第二個規則。流量會獲得允許,防火牆也會停止查看任何其他規則。系統絕不會檢查這個特定封包的第一條規則。
以上範例示範如何使用優先順序建立選擇性的 allow 規則與全域 deny 規則,以實施所涉權限最低的安全性最佳做法。
相符時執行的動作
防火牆政策中的規則可執行下列其中一項動作:
| 動作參數 | 說明 |
|---|---|
allow |
允許新連線的封包。停止評估包含相符規則的防火牆政策中的規則。不會評估任何其他防火牆規則。 無論規則的方向為何,如果封包通訊協定和防火牆政策類型支援連線追蹤,允許規則會建立防火牆連線追蹤資料表項目,允許輸入和輸出封包。 |
deny |
禁止新連線的封包。停止評估包含相符規則的防火牆政策中的規則。不會評估任何其他防火牆規則。 Cloud NGFW 一律會先檢查防火牆連線追蹤資料表項目,再評估防火牆規則。因此,如果允許規則建立了連線追蹤資料表項目,該連線追蹤資料表項目就會優先處理。 |
goto_next |
停止評估防火牆政策中的其他規則,並評估 防火牆政策和規則評估順序的下一個步驟中的規則。 防火牆政策和規則評估順序的下一個步驟,可能是評估其他防火牆政策中的規則,或是隱含的防火牆規則。 |
強制執行
您可以將防火牆政策規則的狀態設為啟用或停用,藉此變更是否「執行」規則。您可以在建立或更新規則時設定強制執行狀態。
如果您在建立新防火牆規則時未設定強制執行狀態,系統會自動啟用防火牆規則。
通訊協定和通訊埠
與虛擬私有雲防火牆規則類似,建立規則時,您必須指定一或多個通訊協定和連接埠限制。在規則中指定 TCP 或 UDP 時,您可以指定通訊協定、通訊協定和目的地通訊埠,或是通訊協定和目的地通訊埠範圍;您無法只指定通訊埠或通訊埠範圍。此外,您只能指定目的地連接埠。系統不支援以來源連接埠為依據的規則。
您可以在防火牆規則中使用下列通訊協定名稱:tcp、udp、icmp (適用於 IPv4 ICMP)、esp、ah、sctp 和 ipip。如為其他通訊協定,請使用 IANA 通訊協定號碼。
許多通訊協定在 IPv4 和 IPv6 中都使用相同的名稱和編號,但 ICMP 等通訊協定則不然。如要指定 IPv4 ICMP,請使用 icmp 或通訊協定編號 1。如要指定 IPv6 ICMP,請使用通訊協定編號 58。
防火牆規則不支援指定 ICMP 類型和代碼,僅支援通訊協定。
防火牆規則不支援 IPv6 Hop-by-Hop 通訊協定。
如未指定通訊協定和通訊埠參數,規則會套用至所有通訊協定和目的地通訊埠。
記錄
防火牆政策規則的記錄方式與虛擬私有雲防火牆規則記錄相同,但有以下例外狀況:
參考欄位包含防火牆政策 ID,以及指出政策附加資源層級的數字。舉例來說,
0表示政策套用至機構,1則表示政策套用至機構底下的頂層資料夾。防火牆政策規則的記錄包含
target_resource欄位,可識別規則適用的虛擬私有雲網路。
- 記錄功能只能針對
allow和deny規則啟用,無法針對goto_next規則啟用。
目標、來源、目的地
目標、來源和目的地參數會一起運作,決定防火牆規則的範圍。
目標參數:識別防火牆規則適用的資源。
來源和目的地參數:定義流量條件。您可以同時指定輸入和輸出規則。來源和目的地參數的有效選項取決於目標參數和防火牆規則的方向。
目標
目標類型參數和一或多個目標參數會定義防火牆規則的目標。防火牆規則的這些目標是防火牆規則保護的資源。
如果省略目標類型或設為
INSTANCES,防火牆規則會套用至 Compute Engine 執行個體的網路介面,包括 Google Kubernetes Engine (GKE) 節點和 App Engine 彈性環境執行個體。系統支援輸入和輸出規則。如要指定防火牆規則套用的 VM 網路介面,請使用目標參數:
如果省略所有目標參數,防火牆規則會套用至最廣泛的執行個體目標。
如果將目標類型設為
INTERNAL_MANAGED_LB,防火牆規則會套用至代管 Envoy Proxy,這些 Proxy 會處理內部應用程式負載平衡器和內部 Proxy 網路負載平衡器的流量。僅支援輸入規則。如果省略 target forwarding rules 參數,防火牆規則會套用至最廣泛的負載平衡器目標。
如要將防火牆規則限制為單一負載平衡器,請使用目標轉送規則參數。詳情請參閱「特定目標」。
您可以刪除先前在防火牆政策規則中定義為目標轉送規則的轉送規則,而不必移除防火牆政策規則本身。如果之後建立名稱相同的新轉送規則,防火牆政策規則不會自動套用至新規則。如要再次套用防火牆政策規則,請更新防火牆政策規則,並指定一組新的或相同的參數。這項作業會強制將防火牆政策規則重新繫結至新的轉送規則。
最廣泛的執行個體目標
最廣泛的執行個體目標取決於防火牆政策類型:
階層式防火牆政策中規則最廣泛的執行個體目標:位於 Resource Manager 節點 (資料夾或機構) 下方專案中,與階層式防火牆政策相關聯的任何虛擬私有雲網路,其任何區域的子網路中所有 VM 網路介面。
全域網路防火牆政策中規則的適用執行個體範圍最廣:與全域網路防火牆政策建立關聯的虛擬私有雲網路中,任何區域的子網路內所有 VM 網路介面。
區域網路防火牆政策中規則的適用執行個體範圍最廣:與區域網路防火牆政策相關聯的區域和虛擬私有雲網路中,子網路內的所有 VM 網路介面。
最廣泛的負載平衡器目標
最廣泛的負載平衡器目標取決於下列防火牆政策類型:
全域網路防火牆政策中規則的負載平衡器目標範圍最廣:與全域網路防火牆政策相關聯的虛擬私有雲網路中,任何區域的子網路內,所有內部應用程式負載平衡器和內部 Proxy 網路負載平衡器的轉送規則。
區域網路防火牆政策中規則的負載平衡器目標範圍最廣:區域和虛擬私有雲網路中子網路內,與區域網路防火牆政策相關聯的內部應用程式負載平衡器和內部 Proxy 網路負載平衡器的所有轉送規則。
特定目標
下表列出目標參數、支援含各參數規則的防火牆政策,以及支援的規則目標類型。如果未指定目標參數,規則會根據規則的目標類型,使用最廣泛的執行個體目標或最廣泛的負載平衡器目標。勾號表示支援該參數,符號則表示不支援。
| 目標參數 | 防火牆政策支援 | 支援的規則目標類型 | |||
|---|---|---|---|---|---|
| 階層 | 全球網路 | 區域性網路 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目標虛擬私有雲網路資源
以 |
|||||
| 目標服務帳戶
使用 |
|||||
| 從具有網路用途資料的代碼鍵指定安全代碼值 使用 這份清單會將最廣泛的執行個體目標,縮小至符合下列兩項條件的 VM 網路介面:
詳情請參閱防火牆的安全標記。 |
|||||
| Target secure tag values from a tag key with organization purpose
data
規則使用 這份清單會將最廣泛的執行個體目標,縮小至符合下列兩項條件的 VM 網路介面:
詳情請參閱防火牆的安全標記。 |
|||||
| 目標轉送規則
內部應用程式負載平衡器或內部 Proxy 網路負載平衡器的單一轉送規則,以目標轉送規則格式指定。這個參數會將最廣泛的負載平衡器目標縮小至特定內部應用程式負載平衡器或內部 Proxy 網路負載平衡器。 |
|||||
特定目標組合
支援 target-resources 參數的規則可將該參數與其他目標參數合併,建立目標參數組合。下表列出支援的目標參數組合、支援含各參數規則的防火牆政策,以及支援的規則目標類型。如果未指定目標參數,規則會根據規則的目標類型,使用最廣泛的執行個體目標或最廣泛的負載平衡器目標。
勾號表示支援該參數,符號則表示不支援。
| 目標參數組合 | 防火牆政策支援 | 支援的規則目標類型 | |||
|---|---|---|---|---|---|
| 階層 | 全球網路 | 區域性網路 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目標虛擬私有雲網路資源和目標服務帳戶的組合 同時使用 這個組合會將最廣泛的執行個體目標,縮小為符合下列兩項條件的 VM 網路介面:
|
|||||
| 目標虛擬私有雲網路資源和目標安全標記值的組合 同時使用 這個組合會將最廣泛的執行個體目標,縮小為符合下列兩項條件的 VM 網路介面:
|
|||||
目標轉送規則格式
將防火牆規則的目標類型設為 INTERNAL_MANAGED_LB 時,target-forwarding-rules 參數會接受下列格式的值:
區域性內部應用程式負載平衡器和區域性內部 Proxy 網路負載平衡器:
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE_NAMEprojects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
跨區域內部應用程式負載平衡器和跨區域內部 Proxy 網路負載平衡器:
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAMEprojects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME
輸入規則的目標和 IP 位址
如果省略防火牆規則目標類型,或將其設為 INSTANCES,規則就會套用至轉送至目標 VM 網路介面的封包。
如果輸入防火牆規則包含目的地 IP 位址範圍,封包目的地必須符合其中一個明確定義的目的地 IP 位址範圍。
如果輸入防火牆規則未包含目的地 IP 位址範圍,封包目的地就必須符合每個目標 VM 的下列其中一個 IP 位址:
指派給執行個體 NIC 的主要內部 IPv4 位址。
執行個體 NIC 上設定的任何別名 IP 位址範圍。
與執行個體 NIC 相關聯的外部 IPv4 位址。
如果子網路上已設定 IPv6,則為指派給 NIC 的任何 IPv6 位址。
與轉送規則相關聯的內部或外部 IP 位址,用於直通負載平衡,其中執行個體是內部直通網路負載平衡器或外部直通網路負載平衡器的後端。
與用於通訊協定轉送的轉送規則相關聯的內部或外部 IP 位址,其中執行個體是由目標執行個體參照。
使用執行個體 (
next-hop-instance或next-hop-address) 做為下一個躍點 VM 的自訂靜態路徑目的地範圍內的 IP 位址。如果 VM 是使用內部直通式網路負載平衡器 (
next-hop-ilb) 做為下一個躍點的自訂靜態路徑目的地範圍內的 IP 位址,則該 VM 是該負載平衡器的後端。
將防火牆政策規則的目標類型設為 INTERNAL_MANAGED_LB 時,您必須將規則的目的地參數設為未設定。防火牆政策規則會套用至目的地 IP 位址與目標內部應用程式負載平衡器和內部 Proxy 網路負載平衡器的轉送規則 IP 位址相符的封包。
輸出規則的目標和 IP 位址
如果省略防火牆規則目標類型,或將其設為 INSTANCES,規則就會套用至目標 VM 網路介面發出的封包。
如果目標 VM 已停用 IP 轉送 (預設),VM 只能發出具有下列來源的封包:
執行個體 NIC 的主要內部 IPv4 位址。
執行個體 NIC 上設定的任何別名 IP 位址範圍。
如果子網路上已設定 IPv6,則為指派給 NIC 的任何 IPv6 位址。
與轉送規則相關聯的內部或外部 IP 位址,適用於直通式負載平衡或通訊協定轉送。如果執行個體是內部直通式網路負載平衡器、外部直通式網路負載平衡器的後端,或是目標執行個體參照的執行個體,則此為有效設定。
如果輸出防火牆規則包含來源 IP 位址範圍,目標 VM 仍會限制為先前提及的來源 IP 位址,但來源參數可用於調整來源。如果使用來源參數,但未啟用 IP 轉送,則可能封包來源位址的集合會永遠擴大。
如果輸出防火牆規則未包含來源 IP 位址範圍,則允許上述所有來源 IP 位址。
如果目標 VM 啟用 IP 轉送功能,該 VM 就能發出具有任意來源位址的封包。您可以使用來源參數,更精確地定義允許的封包來源組合。
來源
來源參數值取決於防火牆規則的方向。
輸入規則的來源
下表列出輸入規則的來源參數、支援各參數的防火牆政策,以及與各參數相容的規則目標類型。您必須指定至少一個來源參數。勾號表示支援該參數,符號則表示不支援。
| 輸入規則來源參數 | 防火牆政策支援 | 支援的規則目標類型 | |||
|---|---|---|---|---|---|
| 階層 | 全球網路 | 區域性網路 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 來源 IP 位址範圍
清單,包含 CIDR 格式的 IPv4 位址或 CIDR 格式的 IPv6 位址。這份清單會儲存在防火牆政策規則本身。 |
|||||
| 來源位址群組
可重複使用的 IPv4 位址集合 (CIDR 格式) 或 IPv6 位址集合 (CIDR 格式)。防火牆規則會參照集合。詳情請參閱防火牆政策的位址群組。 |
|||||
| 從含有網路用途資料的代碼鍵取得安全代碼值
標記鍵的一或多個標記值清單,其用途資料指定單一虛擬私有雲網路。詳情請參閱「防火牆的安全標記」和「來源安全標記如何表示封包來源」。 |
|||||
| 從含有機構用途資料的標記鍵取得安全標記值
一或多個標記值的清單,這些標記值來自用途資料為 |
|||||
| 來源地理位置
一或多個來源地理位置的清單,以雙字母國家/地區代碼指定。詳情請參閱地理位置物件。 |
|||||
| 來源網路情境
定義安全邊界的限制。有效值取決於規則的目標類型。詳情請參閱「網路環境」。 |
|||||
輸入規則來源組合
在單一 Ingress 規則中,您可以使用兩個以上的來源參數來產生來源組合。Cloud NGFW 會對每個連入規則的來源組合強制執行下列限制:
- 來源 IP 位址範圍必須包含 IPv4 或 IPv6 CIDR,不得同時包含兩者。
- 含有 IPv4 CIDR 的來源位址群組,無法與含有 IPv6 CIDR 的來源位址群組搭配使用。
- 含有 IPv4 CIDR 的來源 IP 位址範圍,無法與含有 IPv6 CIDR 的來源位址群組搭配使用。
- 含有 IPv6 CIDR 的來源 IP 位址範圍,無法與含有 IPv4 CIDR 的來源位址群組搭配使用。
- 網際網路網路環境無法與來源安全代碼搭配使用。
- 非網際網路環境、虛擬私有雲網路環境和虛擬私有雲間環境,無法搭配 來源地理位置使用。
Cloud NGFW 會套用下列邏輯,將封包與使用來源組合的輸入規則相符:
如果來源組合不包含來源網路環境,只要封包符合來源組合中的至少一個來源參數,就會符合輸入規則。
如果來源組合包含來源網路情境,封包符合來源網路情境和來源組合中至少一個其他來源參數,就會符合輸入規則。
來源安全標記如何表示封包來源
如果省略或將目標類型設為 INSTANCES,輸入防火牆規則可以使用來源安全標記值。安全標記值會識別網路介面,而非 IP 位址等封包特徵。
根據下列規則,從 VM 執行個體網路介面傳送的封包會比對使用來源安全標記值的輸入規則:
如果輸入規則位於區域網路政策中,VM 執行個體必須位於與區域網路防火牆政策相同的區域。否則 VM 執行個體可以位於任何區域。
VM 執行個體必須與輸入防火牆規則中做為來源安全標記的安全標記值相關聯。
與 VM 執行個體相關聯,且由輸入 防火牆規則使用的安全標記值,必須來自至少一個虛擬私有雲網路的標記鍵
purpose-data,該網路包含 VM 執行個體的 網路介面:如果標記鍵的用途資料指定單一虛擬私有雲網路,則使用來源安全標記值的輸入防火牆規則,會套用至該虛擬私有雲網路中 VM 執行個體的網路介面。
如果標記鍵的用途資料指定了機構,則使用來源安全標記值的輸入防火牆規則,會套用至機構任何虛擬私有雲網路中 VM 執行個體的網路介面。
所識別的 VM 網路介面必須符合下列其中一項條件:
- VM 網路介面與防火牆政策套用的虛擬私有雲網路位於相同虛擬私有雲網路。
VM 網路介面所屬的虛擬私有雲網路,會使用虛擬私有雲網路對等互連,連線至套用防火牆政策的虛擬私有雲網路。
虛擬機器網路介面使用的虛擬私有雲網路,以及防火牆政策套用的虛擬私有雲網路,都是位於同一個 Network Connectivity Center 中樞的 VPC 輪輻。
如要進一步瞭解防火牆的安全標記,請參閱規格。
輸出規則的來源
在階層式防火牆政策和網路防火牆政策中,您都可以使用下列來源做為輸出規則:
預設值 - 由目標隱含:如果您從輸出規則中省略來源參數,系統會隱含定義封包來源,如「輸出規則的目標和 IP 位址」一文所述。
來源 IPv4 位址範圍:採用 CIDR 格式的 IPv4 位址清單。
來源 IPv6 位址範圍:採用 CIDR 格式的 IPv6 位址清單。
如要為輸出規則新增來源 IP 位址範圍,請按照下列原則操作:
如果 VM 網路介面已指派外部 IPv4 位址,或沒有外部 IPv4 位址但使用 Cloud NAT 閘道,則系統會在 Cloud de Confiance 將輸出封包的來源從內部 IPv4 位址變更為外部 IPv4 位址之前,評估輸出防火牆。如要套用輸出防火牆規則,您必須省略「來源」參數,或在「來源」參數中加入 VM 網路介面的內部 IPv4 位址。
如果輸出規則中含有來源 IP 位址範圍和目的地參數,目的地參數會解析為與來源 IP 版本相同的 IP 版本。
目的地
目的地參數值取決於防火牆規則的方向。
輸入規則的目的地
在階層式和網路防火牆政策中,您都可以使用下列輸入防火牆規則的目的地:
預設值 - 目標隱含:如果您從輸入規則中省略目的地參數,系統會隱含定義封包目的地,如「輸入規則的目標和 IP 位址」一文所述。
目的地 IPv4 位址範圍:採用 CIDR 格式的 IPv4 位址清單。
目的地 IPv6 位址範圍:採用 CIDR 格式的 IPv6 位址清單。
如要為連入規則新增目的地 IP 位址範圍,請按照下列準則操作:
如果 VM 網路介面已指派外部 IPv4 位址,或沒有外部 IPv4 位址但使用 Cloud NAT 閘道,則在 Cloud de Confiance 將連入封包的目的地從外部 IPv4 位址變更為內部 IPv4 位址後,系統會評估輸入防火牆。如要套用輸入防火牆規則,您必須省略「目的地」參數,或在「目的地」參數中加入 VM 網路介面的內部 IPv4 位址。
如果 Ingress 規則中同時定義來源和目的地參數,來源參數會解析為與目的地 IP 版本相同的 IP 版本。如要進一步瞭解如何定義輸入規則的來源,請參閱「階層式防火牆政策中的輸入規則來源」和「網路防火牆政策中的輸入規則來源」。
舉例來說,在輸入規則中,目的地參數包含 IPv6 位址範圍,來源參數則包含地理位置國家/地區代碼。在強制執行規則期間,系統只會使用對應的 IPv6 位址,用於指定的來源國家/地區代碼。
輸出規則的目的地
下表列出輸出規則的目的地參數、支援各參數的防火牆政策,以及與各參數相容的規則目標類型。您必須至少指定一項到達網頁參數。勾號表示支援該參數,符號則表示不支援。
| 輸出規則目的地參數 | 防火牆政策支援 | 支援的規則目標類型 | |||
|---|---|---|---|---|---|
| 階層 | 全球網路 | 區域性網路 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目的地 IP 位址範圍
清單,包含 CIDR 格式的 IPv4 位址或 CIDR 格式的 IPv6 位址。這份清單會儲存在防火牆政策規則本身。 |
|||||
| 目的地地址群組
可重複使用的 IPv4 位址集合 (CIDR 格式) 或 IPv6 位址集合 (CIDR 格式)。防火牆政策規則會參照集合。詳情請參閱防火牆政策的位址群組。 |
|||||
| 目的地地理位置
一或多個來源地理位置的清單,以雙字母國家/地區代碼指定。詳情請參閱「地理位置物件」。 |
|||||
| 目標網路情境
定義安全邊界的限制。 |
|||||
輸出規則目的地組合
在單一輸出規則中,您可以使用兩個以上的目的地參數來產生目的地組合。Cloud NGFW 會對每個輸出規則的目的地組合強制執行下列限制:
- 目的地 IP 位址範圍必須包含 IPv4 或 IPv6 CIDR,不得同時包含兩者。
- 您無法將含有 IPv4 CIDR 的目的地地址群組,與含有 IPv6 CIDR 的目的地地址群組搭配使用。
- 您無法使用含有 IPv4 CIDR 的目的地 IP 位址範圍,以及含有 IPv6 CIDR 的目的地位址群組。
- 您無法使用含有 IPv6 CIDR 的目的地 IP 位址範圍,搭配含有 IPv4 CIDR 的目的地位址群組。
- 您無法在目的地非網際網路的網路環境中使用目的地 地理位置。
Cloud NGFW 會套用下列邏輯,將封包與使用目的地組合的輸出規則相符:
如果目的地組合不包含目的地網路環境,只要封包符合目的地組合中的至少一個目的地參數,就會符合輸出規則。
如果目的地組合包含目的地網路環境,封包符合目的地網路環境和目的地組合中至少一個其他目的地參數,就會符合輸出規則。