封包鏡像
本頁面概述虛擬私有雲 (VPC) 網路中的封包鏡像功能。如要大規模分析工作負載的網路流量,並使用第三方虛擬設備監控網路流量,請使用 Network Security Integration Packet Mirroring。詳情請參閱「頻外整合作業總覽」。
封包鏡像功能可複製虛擬私有雲 (VPC) 網路中指定執行個體的流量,並轉送流量以供檢查。封包鏡像作業會擷取所有流量和封包資料,包括酬載和標頭。您可以設定擷取輸出和輸入流量、僅擷取輸入流量,或僅擷取輸出流量。
鏡像作業會在虛擬機器 (VM) 執行個體上進行,而非在網路上。 因此,封包鏡像功能會占用 VM 的額外頻寬。
需要監控及分析安全狀態時,封包鏡像功能就派得上用場。這項功能會匯出所有流量,而不只是取樣期間的流量。舉例來說,您可以使用安全性軟體分析鏡像流量,偵測所有威脅或異常情況。此外,您也可以檢查完整流量流程,偵測應用程式效能問題。詳情請參閱使用案例範例。
運作方式
封包鏡像會複製鏡像來源的流量,並傳送至收集器目的地。如要設定封包鏡像,請建立封包鏡像政策,指定來源和目的地。
鏡像來源是 Compute Engine VM 執行個體,您可以指定子網路、網路標記或執行個體名稱來選取。如果指定子網路,該子網路中現有和日後的所有執行個體都會鏡像。您可以指定一或多個來源類型,只要執行個體符合其中至少一個類型,就會進行鏡像處理。
封包鏡像會從套用封包鏡像政策的網路中,收集執行個體網路介面的流量。如果執行個體有多個網路介面,除非已設定其他政策,否則不會鏡像其他介面。
收集器目的地是內部負載平衡器後方的執行個體群組。執行個體群組中的執行個體稱為「收集器執行個體」。
指定收集器目的地時,請輸入與內部直通式網路負載平衡器相關聯的轉送規則名稱。 Trusted Cloud by S3NS接著,系統會將鏡像流量轉送至收集器執行個體。封包鏡像的內部負載平衡器與其他內部負載平衡器類似,但轉送規則必須為封包鏡像設定。傳送至負載平衡器的任何非鏡像流量都會遭到捨棄。
篩選
根據預設,封包鏡像會收集鏡像執行個體的所有 IPv4 流量。您可以運用篩選器擴大收集的流量範圍,納入所有或部分 IPv6 流量,不必收集所有 IPv4 流量。您也可以使用篩選器縮小建立鏡像的流量範圍,藉此限制建立鏡像的執行個體所用的頻寬。
您可以設定篩選器,根據通訊協定、CIDR 範圍 (IPv4、IPv6 或兩者)、流量方向 (僅限輸入、僅限輸出或兩者),或這些條件的組合來收集流量。
政策順序
一個執行個體可以套用多項封包鏡像政策。封包鏡像政策的優先順序一律為 1000
,且無法變更。系統不支援相同的政策。 Trusted Cloud 可將流量傳送至任何已設定相同封包鏡像政策的負載平衡器。如要將鏡像流量穩定地傳送至單一負載平衡器,請建立具有篩選器的政策,並使用不重疊的位址範圍。如果範圍重疊,請設定專屬的篩選器通訊協定。
Trusted Cloud 會根據每個政策的篩選器,為每個流程選擇政策。如果您有不同的政策, Trusted Cloud 會使用與鏡像流量相符的對應政策。舉例來說,您可能有一項政策的篩選器為 198.51.100.3/24:TCP
,另一項政策的篩選器為 2001:db8::/64:TCP:UDP
。由於政策不同,因此不會有 Trusted Cloud 使用哪項政策的疑慮。
不過,如果政策重疊, Trusted Cloud 會評估篩選器,選擇要使用的政策。舉例來說,您可能有兩項政策,一項政策的篩選條件為 10.0.0.0/24:TCP
,另一項政策的篩選條件為 10.0.0.0/16:TCP
。這些政策的 CIDR 範圍重疊,因此會重疊。
選擇政策時, Trusted Cloud 會比較篩選器的 CIDR 範圍大小,並據此決定政策優先順序。
Trusted Cloud 根據篩選器選擇政策:
如果政策的 CIDR 範圍不同但重疊,且通訊協定完全相同, Trusted Cloud 會選擇使用最詳盡 CIDR 範圍的政策。假設從鏡像執行個體傳出的 TCP 封包目的地為
10.240.1.4
,且有兩個政策的篩選器如下:10.240.1.0/24:ALL
和10.240.0.0/16:TCP
。因為10.240.1.4
最具體的相符項目是10.240.1.0/24:ALL
,所以Trusted Cloud 會使用含有10.240.1.0/24:ALL
篩選器的政策。如果政策指定完全相同的 CIDR 範圍,且通訊協定重疊,Trusted Cloud 會選擇通訊協定最明確的政策。舉例來說,以下篩選器具有相同範圍,但通訊協定重疊:
10.240.1.0/24:TCP
和10.240.1.0/24:ALL
。如要比對 TCP 流量, Trusted Cloud 會使用10.240.1.0/24:TCP
政策。10.240.1.0/24:ALL
政策適用於所有其他通訊協定的相符流量。如果政策具有完全相同的 CIDR 範圍,但通訊協定不同,這些政策就不會重疊。 Trusted Cloud 會使用與鏡像流量通訊協定相應的政策。舉例來說,您可能為
2001:db8::/64:TCP
制定一項政策,為2001:db8::/64:UDP
制定另一項政策。視鏡像流量的通訊協定而定, Trusted Cloud 會使用 TCP 或 UDP 政策。如果重疊政策的篩選條件完全相同,則兩者完全相同。在這種情況下, Trusted Cloud 每次重新評估與這些政策相符的流量時,可能會選擇相同或不同的政策。建議您避免建立相同的封包鏡像政策。
虛擬私有雲流量記錄
虛擬私有雲流量記錄檔不會記錄鏡像封包。如果收集器執行個體位於已啟用虛擬私有雲流量記錄的子網路上,系統會記錄直接傳送至收集器執行個體的流量,包括來自鏡像執行個體的流量。也就是說,如果原始目的地 IPv4 或 IPv6 位址與收集器執行個體的 IPv4 或 IPv6 位址相符,系統就會記錄該流程。
如要進一步瞭解虛擬私有雲流量記錄,請參閱「使用虛擬私有雲流量記錄」。
主要屬性
使用封包鏡像功能前,請務必瞭解下列限制或行為:
每項封包鏡像政策都會定義鏡像來源和收集器目的地。請務必遵守下列規則:
- 所有鏡像來源都必須位於同一個專案、虛擬私有雲網路和 Trusted Cloud 區域。
- 收集器目的地必須與鏡像來源位於相同區域。 收集器目的地可以位於與鏡像來源相同的虛擬私有雲網路,也可以位於透過虛擬私有雲網路對等互連連線至鏡像來源網路的虛擬私有雲網路。
- 每項鏡像政策只能參照單一收集器目的地。 不過,多個鏡像政策可以參照單一收集器目的地。
封包鏡像支援所有第 4 層通訊協定。
您無法在 VM 執行個體的同一個網路介面上鏡像處理及收集流量,因為這樣會造成鏡像迴圈。
如要鏡像處理相同 Google Kubernetes Engine (GKE) 節點上 Pod 之間傳輸的流量,您必須為叢集啟用節點內瀏覽權限。
如要鏡像處理 IPv6 流量,請使用篩選條件指定要鏡像處理的 IPv6 流量 IPv6 CIDR 範圍。您可以使用
::/0
的 CIDR 範圍篩選器,鏡像所有 IPv6 流量。如要鏡像所有 IPv4 和 IPv6 流量,請使用以下以半形逗號分隔的 CIDR 範圍篩選器:0.0.0.0/0,::/0
。鏡像流量會耗用鏡像執行個體的頻寬。舉例來說,如果鏡像執行個體的輸入流量為 1 Gbps,輸出流量為 1 Gbps,則執行個體的總流量為 1 Gbps 的輸入流量和 3 Gbps 的輸出流量 (1 Gbps 的正常輸出流量和 2 Gbps 的鏡像輸出流量)。如要限制收集的流量,可以使用篩選器。
封包鏡像的費用取決於從鏡像執行個體傳輸至執行個體群組的輸出流量,以及流量是否在可用區之間傳輸。
封包鏡像作業適用於輸入和輸出方向。如果兩個正在建立鏡像的 VM 執行個體彼此傳送流量,Trusted Cloud 會收集同一封包的兩個版本。您可以指定只鏡映輸入或輸出封包,藉此改變這項行為。
每個專案可建立的封包鏡像政策數量有限。詳情請參閱配額頁面上的專案配額。
每項封包鏡像政策可指定的鏡像來源數量上限取決於來源類型:
- 5 個子網路
- 5 個代碼
- 50 個執行個體
封包鏡像篩選器數量上限為 30 個,也就是 IPv4 和 IPv6 位址範圍的數量乘以通訊協定數量。舉例來說,您可以指定 30 個範圍和 1 個通訊協定,這會是 30 個篩選器。不過,您無法指定 30 個範圍和 2 個通訊協定,因為這樣會產生 60 個篩選器,超過上限。
只有在 VM 於應用程式層加密流量時,鏡像流量才會加密。虛擬私有雲網路和對等互連虛擬私有雲網路中的所有 VM 對 VM 連線都會加密,但加密和解密作業會在管理程序中進行。從 VM 的角度來看,這類流量不會加密。
用途
以下各節將說明實際情境,示範您可能使用封包鏡像的原因。
企業安全性
安全性和網路工程團隊必須確保能偵測到所有異常狀況和威脅,這些狀況和威脅可能代表安全漏洞和入侵事件。這些裝置會鏡像處理所有流量,以便全面檢查可疑流程。由於攻擊可能會跨越多個封包,因此安全團隊必須能夠取得每個流程的所有封包。
舉例來說,下列安全性工具需要擷取多個封包:
入侵偵測系統 (IDS) 工具需要單一流程的多個封包來比對簽章,才能偵測到持續性威脅。
深度封包檢查引擎會檢查封包承載,偵測通訊協定異常。
為符合 PCI 法規遵循要求和其他法規用途,網路鑑識需要檢查大部分的封包。封包鏡像功能可擷取各種攻擊媒介,例如不常出現的通訊,或是嘗試但未成功的通訊。
應用程式效能監控
網路工程師可以運用鏡像流量,排解應用程式和資料庫團隊回報的效能問題。如要檢查網路問題,網路工程師可以查看透過線路傳輸的內容,而不必依賴應用程式記錄。
舉例來說,網路工程師可以使用封包鏡像資料完成下列工作:
分析通訊協定和行為,找出並修正封包遺失或 TCP 重設等問題。
即時分析遠端桌面、VoIP 和其他互動式應用程式的流量模式。網路工程師可以搜尋影響應用程式使用者體驗的問題,例如多次重新傳送封包或重新連線次數超出預期。
收集器目的地拓撲範例
您可以在各種設定中使用封包鏡像功能。以下範例顯示不同封包鏡像設定 (例如虛擬私有雲網路對等互連和共用虛擬私有雲) 的收集器目的地位置及其政策。
收集器目標位置位於相同網路
以下範例顯示封包鏡像設定,其中鏡像來源和收集器目標位置在相同虛擬私有雲網路中。
在上圖中,封包鏡像原則已設定為鏡像 mirrored-subnet
,並將鏡像流量傳送至內部直通式網路負載平衡器。Trusted Cloud 會鏡像子網路中現有和未來執行個體的流量。系統會鏡像處理所有傳入和傳出網際網路、內部部署主機或 Google 服務的流量。
對等互連網路中的收集器目的地
您可以建構集中式收集器模型,讓不同 VPC 網路中的執行個體將鏡像流量傳送至中央 VPC 網路中的收集器目的地。這樣一來,您就能使用單一目的地收集器。
在下列範例中,collector-load-balancer
內部直通式網路負載平衡器位於 project-a
的 network-a
虛擬私人雲端網路中,屬於 us-central1
區域。這個目的地收集器可供兩項封包鏡像原則使用:
policy-1
會從project-a
中network-a
虛擬私有雲網路的us-central1
地區,收集鏡像來源的封包,然後傳送至collector-load-balancer
目的地。policy-2
會從project-b
network-b
虛擬私有雲網路的us-central1
區域中,收集鏡像來源的封包,並傳送至相同的collector-load-balancer
目的地。
由於鏡像來源位於不同的虛擬私有雲網路,因此需要兩項鏡像政策。
在上圖中,收集器目的地會從兩個不同網路的子網路收集鏡像流量。所有資源 (來源和目的地) 都必須位於相同區域。network-a
中的設定與鏡像來源和收集器目標位置在相同虛擬私有雲網路中的範例類似。policy-1
已設定為從 subnet-a
收集流量,並傳送至 collector-ilb
。
policy-2
已在 project-a
中設定,但指定 subnet-b
做為鏡像來源。由於 network-a
和 network-b
已對等互連,因此目的地收集器可以從 subnet-b
收集流量。
這些網路位於不同的專案,可能會有不同的擁有者。只要擁有適當權限,兩位擁有者都能建立封包鏡像政策:
如果
project-a
擁有者建立封包鏡像政策,必須在網路、子網路或要鏡像的project-b
執行個體上擁有compute.packetMirroringAdmin
角色。如果
project-b
擁有者建立封包鏡像政策,則必須在project-a
中具備compute.packetMirroringUser
角色。
如要進一步瞭解如何跨兩個虛擬私有雲網路啟用私人連線,請參閱「虛擬私有雲網路對等互連」。
共用虛擬私有雲
在下列共用虛擬私有雲情境中,收集器目標位置的鏡像執行個體都位於同一個共用虛擬私有雲網路。即使資源都位於同一個網路中,也可以位於不同專案,例如主專案或多個不同的服務專案。以下範例說明封包鏡像政策的建立位置和建立者。
如果鏡像來源和收集器目標位置都在同一個專案中 (無論是主專案或服務專案),設定方式與所有項目都在相同虛擬私有雲網路中類似。專案擁有者可以在該專案中建立所有資源,並設定必要權限。
詳情請參閱「共用虛擬私有雲總覽」。
服務專案中的收集器目標位置
在下列範例中,收集器目的地位於使用主專案子網路的服務專案中。在本例中,政策也位於服務專案中。政策也可能位於主專案中。
在上圖中,服務專案包含使用共用虛擬私有雲網路中收集器子網路的收集器執行個體。封包鏡像政策是在服務專案中建立,並設定為鏡像處理 subnet-mirrored
中具有網路介面的執行個體。
服務或主機專案使用者可以建立封包鏡像政策。如要執行這項操作,使用者必須在收集器目的地所在的服務專案中具有 compute.packetMirroringUser
角色。使用者也必須在鏡像來源中具備「compute.packetMirroringAdmin
」角色。
主專案中的收集器目標位置
在下列範例中,收集器目的地位於主專案,而鏡像執行個體位於服務專案。
這個範例可能適用於開發人員在服務專案中部署應用程式,並使用共用虛擬私人雲端網路的情境。他們不必管理網路基礎架構或封包鏡像。而是由集中式網路或安全團隊負責佈建封包鏡像政策,這些團隊可控管主專案和共用虛擬私有雲網路。
在上圖中,封包鏡像政策是在主專案中建立,收集器目的地也位於該專案。這項政策會設定為鏡像處理鏡像子網路中的執行個體。服務專案中的 VM 執行個體可以使用鏡像子網路,且流量會鏡像。
服務或主機專案使用者可以建立封包鏡像政策。如要這麼做,服務專案中的使用者必須在主專案中具備 compute.packetMirroringUser
角色。主專案中的使用者必須具備 compute.packetMirroringAdmin
角色,才能存取服務專案中的鏡像來源。
多介面 VM 執行個體
您可以在封包鏡像原則中加入具備多個網路介面的 VM 執行個體。由於政策只能鏡像處理單一網路的資源,因此您無法建立一項政策,鏡像處理執行個體所有網路介面的流量。如果您需要鏡像處理多個網路介面執行個體的多個網路介面,則必須為每個介面建立一個封包鏡像處理政策,因為每個介面都會連線至專屬的 VPC 網路。