防火牆政策規則套用至流量時,會產生記錄項目。雖然封包流程可能會產生多個記錄項目,但防火牆政策規則最多只會針對虛擬機器 (VM) 執行個體的每個連線產生一個記錄項目。
以下範例說明防火牆政策規則記錄功能如何運作,包括與舊版虛擬私有雲 (VPC) 防火牆規則不同的行為,例如針對遭拒連線重複記錄,以及針對進階檢查作業記錄工作階段。
拒絕輸出的範例
在本範例中,流量會在 example-proj 專案的 example-net 虛擬私有雲網路中,於兩個 VM 執行個體之間流動。
us-west1-a區域中的 VM1,其 IP 位址10.10.0.99在west-subnet(us-west1地區)。us-east1-b區域中的 VM2,其 IP 位址10.20.0.99在east-subnet(us-east1地區)。- 規則 A:拒絕輸出防火牆規則的目標是網路中的所有執行個體,目的地是
10.20.0.99(VM2),適用於 TCP 通訊埠80。 這項規則已啟用記錄功能。 - 規則 B:允許輸入防火牆規則的目標是網路中的所有執行個體,來源是
10.10.0.99(VM1),適用於 TCP 通訊埠80。 這項規則也已啟用記錄功能。
如要建立防火牆政策規則,請參閱防火牆政策規則工作。
假設 VM1 嘗試透過 TCP 通訊埠 80 連線至 VM2,則會發生下列情況:
防火牆會以 VM1 的角度,為連線嘗試失敗的事件產生規則 A 的記錄項目。
由於規則 A 是
DENY規則,防火牆會將每個對應於唯一 5 元組數的封包記為一次失敗的連線嘗試。如果防火牆持續收到這個連線的封包,每 5 秒鐘會重複記錄同一筆記錄項目。由於規則 A 會在來源端封鎖流量,防火牆不會考慮規則 B。因此,系統不會以 VM2 的角度產生規則 B 的記錄項目。
VM1 會回報下列防火牆記錄檔記錄:
| 欄位 | 值 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
禁止所有人使用 |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = DENY destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
同時允許輸出和輸入的範例
在本範例中,流量會在 example-proj 專案的 example-net 虛擬私有雲網路中,於 VM 執行個體之間流動。
us-west1-a區域中的 VM1,其 IP 位址10.10.0.99在west-subnet(us-west1地區)。us-east1-b區域中的 VM2,其 IP 位址10.20.0.99在east-subnet(us-east1地區)。- 規則 A:全域網路防火牆政策允許輸出規則的目的地為
10.20.0.99(VM2),適用於 TCP 通訊埠80。這項規則已啟用記錄功能。 - 規則 B:全域網路防火牆政策允許輸入規則的來源為
10.10.0.99(VM1),適用於 TCP 通訊埠80。這項規則已啟用記錄功能。
如要建立防火牆政策規則,請參閱防火牆政策規則工作。
假設 VM1 嘗試透過 TCP 通訊埠 80 連線至 VM2,則會發生下列情況:
- VM1 連線至
10.20.0.99時,防火牆會以 VM1 的角度產生規則 A 的記錄項目。由於這是ALLOW規則,因此系統只會記錄一次連線,不會重複記錄。 - VM2 允許來自
10.10.0.99的連入連線時,防火牆會以 VM2 的角度產生規則 B 的記錄項目。
VM1 會回報下列防火牆記錄檔記錄:
| 欄位 | 值 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
ALLOWED |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = ALLOW destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
VM2 會回報以下防火牆記錄檔記錄:
| 欄位 | 值 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
ALLOWED |
rule_details |
reference = "network:example-net/firewallPolicy:67890" priority = 10 action = ALLOW source_range = 10.10.0.99/32 ip_port_info = tcp:80 direction = ingress |
網際網路輸入範例
在本範例中,流量會從外部資源流向 example-net 虛擬私有雲網路內的 VM 執行個體。該網路屬於 example-proj 專案。
- 網際網路系統的 IP 位址為
203.0.113.114。 us-west1-a區域中的 VM1,其 IP 位址10.10.0.99在west-subnet(us-west1地區)。- 規則 C:允許輸入防火牆政策規則的來源可能是任何 IP 位址 (
0.0.0.0/0),並且適用於 TCP 通訊埠80。 這項規則已啟用記錄功能。 - 規則 D:拒絕輸出防火牆政策規則的目的地是任何 IP 位址 (
0.0.0.0/0),適用於所有通訊協定。這項規則已啟用記錄功能。
如要建立防火牆政策規則,請參閱防火牆政策規則工作。
如果 IP 位址為 203.0.113.114 的系統嘗試連線至 TCP 通訊埠 80 上的 VM1,會發生下列情況:
- VM1 接收來自
203.0.113.114的流量時,會產生規則 C 的記錄項目。 - Cloud Next Generation Firewall 政策規則為有狀態,也就是說,如果輸入防火牆規則允許流量傳送至 VM 執行個體,系統會自動允許輸出傳回流量。在本例中,規則 C 允許輸入流量,因此 VM1 可以傳送回覆流量到
203.0.113.114,即使有規則 D 也一樣。 - 連線追蹤功能允許回覆流量,且不會產生任何記錄,無論輸出防火牆規則為何。因此,防火牆不會考量規則 D,也不會產生任何輸出記錄項目。
VM1 會回報下列防火牆記錄檔記錄:
| 欄位 | 值 |
|---|---|
connection |
src_ip=203.0.113.114 src_port=[EPHEMERAL_PORT] dest_ip=10.10.0.99 dest_port=80 protocol=6 |
disposition |
ALLOWED |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = ALLOW source_range = 0.0.0.0/0 ip_port_info = tcp:80 direction = ingress |
remote_location |
洲別 國家/地區 區域 城市 |
進階檢查範例
在這個範例中,Cloud NGFW 防火牆政策會使用 apply_security_profile_group 動作攔截流量,進行封包深度檢查。
- 網際網路系統的 IP 位址為
203.0.113.114。 us-west1-a區域中的 VM1,其 IP 位址10.10.0.99在west-subnet(us-west1地區)。- 規則 E:輸出防火牆政策規則,動作設為
apply_security_profile_group。這項規則已啟用記錄功能。
如要建立進階檢查的防火牆政策規則,請參閱安全性設定檔總覽。
假設 VM1 傳送的流量符合規則 E。會發生以下情況:
apply_security_profile_group動作會使用以工作階段為基礎的記錄,這與標準allow或deny規則產生的連線記錄不同。Cloud NGFW 會為符合規則的初始工作階段產生單一防火牆規則記錄項目,確認流量已成功攔截並重新導向至防火牆端點。即使系統在同一個工作階段中識別出多個連線,Cloud NGFW 仍會產生這項高階記錄。
VM1 會回報下列防火牆記錄檔記錄:
| 欄位 | 值 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=203.0.113.114 dest_port=80 protocol=6 |
disposition |
INTERCEPTED |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = APPLY_SECURITY_PROFILE_GROUP apply_security_profile_fallback_action = UNSPECIFIED destination_range = 0.0.0.0/0 direction = egress |