教學課程:使用 Azure 入口網站記錄往返於虛擬機器的網路流量

網路安全組流量記錄是 Azure 網路監看員 的一項功能,可讓您記錄流經網路安全組之 IP 流量的相關信息。 如需網路安全組流量記錄的詳細資訊,請參閱 NSG 流量記錄概觀

本教學課程可協助您使用NSG流量記錄來記錄虛擬機的網路流量,這些流量會流經 與其網路介面相關聯的網路安全組

圖表顯示教學課程期間建立的資源。

在本教學課程中,您會了解如何:

  • 建立虛擬網路
  • 使用與其網路介面相關聯的網路安全組建立虛擬機
  • 註冊 Microsoft.insights 提供者
  • 使用 網路監看員 流量記錄來啟用網路安全組的流量記錄
  • 下載記錄的數據
  • 檢視記錄的數據

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

建立虛擬網路

在本節中,您會為虛擬機建立 具有一個子網的 myVNet 虛擬網路。

  1. 登入 Azure 入口網站

  2. 在入口網站頂端的搜尋方塊中,輸入虛擬網路 從搜尋結果中選取 [虛擬網络 ]。

    此螢幕快照顯示搜尋 Azure 入口網站 中的虛擬網路。

  3. 選取 + 建立。 在 [建立虛擬網络] 中,在 [基本] 索引標籤中輸入或選取下列值:

    設定
    專案詳細資料
    訂用帳戶 選取 Azure 訂閱。
    資源群組 選取 [新建]
    在 [名稱] 中輸入 myResourceGroup
    選取 [確定]。
    [執行個體詳細資料]
    名稱 輸入 [myVNet]
    區域 選取 [(美國) 美國東部]
  4. 選取 [檢閱 + 建立]。

  5. 檢閱設定,然後選取 [建立]

建立虛擬機器

在本節中,您會建立 myVM 虛擬機。

  1. 在入口網站頂端的搜尋方塊中,輸入虛擬機 從搜尋結果中選取 [虛擬機 ]。

  2. 選取 [+ 建立 ],然後選取 [Azure 虛擬機]。

  3. 在 [建立虛擬機器] 中,輸入或選取 [基本資訊] 索引標籤中的下列值:

    設定
    專案詳細資料
    訂用帳戶 選取 Azure 訂閱。
    資源群組 選取 myResourceGroup
    [執行個體詳細資料]
    虛擬機器名稱 輸入 myVM
    區域 選取 [(美國) 美國東部]
    可用性選項 選取 [不需要基礎結構備援]
    安全性類型 選取 [標準]。
    映像 選取 [Windows Server 2022 Datacenter:Azure Edition - x64 Gen2]
    大小 選擇大小或保留預設設定。
    系統管理員帳戶
    使用者名稱 輸入使用者名稱。
    密碼 輸入密碼。
    確認密碼 重新輸入密碼。
  4. 選取 [網路] 索引標籤,或選取 [下一步: 磁碟],然後選取 [下一步: 網路]

  5. 在 [網络] 索引標籤中,選取下列值:

    設定
    網路介面
    虛擬網路 選取 [myVNet]
    子網路 選取 mySubnet
    公用 IP 選取 [新增] myVM-ip
    NIC 網路安全性群組 選取 [基本]。 此設定會建立名為 myVM-nsg 的網路安全組,並將它與 myVM 虛擬機的網路介面產生關聯。
    公用輸入連接埠 選取 [允許選取的連接埠]
    選取輸入連接埠 選取 [RDP (3389)]

    警告

    建議只對因特網開啟 RDP 埠進行測試。 針對生產環境,建議將 RDP 埠的存取限制為特定的 IP 位址或 IP 位址範圍。 您也可以封鎖對 RDP 連接埠的因特網存取,並使用 Azure Bastion 安全地從 Azure 入口網站 連線到虛擬機。

  6. 選取 [檢閱 + 建立]。

  7. 檢閱設定,然後選取 [建立]

  8. 部署完成後,請選取 [移至資源] 以移至 myVM[概觀] 頁面。

  9. 選取 [連線],然後選取 [RDP]。

  10. 選取 [ 下載 RDP 檔案 ],然後開啟下載的檔案。

  11. 選取 [連線],然後輸入您在先前步驟中建立的使用者名稱和密碼。 如果出現提示,請接受憑證。

註冊深入解析提供者

