虛擬網路流量記錄
虛擬網路流量記錄是 Azure 網路監看員 的一項功能。 您可以使用它們來記錄流經虛擬網路的IP流量相關信息。
來自虛擬網路流量記錄的流量數據會傳送至 Azure 儲存體。 您可以從該處存取數據,並將其匯出至任何視覺效果工具、安全性資訊和事件管理 (SIEM) 解決方案,或入侵檢測系統 (IDS)。 虛擬網路流量記錄可克服網路安全組流量記錄的一些限制。
為何要使用流量記錄?
請務必監視、管理及瞭解您的網路,以便保護及優化網路。 您可能需要知道網路目前的狀態、正在連線的人員,以及使用者從何處連線。 您可能也需要知道哪些埠開放給因特網、預期網路行為、哪些網路行為不規則,以及流量突然上升時。
流量記錄是雲端環境中所有網路活動的事實來源。 無論您是在嘗試優化資源的初創公司,還是嘗試偵測入侵的大型企業,流量記錄都可以提供説明。 您可以使用它們來優化網路流程、監視輸送量、驗證合規性、偵測入侵等等。
常見使用案例
網路監視
- 識別未知或不需要的流量。
- 監視流量層級和頻寬耗用量。
- 依 IP 和連接埠篩選流量記錄,以了解應用程式行為。
- 將流程記錄匯出至您選擇的分析和視覺化工具,以設定監視儀表板。
使用情況監視和最佳化
- 識別您網路中的發言最多者。
- 結合 GeoIP 資料來識別跨區域的流量。
- 了解流量成長來預測容量。
- 使用資料來移除太嚴格的流量規則。
法規遵循
- 使用流量資料來確認網路隔離和符合企業存取規則。
網路鑑識和安全性分析
- 分析來自遭入侵 IP 和網路介面的網路流量。
- 將流量記錄匯出至您選擇的任何 SIEM 或 IDS 工具。
與網路安全組流量記錄相比,虛擬網路流量記錄
虛擬網路流量記錄和 網路安全組流量記錄 都會記錄IP流量,但它們的行為和功能不同。
虛擬網路流量記錄可簡化流量監視的範圍,因為您可以在虛擬網路上啟用記錄。 記錄虛擬網路內所有支援工作負載的流量。
虛擬網路流量記錄也不需要啟用多個層級的流量記錄,例如在網路安全組流量記錄中。 在網路安全組流量記錄中,網路安全組會在子網和網路介面 (NIC) 上設定。
除了識別網路安全組規則允許或拒絕流量的現有支援之外,虛擬網路流量記錄還支持識別 Azure 虛擬網絡 Manager 安全性系統管理員規則允許或拒絕的流量。 虛擬網路流量記錄也支援在您使用 虛擬網路加密的案例中評估網路流量的加密狀態。
重要
建議您先停用網路安全組流量記錄,再啟用相同基礎工作負載上的虛擬網路流量記錄,以避免重複的流量記錄和額外的成本。 如果您在子網的網路安全組上啟用網路安全組流量記錄,則在相同的子網或父虛擬網路上啟用虛擬網路流量記錄,您可能會取得重複的記錄(針對該特定子網中所有支援的工作負載所產生的網路安全組流量記錄和虛擬網路流量記錄)。
記錄的運作方式
虛擬網路流量記錄的主要屬性包括:
- 流量記錄在開放式系統互連 (OSI) 模型的第 4 層運作,並記錄所有通過虛擬網路的 IP 流程。
- 記錄會透過 Azure 平臺以一分鐘間隔收集。 它們不會影響您的 Azure 資源或網路流量。
- 記錄是以 JavaScript 物件表示法 (JSON) 格式撰寫。
- 每個記錄記錄都包含流程適用的網路介面、5 Tuple 資訊、流量方向、流量狀態、加密狀態和輸送量資訊。
- 您網路中的所有流量都會透過適用的網路安全組規則或 Azure 虛擬網絡 Manager 安全性系統管理員規則進行評估。
記錄格式
虛擬網路流量記錄具有下列屬性:
time
:記錄事件的 UTC 時間。flowLogVersion
:流量記錄架構的版本。flowLogGUID
:資源的資源 GUIDFlowLog
。macAddress
:擷取事件所在網路介面的 MAC 位址。category
:事件的類別。 類別一律FlowLogFlowEvent
為 。flowLogResourceID
:資源的資源識別碼FlowLog
。targetResourceID
:與資源相關聯的FlowLog
目標資源資源資源標識碼。operationName
:一律FlowLogFlowEvent
為 。flowRecords
:流量記錄的集合。flows
:流程的集合。 這個屬性有多個存取控制清單專案(ACL):aclID
:評估流量的資源標識符,可以是網路安全組或 虛擬網絡 管理員。 對於因為加密而遭到拒絕的流量,此值為unspecified
。flowGroups
:規則層級的流程記錄集合:rule
:允許或拒絕流量的規則名稱。 對於因為加密而遭到拒絕的流量,此值為unspecified
。flowTuples
:字串,包含以逗號分隔格式之流程元組的多個屬性:Time Stamp
:流程發生時的時間戳,格式為 UNIX epoch 格式。Source IP
:來源IP位址。Destination IP
:目的地IP位址。Source port
:來源埠。Destination port
:目的地埠。Protocol
:流程的第 4 層通訊協定,以 IANA 指派的值表示。Flow direction
:流量方向。 有效的值適用於I
輸入和O
輸出。Flow state
:流程的狀態。 可能的狀態為:B
:建立流程時開始。 未提供任何統計數據。C
:繼續進行中的流程。 統計數據會以五分鐘間隔提供。E
:結束,當流程終止時。 提供統計數據。D
:拒絕,當流程遭到拒絕時。
Flow encryption
:流程的加密狀態。 這份清單後面的表格描述可能的值。Packets sent
:自上次更新以來,從來源傳送至目的地的封包總數。Bytes sent
:自上次更新以來,從來源傳送到目的地的封包位元組總數。 封包位元組包含封包標頭和承載。Packets received
:自上次更新以來,從目的地傳送至來源的封包總數。Bytes received
:自上次更新以來,從目的地傳送到來源的封包位元組總數。 封包位元組包含封包標頭和承載。
Flow encryption
具有下列可能的加密狀態:
加密狀態 | 描述 |
---|---|
X |
連線 加密。 加密已設定,且平臺已加密連線。 |
NX |
連線 未加密。 此事件會記錄在兩個案例中: - 未設定加密時。 - 當加密的虛擬機與缺少加密的端點通訊時(例如因特網端點)。 |
NX_HW_NOT_SUPPORTED |
不支持硬體。 加密已設定,但虛擬機正在不支援加密的主機上執行。 此問題通常是因為現場可程式化閘道數組 (FPGA) 未連結至主機或故障而發生。 向 Microsoft 回報此問題以進行調查。 |
NX_SW_NOT_READY |
軟體尚未就緒。 加密已設定,但主機網路堆疊中的軟體元件 (GFT) 尚未準備好處理加密的連線。 當虛擬機第一次啟動時、正在重新啟動或重新部署時,就會發生此問題。 當虛擬機執行所在的主機上有網路元件的更新時,也可能會發生此情況。 在這些案例中,封包會卸除。 問題應該是暫時的。 加密應該會在虛擬機完全啟動並執行之後開始運作,或主機上的軟體更新已完成。 如果問題持續時間較長,請向 Microsoft 回報以進行調查。 |
NX_NOT_ACCEPTED |
因為沒有加密而捨棄。 在來源和目的地端點上都設定加密,且未加密的原則會卸除。 如果流量加密失敗,則會捨棄封包。 |
NX_NOT_SUPPORTED |
不支援探索。 加密已設定,但加密會話並未建立,因為主機網路堆疊不支援探索。 在此情況下,封包會卸除。 如果您遇到此問題,請向 Microsoft 回報以進行調查。 |
NX_LOCAL_DST |
目的地位於相同的主機上。 已設定加密,但來源和目的地虛擬機是在相同的 Azure 主機上執行。 在此情況下,連線不會透過設計加密。 |
NX_FALLBACK |
回復為無加密。 加密是使用 來源和目的地端點的 [允許未加密 原則] 來設定。 系統嘗試加密,但發生問題。 在此情況下,允許連線,但不會加密。 例如,虛擬機最初降落在支援加密的節點上,但稍後已移除此支援。 |
虛擬網路中的流量預設為未加密 (NX
) 。 如需加密的流量,請參閱 虛擬網路加密。
記錄檔記錄範例
在下列虛擬網路流量記錄範例中,多個記錄會遵循稍早所述的屬性清單。
{
"records": [
{
"time": "2022-09-14T09:00:52.5625085Z",
"flowLogVersion": 4,
"flowLogGUID": "abcdef01-2345-6789-0abc-def012345678",
"macAddress": "00224871C205",
"category": "FlowLogFlowEvent",
"flowLogResourceID": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_EASTUS2EUAP/FLOWLOGS/VNETFLOWLOG",
"targetResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
"operationName": "FlowLogFlowEvent",
"flowRecords": {
"flows": [
{
"aclID": "00000000-1234-abcd-ef00-c1c2c3c4c5c6",
"flowGroups": [
{
"rule": "DefaultRule_AllowInternetOutBound",
"flowTuples": [
"1663146003599,10.0.0.6,52.239.184.180,23956,443,6,O,B,NX,0,0,0,0",
"1663146003606,10.0.0.6,52.239.184.180,23956,443,6,O,E,NX,3,767,2,1580",
"1663146003637,10.0.0.6,40.74.146.17,22730,443,6,O,B,NX,0,0,0,0",
"1663146003640,10.0.0.6,40.74.146.17,22730,443,6,O,E,NX,3,705,4,4569",
"1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,B,NX,0,0,0,0",
"1663146004251,10.0.0.6,40.74.146.17,22732,443,6,O,E,NX,3,705,4,4569",
"1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,B,NX,0,0,0,0",
"1663146004622,10.0.0.6,40.74.146.17,22734,443,6,O,E,NX,2,134,1,108",
"1663146017343,10.0.0.6,104.16.218.84,36776,443,6,O,B,NX,0,0,0,0",
"1663146022793,10.0.0.6,104.16.218.84,36776,443,6,O,E,NX,22,2217,33,32466"
]
}
]
},
{
"aclID": "01020304-abcd-ef00-1234-102030405060",
"flowGroups": [
{
"rule": "BlockHighRiskTCPPortsFromInternet",
"flowTuples": [
"1663145998065,101.33.218.153,10.0.0.6,55188,22,6,I,D,NX,0,0,0,0",
"1663146005503,192.241.200.164,10.0.0.6,35276,119,6,I,D,NX,0,0,0,0"
]
},
{
"rule": "Internet",
"flowTuples": [
"1663145989563,20.106.221.10,10.0.0.6,50557,44357,6,I,D,NX,0,0,0,0",
"1663145989679,20.55.117.81,10.0.0.6,62797,35945,6,I,D,NX,0,0,0,0",
"1663145989709,20.55.113.5,10.0.0.6,51961,65515,6,I,D,NX,0,0,0,0",
"1663145990049,13.65.224.51,10.0.0.6,40497,40129,6,I,D,NX,0,0,0,0",
"1663145990145,20.55.117.81,10.0.0.6,62797,30472,6,I,D,NX,0,0,0,0",
"1663145990175,20.55.113.5,10.0.0.6,51961,28184,6,I,D,NX,0,0,0,0",
"1663146015545,20.106.221.10,10.0.0.6,50557,31244,6,I,D,NX,0,0,0,0"
]
}
]
}
]
}
}
]
}
記錄元組和頻寬計算
以下是和 10.2.0.4:23
之間 185.170.185.105:35370
TCP 交談流程元件的頻寬計算範例:
1493763938,185.170.185.105,10.2.0.4,35370,23,6,I,B,NX,,,,
1493695838,185.170.185.105,10.2.0.4,35370,23,6,I,C,NX,1021,588096,8005,4610880
1493696138,185.170.185.105,10.2.0.4,35370,23,6,I,E,NX,52,29952,47,27072
對於接續 () 和 end (C
E
) 流量狀態,位元組和封包計數是從上一個流程元組記錄的時間匯總計數。 在範例交談中,傳輸的封包總數為 1,021 + 52 + 8,005 + 47 = 9,125。 傳輸的位元組總數為 588,096 + 29,952 + 4,610,880 + 27,072 = 5,256,000。
儲存體 虛擬網路流量記錄的帳戶考慮
- 位置:記憶體帳戶必須位於與虛擬網路相同的區域中。
- 訂用帳戶:記憶體帳戶必須位於虛擬網路的相同訂用帳戶,或與虛擬網路訂用帳戶相同 Microsoft Entra 租使用者相關聯的訂用帳戶中。
- 效能層級:記憶體帳戶必須是標準。 不支援進階儲存體帳戶。
- 自我管理金鑰輪替:如果您變更或輪替記憶體帳戶的存取密鑰,虛擬網路流量記錄會停止運作。 若要修正此問題,您必須停用然後重新啟用虛擬網路流量記錄。
定價
虛擬網路流量記錄會依每 GB 的網路流量記錄收集收費,每個訂用帳戶的免費層為 5 GB/月。
注意
虛擬網路流量記錄將於 2024 年 6 月 1 日起計費。
如果使用虛擬網路流量記錄啟用使用分析,則使用分析定價會以每 GB 的處理速率套用。 使用分析不提供免費定價層。 如需詳細資訊,請參閱網路監看員定價。
記錄 儲存體 會個別收費。 如需詳細資訊,請參閱 Azure Blob 儲存體 定價。
可用性
虛擬網路流量記錄適用於所有 Azure 公用區域。
相關內容
- 若要瞭解如何建立、變更、啟用、停用或刪除虛擬網路流量記錄,請參閱 Azure 入口網站、PowerShell 或 Azure CLI 指南。
- 若要瞭解使用分析,請參閱使用分析概觀和 Azure 網路監看員 使用分析中的架構和數據匯總。
- 若要瞭解如何使用 Azure 內建原則來稽核或啟用使用分析,請參閱使用 Azure 原則 管理使用分析。