診斷網路安全性規則
您可以使用網路安全性群組篩選和控制進出 Azure 資源的輸入和輸出網路流量。 您也可以使用 Azure Virtual Network Manager,將系統管理安全性規則套用至您的 Azure 資源以控制網路流量。
在本文中,您將瞭解如何使用 Azure 網路監看員 NSG 診斷 來檢查並針對套用至 Azure 流量的安全性規則進行疑難排解。 NSG 診斷會檢查套用的安全性規則是否允許或拒絕流量。
本文中的範例說明設定錯誤的網路安全性群組如何防止您使用 Azure Bastion 連線到虛擬機器。
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
使用您的 Azure 帳戶登入 Azure 入口網站 。
建立虛擬網路和 Bastion 主機
在本節中,您會建立具有兩個子網路與一個 Azure Bastion 主機的虛擬網路。 第一個子網路用於虛擬機器,而第二個子網路用於 Bastion 主機。 您也會建立網路安全性群組,並將其套用至第一個子網路。
在入口網站頂端的搜尋方塊中,輸入「虛擬網路」。 從搜尋結果中選取 [虛擬網路]。
選取 + 建立。 在 [建立虛擬網路] 的 [基本] 索引標籤中,輸入或選取下列值:
設定 值 專案詳細資料 訂用帳戶 選取 Azure 訂閱。 資源群組 選取 [新建]
在 [名稱] 中輸入 myResourceGroup。
選取 [確定]。[執行個體詳細資料] 虛擬網路名稱 輸入 [myVNet]。 區域 選取 [(美國) 美國東部]。 選取 [安全性] 索引標籤,或選取頁面底部的 [下一步] 按鈕。
在 [Azure Bastion] 下,選取 [啟用 Azure Bastion] 並接受預設值:
設定 值 Azure Bastion 主機名稱 myVNet-Bastion。 Azure Bastion 公用 IP 位址 (新增) myVNet-bastion-publicIpAddress。 選取 [IP 位址] 索引標籤,或選取頁面底部的 [下一步] 按鈕。
接受預設 IP 位址空間 10.0.0.0.0/16 ,然後選取鉛筆圖示來編輯預設子網路。 在 [編輯子網路] 頁面中輸入下列值:
設定 值 子網路詳細資料 名稱 輸入 mySubnet。 安全性 網路安全性群組 選取 [新建]
在 Name中輸入 mySubnet-nsg。
選取 [確定]。選取 [檢閱 + 建立]。
檢閱設定,然後選取 [建立]。
重要
無論輸出資料使用量為何,每小時價格都是從部署 Bastion 主機的那一刻開始計費。 如需詳細資訊,請參閱定價。 建議您在完成使用此資源之後刪除此資源。
建立虛擬機器
在本節中,您會建立套用至其網路介面的虛擬機器和網路安全性群組。
在入口網站頂端的搜尋方塊中,輸入虛擬機器。 在搜尋結果中,選取 [虛擬機器]。
選取 [+建立],然後選取 [Azure 虛擬機器]。
在 [建立虛擬機器] 中,輸入或選取 [基本資訊] 索引標籤中的下列值:
設定 值 專案詳細資料 訂用帳戶 選取 Azure 訂閱。 資源群組 選取 myResourceGroup。 [執行個體詳細資料] 虛擬機器名稱 輸入 myVM。 區域 選取 [(美國) 美國東部]。 可用性選項 選取 [不需要基礎結構備援]。 安全性類型 選取 [標準]。 映像 選取 [Windows Server 2022 Datacenter:Azure Edition - x64 Gen2]。 大小 選擇大小或保留預設設定。 系統管理員帳戶 使用者名稱 輸入使用者名稱。 密碼 輸入密碼。 確認密碼 重新輸入密碼。 選取 [網路] 索引標籤,或選取 [下一步: 磁碟],然後選取 [下一步: 網路]。
在 [網路] 索引標籤中選取下列值:
設定 值 網路介面 虛擬網路 選取 [myVNet]。 子網路 請選取 [預設]。 公用 IP 選取 [無]。 NIC 網路安全性群組 選取 [基本]。 公用輸入連接埠 選取 [無]。 選取 [檢閱 + 建立]。
檢閱設定,然後選取 [建立]。
將安全性規則新增至網路安全性群組
在本節中,您會將安全性規則新增至與 myVM 網路介面相關聯的網路安全性群組。 此規則會拒絕來自虛擬網路的任何輸入流量。
在入口網站頂端的搜尋方塊中,輸入網路安全性群組。 從搜尋結果中選取 [網路安全組 ]。
從網路安全性群組清單中,選取 [myVM-nsg]。
在 [設定] 下,選取 [輸入安全性規則]。
選取 + 新增。 在 [網路] 索引標籤中,輸入或選取下列值:
設定 值 來源 選取 [服務標記]。 來源服務標籤 選取 [VirtualNetwork]。 來源連接埠範圍 輸入 *。 Destination 選取 [任何]。 服務 選取自訂。 目的地連接埠範圍 輸入 *。 通訊協定 選取 [任何]。 動作 選取 [拒絕]。 優先順序 輸入 1000。 名稱 輸入 DenyVnetInBound。 選取 [新增]。
注意
VirtualNetwork 服務標籤代表虛擬網路的位址空間、所有連線的內部部署位址空間、對等互連的虛擬網路、連線至虛擬網路閘道的虛擬網路、主機的虛擬 IP 位址,以及使用者定義路由上所使用的位址前置詞。 如需詳細資訊,請參閱服務標籤。
檢查套用至虛擬機器流量的安全性規則
使用 NSG 診斷來檢查從 Bastion 子網路到虛擬機器之流量所套用的安全性規則。
在入口網站頂端的搜尋方塊中,搜尋並選取 [網路監看員]。
在 [網路診斷工具] 底下,選取 [NSG 診斷]。
在 [NSG 診斷] 頁面上,輸入或選取下列值:
設定 值 目標資源 目標資源類型 選取 [虛擬機器]。 虛擬機器 選取 [myVM] 虛擬機器。 流量詳細資料 通訊協定 選取 [TCP]。 其他可用的選項包括:Any、UDP 及 ICMP。 方向 選取 [輸入]。 其他可用的選項是:輸出。 來源類型 選取 [IPv4 位址/ CIDR]。 其他可用的選項是:服務標籤。 IPv4 位址/CIDR 輸入 10.0.1.0/26,這是 Bastion 子網路的 IP 位址範圍。 可接受的值為:單一 IP 位址、多個 IP 位址、單一 IP 前置詞、多個 IP 首碼。 目的地 IP 位址 將預設值保留為 10.0.0.4,這是 myVM 的 IP 位址。 目的地連接埠 輸入 * 以包含所有連接埠。 選取 [執行 NSG 診斷] 以執行測試。 NSG 診斷完成檢查所有安全性規則之後,會顯示結果。
結果顯示,有三個安全性規則會針對 Bastion 子網路的輸入連線進行評估:
- GlobalRules:此安全性管理規則會使用 Azure 虛擬網路管理在虛擬網路層級套用。 此規則允許從 Bastion 子網路到虛擬機器的輸入 TCP 流量。
- mySubnet-nsg:此網路安全性群組會套用在子網路層級 (虛擬機器的子網路)。 此規則允許從 Bastion 子網路到虛擬機器的輸入 TCP 流量。
- myVM-nsg:此網路安全性群組會套用在網路介面 (NIC) 層級。 此規則拒絕從 Bastion 子網路到虛擬機器的輸入 TCP 流量。
選取 [myVM-nsg] 的 [檢視詳細資料],以查看此網路安全性群組擁有的安全性規則詳細資料,以及拒絕流量的規則。
在 myVM-nsg 網路安全性群組中,安全性規則 DenyVnetInBound 會拒絕來自虛擬機器 VirtualNetwork 服務標籤位址空間的任何流量。 Bastion 主機會使用位址範圍中的 IP 位址:10.0.1.0/26,其中包含 VirtualNetwork 服務標籤,以連線到虛擬機器。 因此,DenyVnetInBound 安全性規則會拒絕 Bastion 主機的連線。
新增安全性規則以允許來自 Bastion 子網路的流量
若要使用 Azure Bastion 連線到 myVM ,網路安全性群組必須允許來自 Bastion 子網路的流量。 若要允許來自 10.0.1.0/26的流量,請新增優先順序高於 DenyVnetInBound 規則的安全性規則,或編輯 DenyVnetInBound 規則以允許來自 Bastion 子網路的流量。
您可以從網路監看員頁面將安全性規則新增至網路安全性群組,以顯示拒絕虛擬機器流量的安全性規則詳細資料。
若要從網路監看員內新增安全性規則,請選取 [+ 新增安全性規則],然後輸入或選取下列值:
設定 值 來源 選取 [IP 位址]。 來源 IP 位址/CIDR 範圍 輸入 10.0.1.0/26,這是 Bastion 子網路的 IP 位址範圍。 來源連接埠範圍 輸入 *。 Destination 選取 [任何]。 服務 選取自訂。 目的地連接埠範圍 輸入 *。 通訊協定 選取 [任何]。 動作 選取允許。 優先順序 輸入 900,其優先順序高於用於 DenyVnetInBound 規則的 1000。 名稱 輸入 AllowBastionConnections。 選取 [重新檢查] 以再次執行診斷工作階段。 診斷會話現在應該會顯示允許來自 Bastion 子網路的流量。
安全性規則 AllowBastionConnections 允許從 10.0.1.0/26 到虛擬機器的任何 IP 位址的流量。 由於 Bastion 主機使用來自 10.0.1.0/26的 IP 位址,因此 AllowBastionConnections 安全性規則允許其與虛擬機器的連線。
清除資源
當不再需要資源群組時,請將資源群組及其包含的所有資源刪除:
在入口網站頂端的搜尋方塊中,輸入 myResourceGroup。 從搜尋結果中選取 [myResourceGroup]。
選取 [刪除資源群組]。
在 [刪除資源群組] 中,輸入 myResourceGroup,然後選取 [刪除]。
選取 [刪除] 以確認刪除資源群組及其所有資源。
下一步
- 若要瞭解其他網路監看員工具,請參閱什麼是 Azure 網路監看員?
- 若要瞭解如何疑難排解虛擬機器網路路由問題,請參閱診斷虛擬機器網路路由問題。