NSG 流程記錄需要 Microsoft.Insights 提供者。 若要檢查其狀態,請遵循下列步驟:

  1. 在入口網站頂端的搜尋方塊中,輸入訂用帳戶 在搜尋結果中選取 [訂用帳戶 ]。

  2. 在 [訂用帳戶] 中 ,選取您想要啟用提供者的 Azure 訂用帳戶

  3. 選取訂用帳戶 設定 下的 [資源提供者]。

  4. 在篩選方塊中輸入深入解析

  5. 確認顯示的提供者狀態為 [已註冊]。 如果狀態為 NotRegistered,請選取 Microsoft.Insights 提供者,然後選取 [ 註冊]。

    在 Azure 入口網站 中註冊 Microsoft Insights 提供者的螢幕快照。

建立儲存體帳戶

在本節中,您會建立記憶體帳戶來使用它來儲存流量記錄。

  1. 在入口網站頂端的搜尋方塊中,輸入記憶體帳戶 選取搜尋結果中的 儲存體 帳戶

  2. 選取 + 建立。 在 [建立記憶體帳戶] 中,於 [基本] 索引卷標中輸入或選取下列值:

    設定
    專案詳細資料
    訂用帳戶 選取 Azure 訂閱。
    資源群組 選取 myResourceGroup
    [執行個體詳細資料]
    儲存體帳戶名稱 輸入唯一名稱。 本教學課程使用 mynwstorageaccount
    區域 選取 [(美國) 美國東部]。 記憶體帳戶必須位於與虛擬機及其網路安全組相同的區域中。
    效能 選取 [標準]。 NSG 流量記錄僅支援標準層記憶體帳戶。
    備援 選取符合 持久性需求的本地備援記憶體 (LRS) 或不同的復寫策略。
  3. 選取 [檢閱] 索引卷標,或選取底部的 [檢閱] 按鈕。

  4. 檢閱設定,然後選取 [建立]

建立 NSG 流量記錄

在本節中,您會建立 NSG 流量記錄,該記錄檔會儲存到先前在本教學課程中建立的記憶體帳戶。

  1. 在入口網站頂端的搜尋方塊中,輸入網路監看員 在搜尋結果中選取 [網路監看員]。

  2. 在 [記錄] 底下,選取 [流量記錄]。

  3. 網路監看員 |流程記錄,選取 [+ 建立] 或 [建立流程記錄藍色] 按鈕。

    Azure 入口網站 中 [流量記錄] 頁面的螢幕快照。

  4. 在 [建立流程記錄檔] 中輸入或選取下列值:

    設定
    專案詳細資料
    訂用帳戶 選取您要記錄之網路安全組的 Azure 訂用帳戶。
    網路安全性群組 選取 [+ 選取資源]。
    [選取網络安全組] 中,選取 [myVM-nsg]。 然後,選取 [ 確認選取專案]。
    流量記錄檔名稱 保留 myVM-nsg-myResourceGroup-flowlog預設值。
    [執行個體詳細資料]
    訂用帳戶 選取記憶體帳戶的 Azure 訂用帳戶。
    儲存體帳戶 選取您在先前步驟中建立的記憶體帳戶。 本教學課程使用 mynwstorageaccount
    保留 (天數) 輸入 0 以永遠保留記憶體帳戶中的流量記錄資料(直到您從記憶體帳戶中刪除資料為止)。 若要套用保留原則,請輸入天數的保留時間。 如需記憶體價格的相關信息,請參閱 Azure 儲存體 定價

    Azure 入口網站 中建立 NSG 流量記錄頁面的螢幕快照。

    注意

    Azure 入口網站 會在 NetworkWatcherRG 資源群組中建立 NSG 流量記錄。

  5. 選取 [檢閱 + 建立]。

  6. 檢閱設定,然後選取 [建立]

  7. 部署完成之後,請選取 [移至資源 ] 以確認已建立並列在 [流程記錄] 頁面中的 流程記錄

    Azure 入口網站 中顯示新建立流程記錄的 [流程記錄] 頁面螢幕快照。

  8. 回到使用 myVM 虛擬機的 RDP 工作階段。

  9. 開啟 Microsoft Edge 並移至 www.bing.com

下載流程記錄檔

