網路安全性群組如何篩選網路流量

使用 Azure 網路安全組 (NSG) 來篩選 Azure 虛擬網路中 Azure 資源的網路流量。 網路安全組提供基本的流量篩選功能,藉由控制哪些流量可在資源之間流動,協助保護您的雲端基礎結構。 網路安全性群組包含安全性規則,用來允許或拒絕進出多種 Azure 資源類型的輸入和輸出網路流量。 針對每個規則,您可以指定來源和目的地詳細數據、埠和通訊協定。

您可以將數個 Azure 服務中的資源部署到 Azure 虛擬網路。 如需完整清單,請參閱可以部署至虛擬網路的服務。 如有需要,您可以將網路安全組與虛擬機中的每個虛擬網路子網和網路介面建立關聯。 相同的網路安全組可以與您所選擇的子網和網路介面建立關聯。

下圖說明如何部署網路安全組,以允許透過 TCP 連接埠 80 往返因特網的網路流量的不同案例:

網路安全組流量流程圖的螢幕快照,其中顯示 Azure 虛擬機的輸入和輸出規則處理。

請參閱上圖以瞭解 Azure 如何處理輸入和輸出規則。 此圖說明網路安全組如何處理流量篩選。

Inbound traffic

針對輸入流量,如果子網存在,Azure 會先處理與子網相關聯的網路安全組中的規則。 然後,如果存在,Azure 就會處理與網路介面相關聯的網路安全組中的規則。 這個相同的評估順序適用於子網內部流量。

  • VM1: 系統會處理 NSG1 中的安全性規則,因為 NSG1 與 Subnet1 相關聯,而 VM1 則位於 Subnet1 中。 DenyAllInbound 預設安全性規則會封鎖流量,除非您建立明確允許埠 80 輸入的自定義規則。 與網路介面 NIC1 相關聯的 NSG2 不會評估封鎖的流量。 不過,如果 NSG1 在其安全性規則中允許埠 80, 則 NSG2 會評估流量。 若要允許埠 80 到虛擬機, NSG1 和 NSG2 都必須包含允許來自因特網之埠 80 的規則。

  • VM2: NSG1 中的安全性規則會處理,因為 VM2 也位於 Subnet1 中。 由於 VM2 沒有與其網路介面相關聯的網路安全組,因此會接收透過 NSG1 允許的所有流量,並拒絕 NSG1 封鎖的所有流量。 如果網路安全性群組與子網路相關聯,則相同子網路中的所有資源會一起接收或拒絕流量。

  • VM3:由於沒有與 Subnet2 相關聯的網路安全組,因此 NSG2 允許流量進入子網,並由 NSG2 處理,因為 NSG2 與連結至 VM3 的網路介面 NIC1 相關聯。

  • VM4:流量會封鎖至 VM4 ,因為網路安全組未與 Subnet3 或虛擬機中的網路介面相關聯。 如果沒有任何網路安全性群組與子網路和網路介面相關聯,則所有網路流量都會透過子網路和網路介面被封鎖。 根據預設,具有標準公用IP位址的虛擬機是安全的。 若要讓流量從因特網流動,網路安全組必須與虛擬機的子網或網路介面相關聯。 如需詳細資訊,請參閱 IP位址版本。

Outbound traffic

針對輸出流量,Azure 會依特定順序處理網路安全組規則。 Azure 會評估與網路介面相關聯的任何網路安全組中的規則。 然後,Azure 會處理與子網相關聯的任何網路安全組中的規則。 這個相同的處理順序適用於子網內部流量。

  • VM1:NSG2 中的安全性規則會進行處理。 NSG1 和 NSG2 中的 AllowInternetOutbound 預設安全性規則允許流量,除非您建立明確拒絕因特網輸出埠 80 的安全性規則。 如果 NSG2 在其安全性規則中拒絕埠 80,則會拒絕流量, 而 NSG1 永遠不會收到流量,而且無法評估它。 若要拒絕來自虛擬機的埠 80,其中一個或兩個網路安全組都必須有拒絕埠 80 到因特網的規則。

  • VM2:所有流量都會透過網路介面傳送至子網,因為連結至 VM2 的網路介面沒有相關聯的網路安全組。 處理 NSG1 中的規則。

  • VM3:如果 NSG2 在其安全性規則中拒絕埠 80,則會封鎖流量。 如果 NSG2 未拒絕連接埠 80,NSG2 中的 AllowInternetOutbound 預設安全性規則會允許流量,因為沒有與 Subnet2 相關聯的網路安全性群組。

  • VM4:流量會從 VM4 自由流動,因為沒有任何網路安全組與虛擬機的網路介面或 Subnet3 相關聯。

Intra-subnet traffic

請務必注意,與子網相關聯的網路安全組中的安全性規則可能會影響其中虛擬機之間的連線。 根據預設,相同子網中的虛擬機可以根據允許子網內部流量的默認網路安全組規則進行通訊。 如果您將規則新增至 NSG1 ,以拒絕所有輸入和輸出流量, VM1 和 VM2 無法彼此通訊。

藉由檢視網路介面的有效安全性規則,您就可以輕鬆地檢視網路介面中套用的彙總規則。 Azure 網路監看員中的 IP流量驗證 功能可協助判斷是否允許或從網路介面進行通訊。 IP 流量驗證會判斷是否允許或拒絕通訊。 它也會識別哪些網路安全性規則負責允許或拒絕流量。

Azure 虛擬網路管理員的網路驗證器 也可以協助針對虛擬機與因特網或其他 Azure 資源之間的連線能力進行疑難解答。 網路驗證器提供網路安全組規則和其他可能影響連線的 Azure 規則和原則的深入解析。

Tip

為獲得最佳安全性設定,請避免同時將網路安全組與子網及其網路介面產生關聯。 選擇將您的網路安全組與子網或網路介面產生關聯,但不要將兩者產生關聯。 當您在多個層級套用網路安全組時,規則可能會彼此衝突。 安全性規則的重疊通常會導致非預期的流量篩選問題,且難以疑難排解。

Next steps