在本節中,您會移至您先前選取的記憶體帳戶,並下載在上一節中建立的 NSG 流量記錄。

  1. 在入口網站頂端的搜尋方塊中,輸入記憶體帳戶 選取搜尋結果中的 儲存體 帳戶

  2. 選取 mynwstorageaccount 或您先前建立並選取的記憶體帳戶來儲存記錄。

  3. 在 [資料儲存體] 下選取 [容器]。

  4. 選取 insights-logs-networksecuritygroupflowevent 容器。

  5. 在容器中,瀏覽資料夾階層,直到您到達檔案 PT1H.json 為止。 NSG 記錄檔會寫入至遵循下列命名慣例的資料夾階層:

    https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{networSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={acAddress}/PT1H.json
    
  6. 選取PT1H.json檔案右側的省略號 ... ,然後選取 [ 下載]。

    顯示如何從 Azure 入口網站 儲存器帳戶容器下載 nsg 流量記錄的螢幕快照。

注意

您可以使用 Azure 儲存體 Explorer,從記憶體帳戶存取和下載流量記錄。 如需詳細資訊,請參閱開始使用 儲存體總管

檢視流程記錄檔

使用您選擇的文字編輯器開啟下載的 PT1H.json 檔案。 下列範例是取自下載 PT1H.json 檔案的區段,其中顯示規則 所處理的流程DefaultRule_AllowInternetOutBound

{
    "time": "2023-02-26T23:45:44.1503927Z",
    "systemId": "00000000-0000-0000-0000-000000000000",
    "macAddress": "112233445566",
    "category": "NetworkSecurityGroupFlowEvent",
    "resourceId": "/SUBSCRIPTIONS/abcdef01-2345-6789-0abc-def012345678/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/MYVM-NSG",
    "operationName": "NetworkSecurityGroupFlowEvents",
    "properties": {
        "Version": 2,
        "flows": [
            {
                "rule": "DefaultRule_AllowInternetOutBound",
                "flows": [
                    {
                        "mac": "112233445566",
                        "flowTuples": [
                            "1677455097,10.0.0.4,13.107.21.200,49982,443,T,O,A,C,7,1158,12,8143"                            
                        ]
                    }
                ]
            }
        ]
    }
}

flowTuples 的逗號分隔資訊如下所示:

範例數據 代表哪些數據 說明
1677455097 時間戳記 當流程以 UNIX EPOCH 格式發生時的時間戳。 在上述範例中,日期會轉換為 2023 年 2 月 26 日 11:44:57 UTC/GMT。
10.0.0.4 來源 IP 位址 流程的來源IP位址。 10.0.0.4 是您先前建立之 VM 的私人IP位址。
13.107.21.200 目的地 IP 位址 流量目的地的目的地 IP 位址。13.107.21.200 是的 www.bing.comIP位址。 由於流量排定在 Azure 外部,因此安全性規則 DefaultRule_AllowInternetOutBound 處理流程。
49982 來源連接埠 流程的來源埠。
443 目的地連接埠 流量目的地的目的地埠。
T 通訊協定 流程的通訊協定。 T:TCP。
O 方向 流程的方向。 O:輸出。
A Decision 安全性規則所做的決策。 答:允許。
C 僅限流程狀態 第 2 版 流程的狀態。 C:繼續進行中的流程。
7 僅傳送 第 2 版的封包 自上次更新以來傳送至目的地的 TCP 封包總數。
1158 僅傳送 第 2 版的位元組 自上次更新以來,從來源傳送到目的地的 TCP 封包位元組總數。 封包位元組包含封包標頭和承載。
12 僅收到第 2 版的 封包 自上次更新以來從目的地接收的 TCP 封包總數。
8143 僅接收第 2 版的 位元組 自上次更新後從目的地接收的 TCP 封包位元組總數。 封包位元組包括封包標頭和承載。

清除資源

若不再需要,請刪除 myResourceGroup 資源群組及其包含的所有資源:

  1. 在入口網站頂端的搜尋方塊中,輸入 myResourceGroup 從搜尋結果中選取 myResourceGroup

  2. 選取 [刪除資源群組]

  3. 在 [刪除資源群組] 中,輸入 myResourceGroup,然後選取 [刪除]。

  4. 選取 [ 刪除 ] 以確認刪除資源群組及其所有資源。

注意

myVM-nsg-myResourceGroup-flowlog 流量記錄檔位於 NetworkWatcherRG 資源群組中,但在刪除 myVM-nsg 網路安全組之後將會刪除它(藉由刪除 myResourceGroup 資源群組)。